随着 Rust被亚马逊、谷歌等大厂青睐,越来越多的开发者加入学习大军,但接触之后,不少人纷纷嗟叹,Rust 太难了。在2020年Rust调查报告中,当被问及为什么会停止使用Rust时,有35%的开发者表示他们还没学会,可能是因为没有时间,也可能是因为太难。
而近日 Reddit 上的一篇帖子引起了不少人讨论,不少开发者表示:Rust可能更适合那些编程经验较少的程序员,如果你有1、2年的编程经验,那么入门Rust会更快一些。
yxonic的用户发帖表示:他一直认为自己喜欢Rust的原因来自于自己是一名经验丰富的程序员和自己明确的需求,之所以这样考虑是因为他有C++和Haskell背景以及可以发现不少好东西,例如直接继承和Rust可以解决的一些问题。
截图自Reddit
然而,他最近把Rust介绍给了他的女朋友,她大约有两年的Python的编码经验,没想到,她一下子就爱上了Rust,因此,yxonic认为,Rust对编码经验不足的程序员可能很有意,下面是yxonic跟女朋友总结的一些Rust优点:
-
在cargo(也许也有cargo-edit)的帮助下,立即开始一个项目和编写代码是非常容易的,并且所有的测试、文档、lint、vcs 等都可以直接使用。而Python在这方面做得非常糟糕,以至于yxonic女朋友对Rust中的简单性感到震惊。 -
理解和照例子编写不需要深入理解。实际上,在阅读文档和 reqwest、rocket 等 crate 等示例后,做一些真正的事情会很容易。一个程序想要做什么已经很好地表达了,而它究竟是如何完成的并不重要。 -
话虽如此,Rust 鼓励开发者更多地理解“how”,更重要的是,它让编程变得有趣和有益。感觉就像通过学习每个 Rust 概念来学习编程和计算机。你进行的每一步都会带给你一些东西,不像在 Python 中,你只需要记住那些花哨的特性、奇怪的约定和微小的差异,但这些并不能促进开发者对编程的理解。
尽管yxonic是通过与Python对比才得出了上面的结论,但这些观点可能也适用于其它编程语言,并且他希望Rust能够得到更多初级程序员的喜爱,让他们对编程产生真正的兴趣,并帮助大家变的更加自信和专业。
没想到这一观点得到了许多开发者们的响应,不少程序员纷纷抛出了自己的观点,笔者摘取部分点赞较多的跟大家共享:
nicoburns的评论获得了162个支持:
nicoburns 认为 Rust 非常适合拥有一两年经验的程序员。 他表示:Rust可能不适合小白类的初学者(例如仍在学习什么是变量、数组、循环的人)。 对于完全的初学者,他认为即使是像 Java 这样的语言也有太多的障碍,你真的需要像 Python 或 JavaScript 这样的动态语言。当然,您可以直接深入学习 Rust 或 Java,但学习曲线会更陡峭。
IshKebab,43个支持:
IshKebab认为Python缺乏编译时的静态类型检查机制,这会阻碍初学者快速上手,在编写 Python 代码时,你仍然需要了解类型。 在设计程序时,你也需要考虑它们。 但是 Python 让程序员将所有这些都记在脑子里,或在临时注释中。 在这方面Rust和Python的设计初衷是一致的,只是方法不同。Rust变量所有权检查机制强迫开发者编写代码时,就必须要考虑类型的问题,只要程序能编译通过就不会有类型的错误产生,在实战中Rust的类型检查方案确实减轻了开发者的负担。 (是的,Python现在有静态类型提示,但是 a)它们很糟糕,b)初学者教程不使用它们,c)生态系统的一半仍然没有类型化,所以使用它们很痛苦。)
针对本文的观点,笔者细想一番,无论你学习何种技术,0基础跟有点经验总归是有区别的,有时候入门跟上手就在那一瞬间,一旦能Get到某些点,那可能就是不一样了,用句学习上的老话:“哎,开窍了”。对此,你怎么看?
|