bat365验证

为什么会有这么多编程语言?

📁 bat365验证 ⌚ 2025-07-12 07:13:00 👤 admin 👁️ 127 ❤️ 407
为什么会有这么多编程语言?

为什么会有这么多编程语言?

编程语言| 2022-07-25

出品 | OSC开源社区(ID:oschina2013)

为什么会有这么多编程语言?

在编程语言如此丰富的今天,相信许多开发者都有过上面的疑问。不过早在 1960 年代初,人们就已经提出了这个问题。

《ACM 通讯》期刊近日发表了题为《Why Are There So Many Programming Languages?》的文章,作者在文中指出了一个重要原因:公司基于商业利益的诉求,希望控制编程语言,所以会发明由自己主导的语言。

1990 年代中期,Visual Basic 和 Visual C++ 是微软主力开发和维护的编程语言。这两种语言都是从已有的编程语言衍生而来,Visual Basic 的优势是为 Windows 桌面平台构建前端应用程序,但它缺乏许多高级语言功能(如数据结构、线程)。Visual C++ 虽然几乎可以处理所有问题,但它十分复杂。然后,Java 在 1996 年问世了,Java 是全功能的面向对象的编程语言,不像 C++ 那么复杂。

Java 的核心功能之一是平台可移植性,但这不是微软希望看到的,因此 Java 背后的公司 Sun Microsystems 与微软产生了冲突,并且从 1997 年开始发起诉讼。双方紧张的关系最终导致微软在 2002 年发布了一门名为 C# 的编程语言,它看起来很像 Java,但事实上并不是。当然两者最重要的不同点在于,C# 是微软可以在自家 Windows 平台上控制的编程语言。

除了公司对于控制和财富的诉求,编程语言之所以如此多与当时的技术环境和水平密切相关。现在许多看起来理所当然的事情在过去并非如此,早期计算机的存储、内存和处理能力都是有限而昂贵的。人们不得不费尽周折,只为到计算机实验室,通宵熬夜以获得计算机使用时间。

在那个时代,编程语言通常是为某些任务或工作而设计的,编程语言的命名也更简单 —— 因为命名空间尚未被开发。在 1950 年代和 1960 年代,最初的程序可以 “奢侈地” 用其所作的事情精确命名:FORTRAN(公式翻译器)、COBOL(面向商业的通用语言)、BASIC(初学者通用符号指令代码)、ALGOL(算法语言)、LISP(列表处理器)。大多数人可能没有听说过 SNOBOL(面向字符串和符号语言,1962),但是通过名字稍微猜测就可以知道它的用途。如果那个时代对面向对象的编程概念有更多了解,相信会有人使用 “OBJOL” 之类的名字命名 —— 明确命名为面向对象语言,至少按照那时的命名模式会是这样。

到了现在,更多的编程语言在许多方面都像是重新造轮子 —— 它们许多都是满足下面属性的多种组合:

License

开源;商业

平台

操作系统、硬件支持

语言范式

面向过程、函数式、面向对象等

类型系统

动态、静态等

并发

单线程、多线程

内存管理

垃圾回收(自动或手动)

执行

解释、编译到虚拟机、原生编译等

……

本文文字及图片出自 OSC开源社区

你对本文的反应是:

0

俺的神呀 0

赞一个 0

飘过~ 0

强 0

很实用 0

好文 0

笑死了 0

mark 0

敬佩 0

垃圾 0

0

看样子你已经点过这个了!

抱歉,你最多只能点三个!

你也许感兴趣的:

Rust 比 C 更快吗?

【程序员搞笑图片】Rust:愿者上钩

对 Rust 10 年的押注以及我对未来的期待

Java 30 年:一门为失败的小工具设计的语言如何成为全球强势语言

Rust 10 周年:一部破电梯如何彻底改变了软件

世界末日的最佳编程语言

编程语言的选择

Julia 的新天地

【程序员搞笑图片】数据类型简明指导

33 种编程语言的 UUIDv7 实现

发表回复 取消回复您的邮箱地址不会被公开。 必填项已用 * 标注

评论 *

显示名称 *

邮箱 *

网站

相关数据

bat365验证 汽车之家

汽车之家

⌚ 07-05 👁️ 9392
谁有365体育投注网站 脏辫做完要洗头吗 脏辫多久洗一次头 脏辫洗头要拆开吗

脏辫做完要洗头吗 脏辫多久洗一次头 脏辫洗头要拆开吗

⌚ 06-28 👁️ 5125
365日博贴吧 艾利和E40音质差在哪:深度剖析改进要点

艾利和E40音质差在哪:深度剖析改进要点

⌚ 07-11 👁️ 3758