Python|Java与Python:哪种编程语言最好?( 二 )


“识字编程”问题
编程语言的学习曲线在很大程度上取决于你当前的知识、预期的语言使用和学习环境 。 例如 , 如果你已经知道如何在C、C++或JavaScript中编程 , 那么学习java可能相对容易 , 尤其是如果你只想编写应用程序代码 。 但是 , 如果你以前从未编程过 , 并且打算使用该语言为科学界创建输出 , 那么Python可能是更好的选择 。 Python是当前学校的首选语言 , 因为它帮助人们非常快速地构建良好的编码技术 , 并且有着广泛的用途 。
代码表示也是两种语言之间越来越重要的区别 。 在过去 , 开发人员主要使用代码来创建应用程序 。 代码通常由其他开发人员和机器阅读 , Java简洁的语法在很长一段时间内占据优势 。 然而 , 现在不同的观点和技能的人使用编程语言 , 因为他们工作的各种各样的目标(不一定是应用程序开发) , 你还需要考虑他们的需求和技能 。 Python在这方面可能有优势 , 因为它完全支持斯坦福大学计算机科学家DonaldKnuth最初构思的识字编程方法 。
当使用识字编程技术时 , 单个文档包含代码、解释性散文、图形、图片和各种其他材料 , 但代码仍然在环境中完全可执行 。 这允许演示者或非程序员以很少有开发人员认为是“编写代码”的方式使用环境 。
识字编程在以下几个方面表现出色:集会示威、协作、研究、教学、演示 。
Python通过IDE(如Leo和JupyterNotebook)直接支持此类环境 。 你还可以使用特殊说明将此支持添加到其他编辑器 , 例如Atom 。 相比之下 , 在使用Java的类似环境中工作时 , 环境会让人感觉被拴住了 , 学习曲线会更高 。

性能比较
一些开发人员认为“解释”总是意味着“慢” 。 Java用户通常会说 , “当然 , 用Python或任何你想要的语言编写它 , 但是当你需要你的应用程序扩展时 , 你必须用Java重写它 。 ”
将一种语言的速度与另一种语言的速度进行比较的问题在于 , 这往往取决于环境——在实验室环境中 , 你可以创建一种语言优于另一种语言的测试 , 但重要的结果是你在现场看到的结果 。 此外 , 还必须考虑诸如使用的库和用于创建应用程序的编码风格(至少使用Python)之类的问题 。 这是因为Python支持多种编码范式 。 比较使用函数范式和面向对象范式风格编写的Python应用程序的Python性能 , 结果可能会在难以预测的方面有所不同 。
同样重要的是要考虑语言的不同版本如何影响性能 。 在现实世界中 , 并不总是比较最新版本 。 在Java方面 , 大多数应用程序都比当前版本落后2-3个版本 。 在Python方面 , Python3.x的运行速度通常比2.x快 , 但只使用专门为Python3.x优化的库 。 因此 , 尽管这似乎适得其反 , 一些数据科学程序员(和其他人)仍然选择使用Python2.x而不是3.x来利用特定的库 。 请注意 , Python社区一直在努力实现从2x到3x的转换 , 目前正在维护这两个fork 。 尽管如此 , 随着Python2.x的生命即将结束 , 你需要一个强有力的理由来选择Python2.x用于新项目 。
归根结底 , 性能是一个极其复杂的指标 。 哪种语言运行得最快通常取决于环境如何编写、使用和运行代码 , 更不用说库和其他外部贡献者的影响了 。
市场份额和社区
重要的是 , 这两种语言都得到了大量活跃用户社区的支持 。 全世界都有Java用户组(JAG) 。 Java程序员也可以参加大型的、引人注目的活动 , 比如JavaOne 。 Python社区也很强大 , 在191个城市和37个国家拥有1637个Python用户群 , 吸引了860000多名成员 。 Python活动的范围从PyLadiesMeetup到PyCon和许多其他活动 。选择java或Python(或者C , C++ , 或者其他任何广泛使用的语言)是一个坚实的举措 , 如果你的主要目标是开发一种市场化的技能 。 懂这些语言中的任何一种都能帮你找到工作 。 更好的是 , 学习几个最流行的选项是个好主意 。