社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

50 岁老码农:Python Bug 太多,我选 Rust 和 Go!

CSDN • 6 年前 • 746 次点击  

作者 | 伍杏玲

责编 | 唐小引

出品 | CSDN(CSDNnews)

这里有一位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有“三宗罪”:

  1. Lars Wirzenius想从编程工具中得到更多的帮助,比如静态类型检查、更好地处理抽象和代码模块,让他编写出更大、更复杂的软件(但Python没有)。

  2. 他正在编写更具挑战性的软件,并试图从现有的硬件条件中获得更多的帮助(但Python并不能)。

  3. 他没有感觉到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呢?欢迎来留言哦!

参考资料:https://news.ycombinator.com/item?id=19475218

 热 文 推 荐 

☞让苹果“沦为配角”的华为都发布了什么?

☞势逼 React Native,跨平台开发框架 Flutter 很凶猛 | 码书

☞黑客少年手机编 10 万行代码,恶意篡改 App 只为了 “炫技”?

☞日本高中生开发酷炫“扔瓶子”机器人,想砸谁就砸谁

苹果春季发布会:库克绝不玩别人玩剩下的!

在线公开课 | 从理论走向实践,多角度详解Cloud Native

中国区块链职业发展现状: 30岁前不做开发; 平均薪资仅38.4万; 跳槽薪资涨三成 (附完整报告下载资源)

上海交大CV博导微信群辱骂学生,已停止教学

现实!程序员只有跳槽才能涨薪吗?

System.out.println("点个在看吧!");
console.log("点个看吧!");
print("点个看吧!");
printf("点个看吧!\n");
cout 在看吧!" "点个 看吧!");
Response.Write("点个看吧!");
alert("点个看吧!")
echo "点个看吧!"

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30286
 
746 次点击