13919049954

python脚本短小的原因分析

作者:金城在线 日期:2017/12/5 10:10:31 人气:313

设计目的不同。C++ / Java 本身是为了严肃工程设计的语言,而 Python / Perl 之所以称为“脚本语言”,因为它们设计就是作为脚本,临时执行一下的,通常还负责“胶合”其它程序协作完成任务。(虽然 Python 在各种脚本语言里是最偏向于工程的)


从这个设计目的推倒,那么这些语言在执行一些常见功能的时候,肯定要更方便才好,否则人们直接用 Java / C++ 就可以了啊。所以 Bash 格外擅长调用和组合程序,Perl 特别擅长字符串处理等。Python 相对普通一些,提供了一个相对短平快而方便书写的语法以达到目的:


“动态强类型”省略类型声明。C++ 11 刚刚开始引入 auto 进行类型推导。当然后者对正确的保证更强一点。


内置丰富而高效的数据类型:array / list / dict。对比一下 new HashMap<String, HashMap<String, String>>().get("Key1").get("Key2") 什么的……


Python 较早引入了一些 FP 语言的元素,如 map / filter / apply / itertools,还有 lisp comprehension 和 generator [1] 这种大神器。对比 C++ 11 / Java 8 才引入 lambda 实在是……泪目。


标准库,"battery included"。虽然在某些方面比 JRE 不如,比 C++ std lib 那个弱 X 还是可以自豪得笑的。


而且 Python 更强的是有 PyPI 和配套的 pip 工具,使得管理依赖项、自动安装和更新变得像 Debian 系统包安装一样容易(这不是黑,真的)。Java 后来也算有了 Maven(鉴于需要手写 XML,我还是认为这货不是给人类使用的。Clojure 的 Leiningen 略好)。C++ 墙角哭去!


当然,如果题主真的打算误入歧途寻找一下 THE LANGUAGE 的话,没事可以围观一下 Ruby 和 Lisp 系语言……

忘记是 Paul Graham 还是谁说的了……每个语言最后都会变成一种 lisp 方言 :)


            金城在线专注网站、软件、APP、微信公众平台、小程序、抖音、头条等开发推广,如果您有这方面的需求或者不同的观点,欢迎联系交流。

    官方微信

    本文网址:http://www.lz.net.cn/SEOyouhua/548.html
    读完这篇文章后,您心情如何?
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    更多>>网友评论
    发表评论