为什么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还是主流语言.

兴趣广泛,专注代码,长期工作在*nix上,python/perl/vim作为文本工具.

10 声望
2 粉丝
0 条评论
推荐阅读
基于Sanic的微服务基础架构
使用python做web开发面临的一个最大的问题就是性能,在解决C10K问题上显的有点吃力。有些异步框架Tornado、Twisted、Gevent 等就是为了解决性能问题。这些框架在性能上有些提升,但是也出现了各种古怪的问题难以...

jysong6阅读 4k评论 3

又一款眼前一亮的Linux终端工具!
今天给大家介绍一款最近发现的功能十分强大,颜值非常高的一款终端工具。这个神器我是在其他公众号文章上看到的,但他们都没把它的强大之处介绍明白,所以我自己体验一波后,再向大家分享自己的体验。

良许6阅读 1.9k

FastAPI性能碾压Flask?
不止一次的听过,FastAPI性能碾压Flask,直追Golang,不过一直没有测试过,今天闲着没事测试一下看看结果。不知道是哪里出了问题,结果大跌眼镜。

二毛erma02阅读 10.3k评论 3

封面图
Linux终端居然也可以做文件浏览器?
大家好,我是良许。在抖音上做直播已经整整 5 个月了,我很自豪我一路坚持到了现在【笑脸】最近我在做直播的时候,也开始学习鱼皮大佬,直播写代码。当然我不懂 Java 后端,因此就写写自己擅长的 Shell 脚本。但...

良许1阅读 2.1k

Python之如何优雅的重试
为了避免偶尔的网络连接失败,需要加上重试机制,那么最简单的形式就是在对应的代码片段加一个循环,循环体里使用异常捕获,连接成功时退出循环,否则就重复执行相关逻辑,此时修改之后的函数f如下

Harpsichord12073阅读 7.4k

基于 EKS Fargate 搭建微服务性能分析系统
近期 Amazon Fargate 在中国区正式落地,因 Fargate 使用 Serverless 架构,更加适合对性能要求不敏感的服务使用,Pyroscope 是一款基于 Golang 开发的应用程序性能分析工具,Pyroscope 的服务端为无状态服务且性...

亚马逊云开发者阅读 7.8k

ChatGPT的开源平替,终于来了!
最近这段时间,一个号称全球最大ChatGPT开源平替项目Open Assistant引起了大家的注意。这不最近还登上了GitHub的Trending热榜。[链接]根据官方的介绍,Open Assistant也是一个对话式的大型语言模型项目,可以理解...

CodeSheep2阅读 1.1k

封面图

兴趣广泛,专注代码,长期工作在*nix上,python/perl/vim作为文本工具.

10 声望
2 粉丝
宣传栏