当前位置:网站首页>Rust更适合经验较少的程序员?
Rust更适合经验较少的程序员?
2022-04-23 20:48:00 【不叫月红】
随着 Rust被亚马逊、谷歌等大厂青睐,越来越多的开发者加入学习大军,但接触之后,不少人纷纷嗟叹,Rust 太难了。在2020年Rust调查报告中,当被问及为什么会停止使用Rust时,有35%的开发者表示他们还没学会,可能是因为没有时间,也可能是因为太难。
而近日 Reddit 上的一篇帖子引起了不少人讨论,不少开发者表示:Rust可能更适合那些编程经验较少的程序员,如果你有1、2年的编程经验,那么入门Rust会更快一些。
yxonic的用户发帖表示:他一直认为自己喜欢Rust的原因来自于自己是一名经验丰富的程序员和自己明确的需求,之所以这样考虑是因为他有C++和Haskell背景以及可以发现不少好东西,例如直接继承和Rust可以解决的一些问题。
然而,他最近把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到某些点,那可能就是不一样了,用句学习上的老话:“哎,开窍了”。对此,你怎么看?
版权声明
本文为[不叫月红]所创,转载请带上原文链接,感谢
https://blog.csdn.net/mengyidan/article/details/120653565
边栏推荐
- vulnhub DC:1渗透笔记
- Unity animation creates sequence frame code and generates animationclip
- Queue template code
- How to configure SSH public key in code cloud
- Go limit depth traversal of files in directory
- DOS command of Intranet penetration
- Some grounded words
- Commande dos pour la pénétration de l'Intranet
- Go限制深度遍历目录下文件
- mmap、munmap
猜你喜欢
一些接地气的话儿
MySQL基础之写表(创建表)
Matlab matrix index problem
vulnhub DC:1渗透笔记
Plato farm is one of the four largest online IEOS in metauniverse, and the transaction on the chain is quite high
[SQL] string series 2: split a string into multiple lines according to specific characters
Matlab: psychtoolbox installation
2021-09-02 unity project uses rider to build hot change project failure record of ilruntime
Zhongchuang storage | how to choose a useful distributed storage cloud disk
How to use PM2 management application? Come in and see
随机推荐
laravel 发送邮件
How many hacking methods do you know?
pikachuxss如何获取cookie靶场,返回首页总是失败
MySQL 存储过程和函数
Go zero framework database avoidance Guide
CONDA environment management command
Another data analysis artifact: Polaris is really powerful
6-5 string - 2 String copy (assignment) (10 points) the C language standard function library includes the strcpy function for string copy (assignment). As an exercise, we write a function with the sam
mmap、munmap
Matlab matrix index problem
Bracket matching -- [implementation of one-dimensional array]
Lunch on the 23rd day at home
Summary and effect analysis of methods for calculating binocular parallax
Syntax Error: TypeError: this. getOptions is not a function
unity 功能扩展
Learn to C language fourth day
DOS command of Intranet penetration
Leetcode 74. Search two-dimensional matrix
Some grounded words
Recommended usage scenarios and production tools for common 60 types of charts