python是一门胶水语言_Python是唯一被称为“胶水语言”的编程语言?事实并非如此!...

“胶水语言”一词本身没有褒贬性。就算有,在编程界里,那也是多功能性的一种表述。

胶水与库数量无关。胶水语言是用来写胶水代码。胶水代码用于连接多个小的甚至不兼容的部件,整合不同的库或代码,胶水代码本身不实现需求。

如果一段比较“胶水”的代码实现了需求或带有功能,通常会称其为组件。

一直以来有很多人认为“Python是唯一的胶水语言”,甚至以此来吹捧,这个说法不对。

0df3d7ca7bcb0a46cbac24dc0460f7236a60af57.jpeg?token=6cb5fc7f77042da8f46585fd5b8ed527

并不是只有Python是胶水语言,还有Lua、Julia、Perl、Erlang、Shell,以及各种Script结尾的(VBscript、AppleScript、JavaScript等)都可以说是一种胶水语言。

其实胶水语言的本质是首先它是一个脚本语言,可以类似于shell与文件操作系统进行交互;

第二个调用性较强。有些编程语言本身就是用C语言写的,可以比较方便的调用C/C++写好的模块;

第三就是上手简单,写起来不难。本来C语言也可以算是胶水语言,但是它的开发效率太低,所以从另外一个角度讲,胶水语言其实就是C/C++的辅助工具,Java是系统级的编程语言,自成一体,与C/C++之间没啥交互。

e1fe9925bc315c60ca8e723ffdb2ca14485477d5.jpeg?token=a435477bfe6e28876de175e984a5642a程序员的日常也并不是那么枯燥无味

Python相比于其他胶水语言来说,与C/C++的交互要么更加频繁(如相比于JavaScript),尤其是人工智能,很多模块框架都是用C/C++写的,简单易学而又自然的编程语言Python就发挥出了它的辅助作用。

要么生态里面的库更多(比如相比于Julia、Lua),Python的生态丰富程度在编程语言里面可以排进前五;

而同样是脚本语言,Python相比于shell又可以进行程序开发,比如开发网站,相当于可以有了一个可以操作的GUI页面,既方便进行自动化运维,又方便可视化管理;

Python下可至底层与C/C++交互,中可作为脚本语言与文件操作系统进行交互,也可以作为后端编程语言,上可至前端与用户交互,纵向完备,横向生态又完善,其他胶水语言有的它也有,其他胶水语言没有的它也有,综合能力最强。

虽然Python并非唯一的胶水语言,但却是万能的胶水语言,非一般胶水语言可比。

4ec2d5628535e5ddfe1c6e4506c5a6e8ce1b6206.jpeg?token=95c425fabd8d21e30d9067dc018564bf程序员的日常也并不是那么枯燥无味

除了是万能的胶水语言,Python还有哪些特点呢?

562c11dfa9ec8a13d5db9efd80009088a1ecc0f1.jpeg?token=443719d4a1876be620116494564f67bd

Python 编程语言最大的优点之一,是其具有伪代码的特质,它可以让我们在开发 Python 程序时,专注于解决问题,而不是搞明白语言本身。

e7cd7b899e510fb37e6cb8fba330c992d1430c6b.jpeg?token=84c10bd54129be0dd7bea9052033b6ba

Python 是 FLOSS(自由/开源源码软件)之一,简单的理解就是,用户使用 Python 进行开发和发布自己编写的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。

开源正在成为软件行业的一种发展趋势,现在有很多商业软件公司都开始将自己的产品变成开源的(例如 Java)。

2fdda3cc7cd98d1061f1a6bc5b3cb9097bec9024.jpeg?token=5da0e52907bc1e794959f51cdced52b0

“高级”两字的直接体现就是编程时无需再考虑一些底层细节方面的问题。例如,如何管理程序使用的内存等等。

024f78f0f736afc3d7bddf67c71aeac3b745120d.jpeg?token=d182f61bbdcddfeea7c66fdaf5dca541

由于 Python 是开源的,它已经被移植到许多平台上。如果能够避免使用依赖系统的特性,那就意味着,所有 Python 程序都无需修改就可以在好多平台上运行,包括 Linux 、Windows、FreeBSD、Solaris 等等,甚至还有 PocketPC、Symbian 以及 Google 基于 Linux 开发的 Android 平台。

解释型语言几乎天生就是跨平台的。Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。

5366d0160924ab18b60c90724cf9e7ca7b890b62.jpeg?token=8624f13bf72a3d3b8d076c7f60a4be23

Python 既支持面向过程编程,也支持面向对象编程。在“面向过程”的语言中(如 C 语言),程序仅仅是由可重用代码的函数构建起来的;而在“面向对象”的语言(如 C++)中,程序是由数据和功能组合而成的对象构建起来的。

与其他编程语言(如 C++ 和 Java)相比,Python 是以一种非常强大而又简单的方式实现的面向对象编程。

fcfaaf51f3deb48f8dc4834f891c3b2e2cf578ff.jpeg?token=83efdf223ad5d40398e7a8d22c692e53

Python 强大的功能也许才是很多用户支持 Python 的最重要的原因,从字符串处理到复杂的 3D 图形编程,Python 借助扩展模块都可以轻松完成。

实际上,Python 的核心模块已经提供了足够强大的功能,使用 Python 精心设计的内置对象可以完成许多功能强大的操作。

此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。

9825bc315c6034a88789c778b3104853082376ee.jpeg?token=d1da4f74b32b0152fe9bf7f8085ddba0

Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。

Python 可扩展性一个最好的体现是,当我们需要一段关键代码运行的更快时,可以将其用 C 或 C++ 语言编写,然后在 Python 程序中使用它们即可。

cb8065380cd79123567d96dadc375885b3b7808d.jpeg?token=90189e21fa3d826dfa4042ccb65e16b0程序员的日常也并不是那么枯燥无味

今天的分享到此结束,欢迎在评论区留言交流!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值