鱼C论坛

 找回密码
 立即注册
查看: 3408|回复: 3

[吹水] python为什么叫胶水语言?

[复制链接]
发表于 2020-6-20 10:04:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 nizitao 于 2020-6-20 10:06 编辑

特点是什么?
python现在最广为闻名的形容大概有这些:

他是很好的胶水语言。什么是胶水语言?反正当时的我不知道。
他是新一代的系统脚本。系统脚本是什么?
其次就是代码可读性。不过,这个其实还是争议挺大的,我也不准备在这多说了。
反正我发现大家其实都没解释清楚。

大概是因为,那些大牛们都已经把很多东西习以为常了,却不知道新人其实都一头雾水。其实事情也没那么复杂。



胶水语言
先从Hello world开始。所有学python的童鞋都会从这句话开始:
print "Hello World!"


问题来了:为什么所有语言第一件做的事情,就是Hello World?

其实,他代表了UNIX统一的文本处理模型及接口。这些个玩意,Windows的编程领域是很难接触到的也很难理解的。

下面写个范例。比如我这么干了:
# file: say.py

import sys
txt = sys.argv[1]
print "Hello %s!"%(txt)

那么我就可以在Linux或Mac的终端上直接输入:
python say.py World

输出结果就会是:
Hello World!

这样就确保了,在终端调用上的直观与可编程性。

这样,我就不用必须在别的python语言里面调用python了,而能够直接在shell上跟其它处理程序直接连接。

BTW,这其实也是Hello world,呵呵。

再玩复杂点的:
import sys
for line in sys.stdin.readlines():
    print "Hello %s!"%(line.strip())

那么我就可以在终端这么干:
echo -e 'water\nmaomaol\nkenbing\nlonger\nchuang'|python say3.py

输出就会是:
Hello water!
Hello maomaol!
Hello kenbing!
Hello longer!
Hello chuang!

再进一步,我可以把前面的内容写成文件,比如写成一个这样的文件:

names.txt

water
maomaol
kenbing
longer
chuang
就可以直接更便捷地做处理:

cat names.txt | python say2.py 这样,我就用cat命令把文本打印出来,然后输出到say2.py上去了。

输出一样的结果。

但是,我输入到终端又有什么用呢???没错,到终端的确没啥用,我们把他输出到文件吧!
cat names.txt | python say2.py > result.txt

就这样,结果就保存到了result.txt这个文件里了。

这样做的意义是什么?

意义就是,在终端上我可以随意地组合他和其它程序,作为一个中间处理模块。

而且,他可以如此地简单便捷,一些简单的脚本只需要cat一下马上就能明白是什么意思。

一个表达式一行代码,代码块有一致的标准的缩进,标准的命名方式,简练的语言,支持注释……

别的程序要访问或调用,很简单,一个命令把指定数据输入到这里就好,然后要怎么拼接怎么拼接;

周期性地处理也没问题,输出到文件,等待别的程序调用。

比起windows各种诡异的processer,各种诡异的二进制存储的文件,这样一致的接口简直能让人想哭了。

系统脚本上:

他比SHELL多了很多数学及字符串处理能力,还多了很多很好用的迭代方法,还多了很多的原生的数据结构;

他比PERL多了很要命的代码可读性。

比起ruby和nodejs,他基本所有机器都预装,而且已经经历了时间的考验。虽然,将来的确会有被这俩货代替的可能性。

比起C/C++,他多了一个终端、甚至像ipython这样的加强版神器终端,可以边调试代码边把没问题的代码写进文件。而且,源码即可执行。

在我看来,这些就是python的优势。让他当之无愧是系统脚本的王者。

只可惜,现在就连大多数的程序员,都已经被图形化界面给宠坏了,也习惯了各种大厂商、IDE提供的诸多工具包与功能,却把很多很基础的东西都给忽略了,却在不断地、重复地造轮子。这就叫码农。

所以,大概也就敢于拥抱变化的系统管理员、运维工程师或数据分析工程师,才会长久地持续地喜欢python。

这个用户群,小众而又庞大,而且整个业界对这这方面的专家有着很大的缺口。

纯以前端兼设计师的身份,向这部分人群表示高山仰止。

然后,我再继续折腾别的东西去。

来源:python为什么叫胶水语言?

本帖被以下淘专辑推荐:

  • · Python|主题: 246, 订阅: 52
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-20 12:16:49 | 显示全部楼层
本帖最后由 java2python 于 2020-6-20 12:28 编辑

搜索网页:胶水语言perl,一定会比【胶水语言python】搜到的日期早
有关胶水语言,从一个网页的标题【分享下perl胶水实现前后台对接的方法】,就是他能把原来连不起来的代码拼在一起的意思,这是个人看了这个标题的理解。
当然python确实好,用了就知道,主要是写法简明,一开始不习惯(这种没有{}包起来,感觉很不靠谱),用了觉得好了,会觉得越来越好。可靠度高(和java一个级别,没有javascript的0.01+0.02=0.03000000000001,以及PHP的如果这样会出错的一大堆说明--记忆中),用python做图形界面,一直放着,查看内存,他就只用这点内存(windows许多程序运行着占内存越来越大,最后爆了),说明内存管理很好,个人体会是这些。
觉得好的人多了,会越来越多,这是正反馈。

过去有个algol语言,60年代初欧洲搞的,这个和当时美国搞的fortran,COBOL,知不道优雅到哪里去了。美国搞的这两个,基本是和BASIC一个级别的,不过机器都是美国产的,他怎么会用你的欧洲的语言呢。。。所谓流行也受高段的影响,广大底层程序员就是跟着用而已。

评分

参与人数 1荣誉 +1 收起 理由
nizitao + 1

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-22 13:20:30 | 显示全部楼层

4d
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-22 14:10:16 | 显示全部楼层
槽点太多,无法理解。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 21:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表