本文作者做了11年的PHP,不过最近开始投向Python阵营了。下面将对PHP和Python两种语言各自的特性进行一些描述,也许对你为项目选择合适的语言也有一定的帮助。
看PHP和Python:PHP的问题
我之所以放弃PHP,原因首先是语言。PHP实际上不是一种语言,而是一种巨大的插件结构
,以一种高层的形式来展示低层的库。而大部分开发者使用的语言实际上是对C功能 (curl, mysql, gd, etc.)的包装,通常情况下它们的库展示得很简单。因而这导致了PHP的API不一致
。
PHP语言的第二个问题是语言的管理问题。PHP语言实际上是由委员会来设计的,而且没有人来制定任何共识性的标准
。PEAR有自己的标准,PHP有自己的标准,这导致SPL classes更具Java风格,而PEAR却截然不同。
从事PHP开发11年来,我认识了很多PHP领域的专家级开发者,它们对PHP也有很多看法。除了上文提到的委员会问题以及标准混乱问题之外,由于PHP的使用范围非常广,向后的不兼容
对代码造成了很大的破坏。
还要提到的一点是PHP缺乏很多现代语言的特性。现在再来说说Python:
PHP和Python:Python的优美之处
Python语言的创建方法几乎与PHP的完全相反。首先,Python是由Benevolent Dictator和Guido van Rossum领导的,语言的开发由单一的人员主导,因此它的开发、管理以及长期运营会保持很好的连续性。Guido和Python的核心开发者通过PEP创建标准,而且通过公共接口展示标准是如何创建的。而且,Guido如果想到的语言特性不够好,也不会出现在语言层中(如没有++运算符,而且比较符中没有分配)。
延续性的特点也延伸到了整个Python社区,所以你很难发现不同项目中的Python截然不同。
我最喜欢的Python的一个特点就是它的清晰。当打开Python中的一个文件的时候,我会清楚地知道里面大概有什么样子的代码,联想到很多次我被PHP的这一点搞得焦头烂额,我觉得这个特性非常有用。
总之,Python的系统级特性非常不错。
Python另外一个很棒的特性是直白性。需要namespace(命名空间)?文件的名字就是命名空间;需要模块?只需要用一个__init__.py文件代替;需要重命名功能?只需要new_func = old_func。
分享到:
相关推荐
Python3.6.4是Python编程语言的一个稳定版本,发布于2017年,它在Python3.6系列中引入了多个重要特性和改进,为开发者提供了更强大和高效的功能。这个压缩包包含了与Python3.6.4相关的两个主要文件:Python3.6 中文...
总之,《Think Python: 灵魂思想》是一本全面而深入的Python教程,它不仅涵盖了Python的基础知识,还深入挖掘了Python的内在哲学。通过阅读本书,读者不仅可以学会Python语言,还能理解其背后的编程思维,从而更好地...
David Beazley是Python界的老手,他自Python 1.3版本开始使用Python,并且是《Python Essential Reference》一书的作者。同时,他还负责过一些开源的Python相关项目,比如Swig、PLY等。他的背景显示了他在Python领域...
PHP基础教程,绝对的推荐,适合新手,老手! 看看吧。
这个压缩包包含一个名为"Python100经典练习题.pdf"的文件,这是一份包含了100个Python编程问题的文档,涵盖了Python的基础到进阶概念。通过解答这些问题,学习者可以深入理解Python的核心特性,提高编程技巧,并提升...
得到它,而在 Python 2 中没有 ... 这个语法,只能直接写 Ellipsis 来获取。 Ellipsis 可以转换为布尔值,值为真。最后,这东西是一个单例。 Ellipsis 的用途有两个:一是 Numpy 的一个语法糖,另一个是在 Python...
《Python Crash Course 2nd Edition》是一本广受欢迎的Python编程入门书籍,旨在帮助无论是初学者还是有一定经验的程序员快速掌握Python语言的核心概念和技术。这本书以其清晰易懂的讲解方式和丰富的实践项目著称,...
Python 3.8 是Python编程语言的一个重要版本,它带来了许多新特性和改进,使得这个已经广受欢迎的编程语言更加高效、易用。中文官方文档是学习和掌握Python 3.8的重要资源,尤其对那些英语不是母语的学习者来说,它...
简明python教程+源代码,英文原版名为《A Byte of Python》。它非常简明扼要地介绍了Python语言基础的各个方面。 适合群体: 仅仅临时使用Python的新手,非专业性地临时运用十来行简单代码就能自动化处理一些工作。 ...
通过逐个学习并动手实践这些小例子,你将能够逐步提升Python编程技能,无论你是新手还是老手,都能从中获益匪浅。记得,理论与实践相结合是学习编程的不二法门,不断地尝试、调试和改进,会让你的Python之路更加坚实...
这个插件是JetBrains公司为开发者设计的,旨在使非Python原生的IDEA能够完美地支持Python开发。安装了Python插件后,IDEA将具备以下功能: 1. **语法高亮与智能提示**:Python插件提供了对Python语法的高亮显示,...
Python是一种高级编程语言,以其简洁明了的语法和强大的功能而受到全球开发者的喜爱。Python 3.5.9是Python 3.x系列中的一个重要版本,它提供了许多更新和改进,旨在提高性能、稳定性和安全性。这个压缩包“Python-...
Python是一种广泛使用的高级编程语言,以其易读性、简洁的语法和强大的功能而闻名。这份“Python速查表和全套手册”是学习和提升Python技能的宝贵资源,尤其适合初学者进行查阅和参考。 速查表通常包含常用语法、...
Python是一种广泛使用的高级编程语言,以其易读性、简洁性和高效性而闻名。"Python宝典"通常是指一系列深入讲解Python编程的书籍或资源集合,旨在帮助初学者和经验丰富的开发者掌握这一强大的工具。以下是对这些PDF...
Python是一种高级编程语言,以其简洁明了的语法和强大的功能深受程序员喜爱,广泛应用于Web开发、数据分析、人工智能、自动化测试等多个领域。这个“Python大礼包.zip”似乎包含了一系列的Python学习资源,对于初学...
《Python Tricks: A Buffet of Awesome Python Features》是一本专为Python程序员精心准备的秘籍,汇聚了众多鲜为人知却极其实用的Python编程技巧与高级特性。本书如同一场知识盛宴,带领读者深入Python的每一个角落...
Python-Nubia是一个专为Python开发者设计的轻量级框架,用于快速构建高效且功能丰富的命令行和交互式shell应用程序。这个框架使得开发者能够轻松创建具有复杂逻辑和用户交互的命令行工具,而无需深入底层实现细节。...
这个“IronPython-2.7 for VS2010”是专为Visual Studio 2010设计的版本,让开发者能够在VS2010的环境下方便地编写、调试和执行Python代码。 首先,我们要理解IronPython的核心特点。它是Python解释器的一个变体,...
虚拟环境版本可以让玩家自由操纵源码,而无需直接下载Python。 3. 虚拟环境版本为一些新手较为友好,其中会有level.py教各位玩家如何配置所有配置文件。 4. 虚拟环境版本由于里面内嵌了一个Python,因此体积稍微...
书中提供了多个示例来说明如何按照PEP 8的要求编写代码,并解释了为什么这些规则对于保持代码整洁至关重要。 #### 知识点五:项目管理与自动化工具 本书详细讲解了如何使用工具如pipenv、tox等来管理项目依赖和...