专栏首页顶级程序员相较其他语言,Python到底好在哪儿?

相较其他语言,Python到底好在哪儿?

源 | 顶级程序员 编译 | 侯敏霞、谢忱、王一丁

就个人发展而言,选择学习的技术与要就读的大学可谓同等重要。如果决定做错了,那往往会收到一堆麻烦,而不是想要的高薪工作。我想,现在你点开这篇文章,就代表你已考虑选择Python开发作为未来的就业方向。

这篇文章中,我们将通过探究“信息技术”本身来找出Python与其他语言相比所具有的优势,通过对比Python和Java、Ruby、PHP以及C#之间的差别让你了解你需要了解的技术方面。在进行比对之前,让我们先来看看为什么要用Python以及谁在用它。

Python都被用在哪儿?

自40年前Python创建以来,基于此项技术的网站和软件项目已经有了数千个。Python由于其独特性使其在各种编程语言中脱颖而出,在全世界拥有大量拥趸。

Python的优点是什么?

1. 简单 我们可以说Python是一种简约的语言。写和读是非常容易的。当需要考虑问题的时候,开发人员可以关注问题,而不是语言和语法。

2. 免费

Python是免费且开源的。这意味着开发人员无需支付任何费用。他们可以共享、复制和更改。这一事实也帮助Python创建了一个非常强大的社区,而且免费会让它变得更加强大,开发技术也会飞快。社区也为专业人士与初学者提供了知识和经验的分享交流平台。

3. 兼容性 Python与众多平台兼容,因此开发人员不必担心其他语言经常出现的任何问题。

4. 面向对象

Python支持面向过程以及面向对象的编程。在面向过程的编程中,开发人员应用可重用的代码段。面向对象编程使用基于数据和功能的对象。尽管OOP语言通常非常复杂,但Python做到了简单和整齐。

5. 函数库

Python社区为Python创建了丰富多样的库。在他们的帮助下,你可以管理文档、执行单元测试、数据库、Web浏览器、电子邮件、加密、图形用户界面等等。所有这些东西都包含在标准库中,除此之外,还有很多其他库可用。

在哪里使用Python语言?

多年来,Python一直处于各种流行编程语言排名的前列。该语言几乎可以用于任何事情。它旨在提高程序员的生产力,而不是他们编写的代码本身。Python可以用于Web、桌面应用程序开发、自动化脚本、复杂计算系统、科学计算、生命支持管理系统、物联网、游戏、机器人、自然语言处理等等。

对于那些从未写过代码的人来说,Python代码也很简洁易懂。也正因为这个原因,与其他语言相比,使用Python编写的程序其可维护性也是很不错的。从商业角度来看,这也可以很大程度上在降低开发成本的同时提高程序员的生产力。

谁使用Python?

Python开发人员社区不断壮大,语言库的数量也在不断增长。这一切都使得Python成为世界上功能最多的编程语言之一,可以轻松适用于任何项目。同时我们也应认识到:Python在数据挖掘和机器学习等领域中十分流行。

为了更好认识使用Python较其他语言的所有优点,我们将Python与最流行的其他Web技术做一下比较,先从PHP开始。

Python vs PHP

从发展的角度来看,PHP是一种面向网络的语言。一个PHP应用程序更像是一组单独的脚本,甚至可能只有一个语义入口点。与此相应的是,Python是一种多用途的语言,它也可以用于Web开发。基于Python的Web应用程序是一个成熟的应用程序,用它的内部状态,从查询到请求,都加载到内存中。在选择Python或PHP作Web应用程序时,应参考以下特征:

Python

PHP

流行程度

非常流行

非常流行

框架

许多框架

较少框架

学习

易学

难学

Python与PHP的Web开发比较

1、 流行度

现在,要做到符合趋势或潮流,意味着要很多属性。一些客户和产品所有者只想在他们的项目中使用最受欢迎和最流行的技术。在此情况下,如果只顾搞开发但不管技术方向,很可能最终的结果就是没有客户和工作。

也就是说,在学习任何东西之前,要确保要学的东西在未来1年、5年甚至10年内都符合潮流。

PHP和Python是世界上最流行的编程语言之一,这无需担心。PHP被用来构建维基百科、雅虎、WordPress、Friendster、MailChimp、Flickr等许多巨头。

Python则被用于构建YouTube、Instagram、桌面版的Dropbox、Reddit、Bitbucket、Quora、Spotify、Pinterest、Facebook的内部服务以及PayPal! 2、架构

