织梦 调用网站地址,山东人才招聘信息网官网,在成都如何找到做网站的公司,网站内容结构Python 3毫不费力地成为发生在Python社区里最糟糕的事。我还记得第一次使用Python的时候#xff0c;我还在花大量时间在C这块上#xff0c;而Python就像是我的一次开光。我可以打开文本编辑器用几秒钟或者几分钟写出一个可以工作的程序#xff0c;而不是用几小时或几天。我记…Python 3毫不费力地成为发生在Python社区里最糟糕的事。我还记得第一次使用Python的时候我还在花大量时间在C这块上而Python就像是我的一次开光。我可以打开文本编辑器用几秒钟或者几分钟写出一个可以工作的程序而不是用几小时或几天。我记得Python 2.5出来的时候带来了一大堆崭新的简洁的语言特性。我爱Python但是我承认它有弱点但是没关系所有编程语言都有。它强大的地方使其变得有趣。Python 3相比Python 2拥有一些小小的增量的改进但同时却失去了很多Python 2强大的东西。Python 2强大的一个地方是它身后巨大的第三方库恩可以做任何事。Python 3没有这个。是的很多库已经移植了但是仍然有数以十倍的库没有移植过去而且也不太容易。举个例子你需要解析X格式而X解析起来并不简单它不是常见的像YAML或JSON的格式。很有可能这个为X的解析器在Python 2里已经写好了但是还没有移植到Python 3。另外考虑到Python 2的字节字符串(str)和Python 3的字节字符串(bytes)之间的根本不同移植起来将不会那么容易。事实上会很难移植并且需要一点移植技巧像维护Python 2和Python 3的兼容性那样。因此你有一些选择可以用Python 2(一个被弃用的语言)快速写你的app导入一些库(还有它们所有的依赖)可能会有十倍之长或者可以用另外的编程语言它也有很多第三方库但是不会面临Python 2/3的问题。第二个选择显然不是很流行因为不然我们就有大量Python 3写的app产品然后Python 2的一大批库会被移植过来。(译者注这个逻辑貌似有点问题)这两种都没有发生。人们要么继续用Python 2写软件要么选择另一个不自己打脸的语言。另外一个Python 2的强大之处是用它写的程序几乎总是能够不用大量修改而运行在Python的下一个版本上。如果你的公司运营在用Python 2写的软件上(就像很多公司那样)移植到Python 3将会消耗大量资金因为你的requirements文件可能十分大并且充斥着各种还没有移植到Python 3的库。没有哪个理智的商业理由会花成百上千甚至百万美元价值的开发时间来移植到Python 3。如果相比更便宜的话你都可能会要求某某把他们整个代码库移植到Ruby。现在如果你必须要重写你的软件的话你会选择Python 3吗不。那些支持Python 2和3的比较流行的库几乎都只用该语言的子集这样在两个平台上就都能运行。SQLAlchemy我喜爱的Python库之一它这样做的很好。Django也如此但是做得不那么好。这个语言子集我会称之为Python X使用起来很没意思需要一些奇淫技巧并且通常没有Python 2或者Python 3强大。把Python 2的库移植到Python X有意思吗很可悲的是一点意思都没有因为令Python伟大的就是这些乐趣。Python 2很可悲已经被弃用了。Python 3颓废得没人用。Python 3的改动不大。没有带来多少好处但缺失去了很多。在过去的几个月我用Python 3构建了一些项目和服务。我没有被它打败。这很像用Python 2写软件除了只能获得很少的一些库。这里没有什么令人惊叹的事情。Python社区在过去的几年本应该转移到Python 3了但是结果就是越来越明显看到人们转移到新的语言(或者重新发现的旧语言)上。这些语言有些也有很好的特性像强大的输入系统模式匹配更出色的性能更好的多线程和并发更简单的外部函数接口(FFI)更漂亮的lambda语句等等。一个方案是fork Python 2.7然后继续发展这门语言加入一些尽量向后兼容的特性这样那些不能移植(由于一些财政方面的约束)的Python 2应用程序可以继续演进和改善进而给那些投入如此多时间开发他们的公司或个人带来价值。这才是需要去做的正确的事(事实上如果Guido和Python社区里其他主导人能够官方地做这件事而不是强迫大家fork那会是最好的)。Python 3里的特性可以向后移植到Python 2然后发布Python 2.8。那些已经花时间用纯Python 3写新的软件的人可以使用例如3to2的工具变成与Python 2.8兼容。Python 3然后就可以为了Python库维护者们能够用Python 2代替Python X而安静地离去。还有一些其他的方案但是拯救Python 2显然是要做的正确的事所以也不值一提了。Python 2的拯救不会来自官方因为负责这类事的人表现出了对Python 2使用者极大的鄙视。如果社区的人不团结起来拯救Python 2Python 3数年之后会成为Python的标准然后很多库将要被移植(尽管很多肯定不会)然后很多的投入也将会白费。社区那时候会大量的萎缩并失去往日的光芒。参考Perl。人们将把它遗忘。