在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
这里有一位IT界的老司机,不,是久经沙场的老码农: Linux专家,几十年来开发不少免费的开源软件;Linux之父的同窗好友,见证Linux的崛起;当过大学老师,担任过多家企业的首席技术官;会芬兰语、瑞典语、英语、德语四国语言。 他就是Linus的好友——Lars Wirzenius。 作为88年便成为赫尔辛基大学的计算机科学系的学生,Lars Wirzenius写代码已有30年,可谓是编程界的“老司机”了。可最近这位老司机引起程序员们的热议,为什么呢? 面对正大热的Python,自1993年就开始使用Python的他竟说:“不要用Python,去学Rust和Go吧”。 老码农炼成记 从2000年以来,Python是Lars Wirzenius的“心头好”,一直用它编程。可最近几年,Lars Wirzenius竟对Python竟有“两看相厌”的不满意,他直言Python有“三宗罪”: Lars Wirzenius想从编程工具中得到更多的帮助,比如静态类型检查、更好地处理抽象和代码模块,让他编写出更大、更复杂的软件(但Python没有)。 他正在编写更具挑战性的软件,并试图从现有的硬件条件中获得更多的帮助(但Python并不能)。 他没有感觉到Python社区正朝着他想遵循的方向发展。相反,社区还往他不喜欢的方向去发展。(他看不惯) 嗯,一个傲娇码农炼成记。 接着Lars Wirzenius话题一转,唠嗑到他写了十多年但宣告失败的“亲儿子”——Obnam: 他从2006年开始用Python编写Obnam备份服务程序,Obnam大约有15000行Python代码,但该项目最终在2017年宣告结束。他说,Python很好,具有一定的程序规模和复杂性。但—— (开始发好人卡了) 他经常在Python的一些静态的、强类型的地方遇到Bug。他说:像Python这样的语言需要程序员自主控制的地方很多。 所以他决定要弃 Python,那么接下来该用什么语言编程呢?老码农将目光转移到TA 老码农为什么会弃 Python 投奔 Rust和Go Lars Wirzenius学了几个月的Rust和Go,感觉良好,可以想象他对这两个语言“比心”点赞道:“这两个语言都有强大的静态类型系统;都有不错的模块系统;两者很好地支持并发性。” 于是他决定“贪新忘旧”了:我是写大型软件的,这两个语言都可以很好地替代Python。 在两者中,Lars Wirzenius更喜欢Rust,因为它“有更好的类型系统、更好的编译器、更好的工具”。并连连打call:“它吸取了过去三个世纪编程语言和工具的经验!” 目测Rust已化身为Lars Wirzenius的“缪斯女神”:“(Rust)的设计方式是有充分理由的!” Python vs. Rust 和 Go,开发者们都怎么选? 那么网友对Lars Wirzenius“迷弟”般的言论有什么看法呢? 正反:比起Python,我也会选Rust和Go @lordnacho 我也会选择Rust和Go,但是基于和Lars Wirzenius不同的原因。 当程序员编写任何“脚本”时,Python仍然是最好的语言:上手快;类型少,使用起来很明显;性能不是问题。 我认为Python最终是用来粘合代码。用来做粘合代码的语言应该有一个很大的libs生态系统,并且它是易于阅读。综上所述,Python有以下优点:空白的格式便于阅读,还可以使用一些内置的list/dict语法,让代码更加整洁和简短。 对于Web服务来说,当你需要更快的node.js但你不想花费太多时间去选择一个C++版本时,选择Go是一个很好的选择。 @littlestymaar: 我已经开发过一个100 KLOC静态类型的项目,我可以看到静态类型(语言)是如何搭建更小的代码库。当然我不能在写完一千行JavaScript时,也不会遇到一个“undefined不是一个函数“这样的错误。没错,你可能会觉得我是一个糟糕的程序员,但我确实发现静态类型(语言)很有用。而且与Java、C#或Go相比,Rust的确非常好。 反方:人生苦短,我只选Python @dkersten 我非常喜欢Python,自2001年以来,我一直在使用它,并且多年来一直是一个非常顽固的Python爱好者。 @typon 然而,整个数据科学世界都建立在Python之上。我不明白(大家)对这种现实的公然无视。 当然还有这种,越学越High的程序员: @atoav 当我开始学习Rust时,我是一个学了一年Python的程序员,我想要一个强类型的快速替代Python(的语言)而不需要垃圾回收。 我读过一些关于Rust的东西,它看起来很有趣,足以满足我的程序。我尝试用了下它,并且比我预期更喜欢它,现在我用它比用Python多。 有趣的是,在我学习了Rust之后,我对C和C ++等语言的兴趣增强了。它给了我一个关于C ++的良好新视角,并且包含了大量好的模式和概念,这些模式和概念在其他语言中变得有用。 你怎么看? 最后Lars Wirzenius爆料说,其实自己还没用 Rust 和 Go 写过什么重要代码,上面的说的鼓励大家“学 Rust 和Go,不用Python”仅仅是根据他几个月的看书学习来谈的,他直言后续随着他的深入学习,没准想法会有所改变。 那么作为开发者的你,是看好正大热的动态语言Python,还是静态语言 Rust和Go呢?欢迎来留言哦! |
请发表评论