在你选择技术时,各种工具也非常重要。它定义了你工作的简单性和便利性。如果一项技术为不同的任务提供多种工具,程序员可以确信他不必从头开始做所有事情。

最流行的PHP框架是Laravel、Symfony、CodeIgniter、Yii 1和2、Phalcon等等。这些工具可以帮你创建功能强大且整洁的应用程序。 而Python则不能自夸拥有如此多的框架。用的最多的是Django和Flask。 但是,我们可以向你保证,由于Python社区的不断发展,这种局面很难快就会发生变化。

3、学习

这通常是学生想要弄清楚的第一个问题。学习过程越容易,他们能越快开始工作和赚钱。

当然,这个类别的获胜者是Python。它的语法更简单易学。不幸的是,我们不能对PHP说同样的话。PHP需要更多的时间和精力来掌握。Python可以让你在没有代码中断的情况下几乎不出现错误,它使新手更有信心继续学习。

从新手的角度来看,你如果想要选择更简单、更灵活,那么Python是最理想的。Python允许你创建安全的应用程序,而PHP要达到这个目的则需要额外的工具。但别忘了,PHP是专门为Web开发而创建的,在这方面应用得更多。

Java与Python哪个更好?

一些开发人员声称Python比Java更有生产力。但更应先说明的是:Python和Java有什么区别?

Python vs Java

Python

Java

学习

易学

难学

跨平台应用

不同操作系统的兼容性

基于网络的应用

Java是一个典型化的编程语言,这意味着变量名必须显示声明。相比之下,我们有动态类型的Python,它不需要声明变量。对于编程语言的动态和静态类型有很多争论。

不过请注意这样一个特征:Python是一个有着简单句法的多样性的语言。这使得Python被广泛应用于多个领域来写脚本,快速开发应用等等。

Java支持跨平台应用,而Python几乎与所有现代操作系统兼容。Java对于初学者来说要比Python复杂很多。读Python代码也比读Java代码简单。但是,如果你想让你的代码在哪里都能执行,那就选Java。Java的另一优势就是能建立基于网络的应用程序。

Java比Python复杂得多。如果你没有技术类的背景,学Java是个很艰难的过程。另一面,Java能使用在不同环境中。如果这个特点是你需要的,那就用Java吧。

Python vs C#

Python

C#

简单性

脚本编写

任何环境

只在IDE

很多个库

很少有库

性能

在简单程度方面,Python 最初设计成像英语词句的样子,所以很多表述都非常易读,尤其当用了合适的变量名时。此外,因为语句的简单,Python没有类似句法括号、大量单字修饰词、各种C类结构和初始化变量的不同方法等复杂结构。这些都使得用Python写出的代码容易理解和学习。

同时,由于语言的遗传,C #有很多来自C++和java的东西,比如很多类C的语法表达。更重要的是,当你编写自己的方法或继承类时,C#语法会有必要遵循一定的规则,这是伴随着另一个字修饰符流的。人们也不应该忘记应该用括号包装的代码块。这些东西Python不全都有,它使用移位,使代码看起来同样整洁。

至于脚本编写,可能值得一提的是,Python调用脚本的程序实际上是脚本,它们只是拥有能由解释器轻松执行的代码的文件。我们可以在任何编辑器中打开它们,与它们一起工作,然后立即再次运行。如果没有IDE或编译器,这将是一个巨大的优势。此外,用Python编写跨平台脚本更容易,甚至不需要重新编译。

但是,作为Python的一个劣势,我们强调在脚本上使用机器安装解释程序的必要性。或者,至少一个解释器与脚本一起打包在一个包/可执行文件中。因此,它会将脚本的大小从几个千字节增加到十几兆字节。一次性使用不太方便。

反过来,C#要求IDE进行正常编程。作为C#的一个优点,当你为Windows编写脚本时,它对Windows系统的各个组件有很强的支持。例如,有内置的工具来处理注册表、WMI、网络等。C#允许你使用WinForms,如果立刻需要,它能很容易创建一个图形界面。

关于Python或C#哪种语言更好这个问题,没有正确的答案。Python比C#更容易学习,它有更多的开源库。然而,C#的标准库优于Python,C#具有更多的特性,性能更高,并且进化得非常快。

Ruby和Python是最受欢迎的首选语言

Ruby是搭建网站的极其流行的技术。最有名的例子是推特 (早期版本), Basecamp, Github, Airbnb, Slideshare 和 Groupon.

Python

Ruby

解决问题的方法

一种解法

多种解法

社区

巨大

巨大

句法

非常简单

复杂一些

