为什么Dropbox等大型服务使用Python作为主要语言

Dropbox是一个大型服务,使用Python作为主要语言,这是因为Python具有很多优点:一、高级语言;二、解释型语言;三、可移植性;四、面向对象;五、强大的功能;六、开源;七、可扩展性和可扩充性;八、可嵌入性;九、丰富的库;十、规范的代码。

为什么Dropbox等大型服务使用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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Yang的头像Yang
上一篇 2023年4月13日 下午3:40
下一篇 2023年4月13日

相关推荐

  • 开源文档协作工具:2024年10款评测

    国内外主流的10款开源文档协作平台对比:PingCode、Worktile、蚂蚁笔记(Leanote)、Wizard、Kooteam、ShowDoc、MrDoc、DooTask、语雀、WookTeam 。 在今天的数字化时代,寻找一个能够提高团队合作效率并确保信息共享流畅的解决方案,成了许多企业和个…

    2024年8月5日
    700
  • 企业如何智选知识管理工具?2024年8大精选

    本文将分享2024年8大优质企业知识管理工具:PingCode、Worktile、飞书文档、语雀、石墨文档、有道云笔记、Confluence、Document360。 很多公司都面临信息过载,难以将散落各处的知识有效整合和应用。这不仅影响决策效率,还可能导致重要信息的丢失。为了解决这一痛点,企业知识…

    2024年8月5日
    300
  • 产品经理秘籍:2024年9大主流需求管理工具

    本文将分享9款产品经理使用的主流需求管理工具:PingCode、Worktile、Tapd、禅道、Teambition、Testin、JIRA、Jama Connect、Wrike。 挑选一个能够高效精准地捕捉和管理需求的工具,对于推动项目成功至关重要,很多产品经理都面临着如何从众多选项中选择最适合…

    2024年8月5日
    400
  • 选择客户管理crm系统必看:全球15家顶级供应商综合比较

    对比的客户管理CRM系统包括:纷享销客、Zoho CRM、销售易、用友CRM、Salesforce、Microsoft Dynamics 365、销帮帮CRM、HubSpot、Oracle CRM、悟空CRM、神州云动CRM、红圈CRM、SAP CRM、Odoo、OroCRM。 一个合适的CRM系统…

    2024年8月5日
    800
  • 项目竣工资料管理软件有哪些

    项目竣工资料管理软件有许多,其中最为出色的要数PingCode和Worktile。这两款软件以其优秀的性能和功能,赢得了用户的青睐。简单来说,PingCode是一款专门为开发者设计的协作平台,强调代码质量、团队协作和敏捷开发。而Worktile则是一款面向企业的项目和任务管理工具,帮助团队更好地协作…

    2024年8月5日
    300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部