Dropbox是一个大型服务,使用Python作为主要语言,这是因为Python具有很多优点:一、高级语言;二、解释型语言;三、可移植性;四、面向对象;五、强大的功能;六、开源;七、可扩展性和可扩充性;八、可嵌入性;九、丰富的库;十、规范的代码。
一、高级语言
Python是一种高级语言,因此在使用Python语言编写程序时无需考虑底层细节,例如,管理程序使用存储器的方法等。
二、解释型语言
用c或C++等编译语言编写的程序,可以将源文件转换为计算机使用的语言,这个过程主要由编译器进行,运行程序时,可以将程序从硬盘复制到内存中执行,另一方面,用Python语言编写的程序不需要编译成二进制代码,而是可以直接从源代码执行程序,在计算机内部,通过Python解释器将源代码转换成字节码的中间形式,并将其翻译成计算机使用的机器语言后执行。
三、可移植性
Python是开源的,因此被移植到了很多平台上,如果可以避免使用依赖项功能,则意味着所有Python程序都可以在许多平台上运行,包括Linux、Windows、FreeBSD和Solaris。
四、面向对象
Python既支持面向过程的编程,也支持面向对象的编程,在“面向流程”语言(如C语言)中,程序仅由可复用代码的函数构建,另一方面,在“面向对象”语言( C++ )中,程序是由数据和功能相结合的对象构建的。
五、强大的功能
Python强大的功能可能才是大多数用户支持Python的最重要的理由,从字符串处理到复杂的3 D图形编程,Python可以使用扩展模块简单地进行。
六、开源
Python语言是开源的,简单地说,您可以自由发布该软件的副本,阅读和更改源代码,并将其用于新的自由软件。
七、可扩展性、可扩充性
如果需要一段关键代码运行得更快或者希望某些算法不公开,可以部分程序用C或C++编写,然后在Python程序中使用它们。
Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。因此,很多人还把Python作为一种“胶水语言”(glue language)使用。使用Python将其他语言编写的程序进行集成和封装。在Google内部的很多项目,例如Google Engine使用C++编写性能要求极高的部分,然后用Python或Java/Go调用相应的模块。《Python技术手册》的作者马特利(Alex Martelli)说:“这很难讲,不过,2004年,Python已在Google内部使用,Google 召募许多 Python 高手,但在这之前就已决定使用Python,他们的目的是 Python where we can,C++ where we must,在操控硬件的场合使用C++,在快速开发时候使用Python。”
八、可嵌入性
可以把Python嵌入C/C++程序,从而向程序用户提供脚本功能。
九、丰富的库
Python拥有丰富而强大的标准库,可以帮助您处理正则表达式、文档生成、单元测试、线程、数据库、Web浏览器、CGl、FTP和电子邮件等各种任务,所有这些功能都可以使用,所以Python语言的功能非常强大。
十、规范的代码
Python采用强制缩进的方式使得代码具有较好可读性。而Python语言写的程序不需要编译成二进制代码。Python的作者设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定(而C语言是用一对大括号“{}”(不含引号)来明确的定出模块的边界,与字符的位置毫无关系)。通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。
文章标题:为什么Dropbox等大型服务使用Python作为主要语言,发布者:Yang,转载请注明出处:https://worktile.com/kb/p/49224