Ruby和Python都是面向对象的、动态灵活的语言。这两种语言的主要不同在于它们解决问题的方式。Ruby会提供不同的解决方法而Python通常只有一种。这一特点可以是优势也可以是劣势。

Ruby最流行的框架是Ruby-on-Rails. 它跟Django非常类似,因为这两个框架是为一样的任务而设计的。如果我们比较这些技术的社区,我们会发现它们是差不多的。但是,组建这些小组的人群是不同的。Python在数据科学和数学领域非常受欢迎,所以你能碰到很多学者和教授。

记住,在网络应用开发方面,你在RoR里能做的事,你在Django里同样都能做。这两个语言都很快速高效。如果你有兴趣开发需要大量计算和数据处理的应用,那Python是更好的选择。Ruby更能帮助建立路线繁多的应用。

任何一个技术成功的秘诀是其周边创建的社区。人际合作可以决定其未来的演变方向。Python技术支持小组是世上最大最多样的小组之一。

小组里不仅有上千个个人开发人员,还有超级大公司的支持,比如谷歌, Yandex, Dropbox, Mozilla, 微软 (在 Visual Studio里使用), 英特尔等等。这些公司用Python创造了世上最大和最流行的项目。

如上是我们提供给你用作参考的信息。现代编程语言的多样性给了你许许多多的选择。你今天的选择奠定着你未来职业生涯的道路。我们帮不到你太多,只能建议你对自己要做的项目有清晰的认识,并且选择最适合的技术。

-END-

译者:候敏霞

软件工程专业--云计算与大数据方向,擅长java后端开发和Python编程,喜欢结交志同道合的朋友,一直相信:越努力,越幸运,more efforts,more happiness。

译者:谢忱

纽约州立大学石溪分校本科毕业,应用数学统计与经济学双专业。乔治华盛顿大学数据科学专业研究生在读。擅长python编程和web前端开发。

校对:王一丁

本科CS,水过ACM和数学建模,现在内蒙古自治区大数据发展管理局工作,加班使我快乐。欢迎来我区、我局洽谈工作。

本文分享自微信公众号 - 顶级程序员(TopCoding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货 | Python 爬虫的工具列表大全

    源 / 伯乐头条 这个列表包含与网页抓取和数据处理的Python库。 网络 通用 urllib -网络库(stdlib)。 requests -网络库。 gr...

    顶级程序员
  • Python 2要凉了,RedHat也正式宣布弃坑

    源 / 顶级程序员 文 / An先生 (RedHat 官网截图) 近日,Red Hat 宣布,它的企业级发行版 RHEL 下个大版本将用 Python...

    顶级程序员
  • 转行学习Python,完全0基础能否学会?

    源 / python教程 文 / 小雨 人生苦短,我用Python,为啥这么说,因为我们有个金句:学完Python,便可上天 ~ 废话不多说,相信很多...

    顶级程序员
  • 【Python环境】学习Python:做数据科学还是网站开发?

    本文的英文原文地址是:Python for Data Science vs Python for Web Development,发布时间是10月29日。译者一...

    陆勤_数据人网
  • Python新手入门指引

    这篇文章是写给想入门Python但是编程基础为零或者很浅的新手同学。不管你是因为兴趣还是工作以及转行需求,都可以参考。我结合自身的学习Python的以及写Pyt...

    HuangWeiAI
  • 还记得当年你是如何接触Python的吗?

    要说目前什么语言最受欢迎,我想Python肯定是其中之一了吧。Python语言以其简单的操作、强大的功能被广大爱好者追逐着。有的朋友刚开始学Python,有的朋...

    小小詹同学
  • Python零基础到高手的速成之路,你也可以做到的!

    第一问“我在哪儿”,这个问题需要你自己来回答。你或许已经熟练掌握了一门或几门编程语言,现在想学 Python,Python 算是零基础入门;或者你已经自学了一点...

    python学习教程
  • 学习Python编程,我们应该如何学?学习内容包括哪些?

    学习Python编程语言,动手实践是一件非常愉快的事情,遇到了程序上的问题,经常自己思考研究,从而解决问题,自己的技术水平和解决问题的能力都得到了大大的提升。

    python学习教程
  • 2018你该认真学Python了

    在过去的2017年里,Python已然成为了世界脚本语言中的No.1,同时在语言综合排行榜中已经攀升至第4名。

    后场技术
  • Python的发展趋势

    Python是一种计算机程序设计语言。你可能在之前听说过很多编程语言,比如难学的C语言(语法和实现难度),非常流行的JAVA语言(尤其是现在分布式存储和服务),...

    后场技术

扫码关注云+社区

领取腾讯云代金券