关于perl:为什么Python使用者远远大于perl
不认为 两者 的语法差别是造成如此场面的次要起因.perl的语法尽管比拟特立独行, 但也不是很难. 总结如下起因: library(或者叫package)的应用如果是本语言原生的library, 那没有问题. 如果是须要调用内部函数/过程的package的话, 那么就会有微小的差别. python是预编译而后从pypi上下载 python(pip)将package下载到本地 而后解压后将package内容装置到不同的指定目录perl是代码下载到本机后本机编译 须要在本机上安装c编译器, linker, pkconfig, 以及依赖的动静库... 构建之后, 再将构建生成物装置到不同的指定目录比方: PyQT/PySide装置后,会有一些动态链接库(*.so/*.dll/*.pyd)呈现在site-packages/pyqt5/的目录里. 能够证实python的package是all in one型. 从为数不多的Perl理论应用来看,本机编译比拟艰难,要装置许许多多的开发工具和辅助工具,常常遇到某某软件缺失问题,有时还会遇到莫名的编译失败 装置失败,不如python间接将编译好的动态链接库下载到指定地位,也不须要额定装置c/haskell/Ada或者什么语言的编译/构建环境,大大降低了入门的难度与所需常识储备(目前看来这是许多新畛域抉择python 而不是perl的重要起因。毕竟熟练掌握c程序的构建须要很多很多的常识储备, 一旦呈现装置问题 小白就抓瞎)。 所以心愿Perl社区认真改良这个问题(像python一样提供编译好的package), 进步应用体验. 不过,perl社区都是大牛, 可能不会呈现这种根底问题, 天然也意识不到 面对对象能力python perl都有一点面对对象能力。Perl的OO语法比拟怪异(而且有不同期间的不同实现). python的OO语法比拟正统(靠近c++ java c#这类OO支流), 学习起来比拟容易. 支流惯性因为长期将精力专一于Raku(以前的perl 6), perl社区错过了web2.0, 大数据, 人工智能 这些新热点. 造成在这些畛域衰亡之后, 抉择的次要语言是python, 新退出的学习者天然追随支流. 在生物信息 数据挖掘这些畛域, 因为畛域惯性, perl还是支流语言.