不会吧,不会吧,不会还有人觉得Python是胶水语言吧?
这个标题可能大多数人都没有看懂,胶水语言是个啥啊?
胶水语言,是用来连接软件组件的程序设计语言,通常指脚本语言。但后来由于一些机缘巧合,胶水语言就和Python扯上了关系。
这一切还得从Perl说起……
万千宠爱于一身的Perl
1987年,Perl横空出世。
它吸收了C、sed、awk、shell等语言的优点,最重要的是它内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。简单来讲,Perl像C一样强大,像awk等脚本描述语言一样方便。
在当时最主流的操作系统Unix的支持下,Perl刚问世不久就拥有了众多拥趸,更有不少追随者们称之为“梦幻脚本语言”、“Unix中的王牌工具”。再加上诸多大佬的站台,Perl一时之间,风头无两。
4年后,跟Perl采用相同设计思路的Python诞生了。然而,命运却并不像眷顾Perl那样眷顾Python。因为Perl已经占据了Unix的平台支持,又占据了Python可以发挥的几乎一切领域。导致Python无法抱上Unix的大腿,只能强行挤进了Linux。
Perl的霸主的地位依然无可撼动,直到Unix闭源。
逆风翻盘的Python。
Python挤进Linux之后,日子也并不好过。毕竟在它之前还有shell和Perl。Python为了凸显自己的价值,便开始以胶水语言来自居。
Python凭借与C的高度互操作性来编写C模块,调用各类C函数库,将一些结构体封装成Python对象来进行更好地组织。这才弥补了Python早期缺少第三方库的问题。
就这样三个语言在Linux中竞争了几年后,Unix闭源了!
这对立足于Unix的Perl来讲无疑是灭顶之灾。因为Linux把Perl作为标准件的主要原因是为了兼顾Unix的操作习惯。
随着Unix的销声匿迹,Perl的声势也一落千丈,这时的Python趁机开始接管一些“本该由Perl完成的工作”。
随着Linux的火热(感兴趣的小伙伴们可以看一下《Linux的前世今生》),Python也终于打败了Perl,在Linux平台上称霸了。
你叫谁胶水?
让人想不到的是,Python在Linux上称霸只是第一步而已。
近年来,随着大数据、人工智能的发展,越来越多的人发现,利用Python来完成这项工作太合适不过了。
Python也就借着这股东风,一举登上了编程语言排行榜的第三位,前两名就是完全不可撼动的C和Java。
有人可能不理解,为什么大数据和人工智能可以带火Python?
很简单,大数据和人工智能最核心的内容就是数据,人工智能需要通过大量的数据来进行深度学习。而数据的挖掘则需要用到网络爬虫。
Python一词的原意就是“大蟒蛇”,甚至图标也是两条蟒蛇。“大蟒蛇”不拿来做爬虫岂不是说不过去?当然这是玩笑话。
Python对字符的处理非常灵活,同时具有丰富的网络抓取模块,这说明Python天生就是干爬虫的料。
再加上对研究大数据、人工智能的那些科学家们来说,Python简单易学又免费开源,那想不火都难。
更何况随着版本的不断更新,Python早就已经摆脱了之前胶水语言的名号了。
当然尽管如此,同学们在选择语言来学习的时候,还是要充分考虑一下自己的个人需求。
像软件测试、人工智能、大数据选择Python准没错儿,但要是考虑到前后端开发维护,那还是选择Java这种更主流的语言比较合适。
相关文章
- 【Python】彩色输出
- python新建txt文件,并逐行写入数据
- [Python] List & Object spread in Python
- [Python] Making a package
- python: 安装DeOldify库:黑白图片上色(Python 3.7.15)
- 贝叶斯模型的一个简单例子及python实现
- Python Django设置中文语言及时区
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- Python语言学习之pandas:DataFrame二维表的简介、常用函数、常用案例(增删改查排序之选择指定列、根据条件选择特定数据、赋值、列名重命名、修改列数据、处理缺失值、列合并、分组之详细攻略
- IDE之VS:利用 Visual Studio中的IDE配置python语言进行编程
- Python语言学习:Python语言学习之python包/库package的简介(模块的封装/模块路径搜索/模块导入方法/自定义导入模块实现华氏-摄氏温度转换案例应用)、使用方法、管理工具之详细攻略
- Python语言学习:python语言代码调试—异常处理之详细攻略
- Python语言学习:在python中,如何获取变量的本身字符串名字而非其值/内容及其应用(在代码中如何查找同值的所有变量名)
- Python:利用python语言实现18位身份证号码和15位身份证号码相互转换
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
- Python语言学习之字母A开头函数使用集锦:assert用法之详细攻略
- 我想咨询一下Python,请问在哪儿找资源比较好呀?
- python基础===利用PyCharm进行Python远程调试(转)
- python基础===Python性能优化的20条建议
- python基础===八大排序算法的 Python 实现
- 基于Python语言使用RabbitMQ消息队列(二)
- 第十三届蓝桥杯Java、C++、Python组国赛真题——最大公约数(三语言AC)
- Python:T4组合数据类型(含答案)