“胶水语言”一词本身没有褒贬性。就算有,在编程界里,那也是多功能性的一种表述。
胶水与库数量无关。胶水语言是用来写胶水代码。胶水代码用于连接多个小的甚至不兼容的部件,整合不同的库或代码,胶水代码本身不实现需求。
如果一段比较“胶水”的代码实现了需求或带有功能,通常会称其为组件。
一直以来有很多人认为“Python是唯一的胶水语言”,甚至以此来吹捧,这个说法不对。
并不是只有Python是胶水语言,还有Lua、Julia、Perl、Erlang、Shell,以及各种Script结尾的(VBscript、AppleScript、JavaScript等)都可以说是一种胶水语言。
其实胶水语言的本质是首先它是一个脚本语言,可以类似于shell与文件操作系统进行交互;
第二个调用性较强。有些编程语言本身就是用C语言写的,可以比较方便的调用C/C++写好的模块;
第三就是上手简单,写起来不难。本来C语言也可以算是胶水语言,但是它的开发效率太低,所以从另外一个角度讲,胶水语言其实就是C/C++的辅助工具,Java是系统级的编程语言,自成一体,与C/C++之间没啥交互。
Python相比于其他胶水语言来说,与C/C++的交互要么更加频繁(如相比于JavaScript),尤其是人工智能,很多模块框架都是用C/C++写的,简单易学而又自然的编程语言Python就发挥出了它的辅助作用。
要么生态里面的库更多(比如相比于Julia、Lua),Python的生态丰富程度在编程语言里面可以排进前五;
而同样是脚本语言,Python相比于shell又可以进行程序开发,比如开发网站,相当于可以有了一个可以操作的GUI页面,既方便进行自动化运维,又方便可视化管理;
Python下可至底层与C/C++交互,中可作为脚本语言与文件操作系统进行交互,也可以作为后端编程语言,上可至前端与用户交互,纵向完备,横向生态又完善,其他胶水语言有的它也有,其他胶水语言没有的它也有,综合能力最强。
虽然Python并非唯一的胶水语言,但却是万能的胶水语言,非一般胶水语言可比。
除了是万能的胶水语言,Python还有哪些特点呢?
Python 编程语言最大的优点之一,是其具有伪代码的特质,它可以让我们在开发 Python 程序时,专注于解决问题,而不是搞明白语言本身。
Python 是 FLOSS(自由/开源源码软件)之一,简单的理解就是,用户使用 Python 进行开发和发布自己编写的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。
开源正在成为软件行业的一种发展趋势,现在有很多商业软件公司都开始将自己的产品变成开源的(例如 Java)。
“高级”两字的直接体现就是编程时无需再考虑一些底层细节方面的问题。例如,如何管理程序使用的内存等等。
由于 Python 是开源的,它已经被移植到许多平台上。如果能够避免使用依赖系统的特性,那就意味着,所有 Python 程序都无需修改就可以在好多平台上运行,包括 Linux 、Windows、FreeBSD、Solaris 等等,甚至还有 PocketPC、Symbian 以及 Google 基于 Linux 开发的 Android 平台。
解释型语言几乎天生就是跨平台的。Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。
Python 既支持面向过程编程,也支持面向对象编程。在“面向过程”的语言中(如 C 语言),程序仅仅是由可重用代码的函数构建起来的;而在“面向对象”的语言(如 C++)中,程序是由数据和功能组合而成的对象构建起来的。
与其他编程语言(如 C++ 和 Java)相比,Python 是以一种非常强大而又简单的方式实现的面向对象编程。
Python 强大的功能也许才是很多用户支持 Python 的最重要的原因,从字符串处理到复杂的 3D 图形编程,Python 借助扩展模块都可以轻松完成。
实际上,Python 的核心模块已经提供了足够强大的功能,使用 Python 精心设计的内置对象可以完成许多功能强大的操作。
此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。
Python 的可扩展性体现为它的模块,Python 具有脚本语言中最丰富和强大的类库,这些类库覆盖了文件 I/O、GUI、网络编程、数据库访问、文本操作等绝大部分应用场景。
Python 可扩展性一个最好的体现是,当我们需要一段关键代码运行的更快时,可以将其用 C 或 C++ 语言编写,然后在 Python 程序中使用它们即可。
今天的分享到此结束,欢迎在评论区留言交流!