许多后端业务都是用Python编写的,每个基本微服务至少有数万行代码。 每一个项目并没有增加到几百万行或至少几十万行。 现在基本上,Java、GO、Python都有。
有些同事讨厌动态的语言,觉得很累。 先前的学术研究专门计算了github上不同语言项的错误率,并得出结论,静态语言确实不容易出错,并且更易于维护。 动态语言需要良好的工程实践来控制,但灵活性和表达能力更强。 如果它真的是一个非常大的单一项目,静态语言确实是更好的选择,支持统计。
脚本语言只是在互联网时代才逐渐流行,而互联网公司很少使用单一的体系结构,大量的服务代码用于项目的维护、开发、部署,网上都是灾难,很多是微服务体系结构。 许多语言都能胜任微服务体系结构,几乎所有语言都有成功的业务项目,甚至许多动态语言都具有快速原型化的优势,即使它们在未来遇到瓶颈重构服务也不太困难。
下面是一些众所周知的Python项目代码统计,目前最大的Python项目应该是开放堆栈,达到了一百万行,但大多数大型项目高达几十万行。 如果是一个商业项目,目前不可能有一百万行。 目前,国内很多Python公司或中小企业,可能只有大型服务、大型网站,不太可能出现超大型的单个项目。 如果项目团队不被排除在编写Python之外,Python可以在许多项目中使用。 Python在爬虫、网站、数据分析等领域有成熟的解决方案。 一开始就不需要太纠结于技术选择。 也许工程控制,代码质量更重要。
还有一些未列出的特性。 仔细想想,以上特点并不缺乏相互对立,如何实现平衡,完全取决于应用环境。 这些特征将与设计哲学相互作用,并最终决定编程语言的写作风格和使用。
但最终,编程语言的设计主要是在成本最小化的基础上尽可能地解决问题。
此外,没有从体系结构的角度考虑开发和操作、维护和用户操作之间的关系,生成的内容必然会被删减,并且难以维持。 不要轻视编程语言随便。 它必须是有用的,如果它被发明了。 正确的语言在正确的时间内解决正确的问题更为重要。
写Python几年,写CPP几年,写CS几年,Python做一个大项目是没有问题的,不比其他主流语言差,项目的可控大小,主要取决于人,当然不是语言——语言,有区别,但不是大量宣传。 至于开发工具,高级开发人员根本不依赖开发工具。 Python本身并不是一种依赖代码完成和其他功能的技术。 习惯的组合是Emacs + IPython + Python模式,它使用DOCTREST作为TDD并且是高效的。 最近,很多崇高的文本被使用,没有任何感觉,我不能离开习惯的环境。
至于运行时的错误,这取决于自动化测试的级别。 Python项目的bug将不会高于CPP或Java的bug。
如果使用不当,一切都是不好的语言。 这是一种相当廉价的态度。
用Boost进行实际开发?那些没有被编译器抓到的人是快乐的。
你能用STD:C做风格的轮子吗?没有被STD感染的人:串效率问题是快乐的。
为什么python不适合开发网站
Python超过1K行是灾难?这些语法正确性完全取决于由提示提示写入的1K行代码。 最好的软件工程工具是语言无关的:单元测试,按合同设计。 除了非常少的特殊语言(Eiffel,AspectJ),它基本上是由图书馆和程序员手工完成的。
公司可以招聘像谷歌这样的人,他们可以使用任何语言。 如果没有,尽早放弃C++,修复新来的坑,并帮助古庙。
至于性能问题…没有谷歌的规模,性能问题就不需要从全球角度来解决。 找到一个热点并用适当的工具替换它。 这是一个可行的项目。 此外,Python是一种易于用C语言扩展的语言。
Perl,Python,Go,甚至Java。 这些语言的问题在于它们从未被取代。 它们都解决非常特定的问题,所以当新语言在当前语言框架之外解决新的特定问题时,旧语言会失去许多用户。 GO的协同程序,Python的语法简单明了,Perl的字符串处理效率和准备运行,Java的库和GC,从左到右就是回溯波和前向波之间的关系。 用正确的工具解决正确的问题是每个程序员和架构师都应该做的。