选择要学习的技术和选择要上的大学一样重要, 如果选错了, 你将来不仅得不到自己喜欢的高薪工作, 反而会弄得一堆麻烦. 如果你打开了这篇文章, 说明你已经考虑选择 Python 开发作为你以后的职业了.
在这篇文章里, 我们会详细找出 Python 和其他语言相比的优势. 我们会指出 Python 与 Java, Ruby, PHP 和 C# 的差异, 帮你了解你所需要的技术. 但在开始之前, 我们先看下 Python 能做什么, 谁使用它, 为什么使用它.
为什么用 Python, 它能用在哪儿, 能做什么呢?
Python 在约 40 年前出现以来, 已经有数以千计基于这项技术的网站和软件项目, Python 因其独有的特点从众多开发语言中脱颖而出, 深受世界各地的开发者喜爱.
01 Python 有什么优点呢?
下面, 我们列举了 Python 最显著的一面. 所有这些优点使它非常流行, 也正因于此, 众多跨国公司选择了 Python 作为他们的编程语言, 关于这些公司的更多信息, 您可以阅读我们之前的文章.
1. 简单
我们可以说 Python 是简约的语言, 非常易于读写, 遇到问题时, 程序员可以把更多的注意力放在问题本身上, 而不用花费太多精力在程序语言, 语法上.
2. 免费
Python 是免费开源的. 这意味着程序员不用花钱, 就可以共享, 复制和交换它, 这也帮助 Python 形成了强壮的社区, 使用它更加完善, 技术发展更快. 专业人士可以在社区和初学者分享他们的知识和经验.
找到你可以使用的开源库会得到什么好处? 削减一半的项目支出!
3. 兼容性
Python 兼容众多平台, 所以开发者不会遇到使用其他语言时常会遇到的困扰.
4. 面向对象
Python 既支持面向过程, 也支持面向对象编程. 在面向过程编程中, 程序员复用代码, 在面向对象编程中, 使用基于数据和函数的对象. 尽管面向对象的程序语言通常十分复杂, Python 却设法保持简洁.
5. 库
Python 社区创造了一大堆各种各样的 Python 库. 在他们的帮助下, 你可以管理文档, 执行单元测试, 数据库, web 浏览器, 电子邮件, 密码学, 图形用户界面和更多的东西. 所有东西包括在标准库, 然而, 除了它, 还有很多其他的库.
02 Python 语言的用途
多年来, Python 在各种流行编程语言中一直排名靠前. 它几乎可以适用任何开发, 它旨在提高程序员的开发效率而不在于他们编的代码. Python 适用于网站, 桌面应用开发, 自动化脚本, 复杂计算系统, 科学计算, 生命支持管理系统, 物联网, 游戏, 机器人, 自然语言处理等很多方面. 而且, 既使对于那些从没有开发经验的人来讲, Python 的代码也是简洁易懂的. 由于 Python 程序代码简单, 所以和与其他程序语言相比, 后期的程序维护更容易, 更舒心. 从商业角度来看, 需要的成本降低, 程序员的效率提高
03 谁使用 Python
Python 开发人员社区不断状大, 支持库持续增多, 使 Python 成为世界上功能最丰富的编程语言之一, 可以适用于任何项目开发. 但我们仍要指出, Python 在科学领域非常流行, 特别是在数据挖掘和机器学习等方面. 为了全面理解 Python 相对于其他语言的优势, 我们将把 Python 和最流行的 WEB 技术做下比较, 先从 PHP 开始.
04 Python 和 PHP
从开发的角度来看, PHP 是面向 WEB 的语言. PHP 应用程序更像是一组单独的脚本, 甚至只是一个单独入口. 而 Python 是多用途语言, 也可以用于 WEB 开发, 基于 Python 的 WEB 应用是加载到内存的完整应用, 有自己的内容声明, 保存所有的查询和请求. 选择 Python 还是 PHP 进行 web 应用开发需要注意以下几点:
Python 和 PHP web 开发的比较
1. 通用性
当今时代, 趋势和流行非常重要, 一些客户和产品负责人只想使用最流行最热门的技术来开发他们的项目, 造成了技术精湛的开发人员却完全没有客户和工作的情况出现. 所以在开始学习任何东西前, 要确保你要学的技术在未来 1,5 或 10 年内仍保持流行, 不会被遗忘.
不过, 你大可不必担心, 因为 PHP 和 Python 都属于世界上最流行的编程语言. PHP 用于构建 Wikipedia, Yahoo, WordPress, Friendster, MailChimp, Flickr 等许多 "巨头", 但不要以为 Python 没什么用, 它也用来构建了 YouTube, Instagram, 桌面版的 Dropbox, Reddit, Bitbucket, Quora, Spotify, Pinterest, Facebook 的内部服务, 以及 PayPal 系统的一部分
2. 框架
当你选择一项技术的时候, 工具的多样性也是极其重要的, 它会使你的工作简单, 方便. 如果一个技术为不同的任务提供了多种工具, 程序员就不必每件事都要从头开始了. PHP 最流行的框架是 Laravel, Symfony, CodeIgniter, Yii 1 and 2,Phalcon 和其他一些, 这些工具能帮你创建功能强大而整洁的应用程序, 而 Python 却没有这么多引以为豪的框架, 最好用的是 Django 和 Flask, 但是, 我们可以向你保证, 随着 Python 社区的成长, 这种情况会很快改变.
3. 学习
这通常是学生第一个想要知道的问题, 学习教育的过程越容易, 意味着开始工作和赚钱越快.
Python 当然是这类的赢家, 它的语法容易, 简单易学, 而 PHP 却不是这样. 掌握 PHP 需要花费很多的时间和努力. Python 允许你犯些小错但不会破坏代码, 给新手一些信心继续学习. 从新手的角度来看, 想学一些更容易, 更灵活的技术, 而 Python 正是这样的技术. 你可以用 Python 创建安全的应用程序, 但使用用 PHP 却需要额外的工具. 不过不要忘记, PHP 是专门用于 WEB 开发的, 也的确用在这方面较多.
05 Java 和 Python 哪个更好?
一些开发人员声称 Python 比 Java 更有效率. 但这应该先弄清 Python 和 Java 之间的区别是什么?
Java 和 Python 的区别
Java 是一种严格的类型语言, 这意味着必须显式声明变量名. 相比之下, 动态类型的 Python 则不需要声明变量. 在编程语言上有许多关于动态和静态类型的争论, 但有一点应该注意: Python 是一种语法简单的功能强大的语言, 能够通过编写脚本就提供优秀的解决方案, 并能够快捷地部署在各个领域.
Java 可以创建跨平台的应用程序, 而 Python 几乎兼容当前所有操作系统. 对新手来讲, Python 比 Javaf 更容易上手, 而且代码易读性强, 但是如果你想你的代码可以在任何地方都能执行的话, 那么还是选择 Java 吧. 不过 Java 的可移植性也是有代价的, 使用 Java 你需要购买更大的机器, 消耗更多的内存, 并且程序更加难以开发.
Java 比 Python 更复杂, 没有技术背景的人学起来并非易事.
06 Python 与 c#
现在再来和看下 c#. 它们的技术差异很大, 但都适用于 web 开发.
Python 对 c# 的比较
简而言之, Python 原本就被设计的类似用英语表达一样, 只要你使用合适的变量名称, 许多表达式就很容易读懂. 另外, 由于 Python 语法简单, 没有像句法括号和大量的修饰词, 各种类 C 的构造和不同的初始化变量, 所以 Python 写的代码易读易学.
同时, C# 从 C++ 和 Java 遗传了很多原始表达的类 C 语法, 更重要的是, C# 语法使我们必须遵循一定的规则来编写自已的方法或是继承类, 伴随而来的是另一大串修饰词, 还有一点不能忘记的是要把代码段放在括号内. 而 Python 只用 SHIFTS 键就可以让代码看上去很整洁.
至于编写脚本方面, 值得一提的是 Python 的脚本是真正的脚本, 能够被解释器执行. 你可以用任何编辑器打开它, 修改后就可以立即运行. 这在手边没有 IDE 或编译器的时候优势十分明显. 而且使用 Python 更容易编写跨平台的脚本, 甚至都不需要重新编译.
但是, 我们要指出 Python 的一个不足, 就是需要在机器上安装脚本解释器, 至少要在一个包或可执行文件里打包上一个解释器, 从而使脚本的大小从几 KB 增加到十几 M, 不过对于现代计算机来说, 十几兆的空间需求基本可以忽略不计, 所以这也不是什么大问题.
而 C# 需要 IDE 来编写程序, C# 的一个好处是, 当你编写基于 WINDOWS 平台的脚本时, 它有强大的各类 WINDOWS 系统组件支持. 例如, 注册表, WMI, 网络等内置工具. C# 可以使用 WINFORMS, 你需要的时候可以很容易地创建图形化接口.
没法说 Python 和 C# 哪个更好, Python 比 C# 更容易学, 开源库更多, 但 C# 的标准库比 Python 的更好, 其性能更高.
07 Ruby 和 Python 的区别
就第一语言而言, Ruby 和 Python 是最受欢迎的. Ruby 是非常流行的构建网站技术, 其中最著名的是 Twitter(早期版本), Basecamp, Github, Airbnb, Slideshare, Groupon.
Ruby 和 Python
Ruby 和 Python 都是面向对象的语言, 都是动态和灵活的. 这些技术的主要区别在于他们解决问题的方式. Ruby 提供了不同的方法而 Python 通常只有一个. 这个事实既是优势也劣势.
最流行的 Ruby 框架是 Ruby on rails. 它和 Django 非常类似, 因为这两个框架都是为了解决相同的任务. 如果我们比较这些技术的社区, 我们会发现他们几乎是一样的, 然而, 形成这些团体的人是不同的. Python 在数据科学和数学方面很受欢迎, 所以在这里你可以找到很多的学者和教授.
记住, 当你开发 web 应用程序时, 可以用 RoR 实现, 也可以用 Django, 两者都是快速高效的. 如果开发偏重于大量计算和数据处理的应用, 应该选择 Python.
任何技术成功的秘密在于围绕它所构建的社区, 不同人群协同工作来确定其未来的发展演变, Python 的支持者是世界上规模最大和构成最多样化的一个团队, 不仅有数以千计的个人开发者, 而且还有诸如谷歌, Yandex, Dropbox, Mozilla, 微软 (在 Visual Studio 中使用), 英特尔等许多巨头公司, 他们和其他许多公司一起, 已经用 Python 创建了世界上最大的和最受欢迎的项目.
来源: http://developer.51cto.com/art/201807/578119.htm