如果你刚刚开始学习编程,你可能会发现很多编程语言以 “C” 字母开头,比如 C、C++、C#、甚至还有 CSS。
有人就提问了:
为什么有那么多以字母 “C” 开头的编程语言?
有个高赞的回答,翻译如下:
以前有一种名为 BCPL 的语言,然后从它衍生出了一种名为 B 的语言。
之后,创造 B 语言那批人又开发了另一种语言 C,因为 C 是字母表中 B 字母的下一个字母。
然后你提到的其他语言(除了 CSS)都是 C 语言的变种。
C++(根据作者的说法)是 C 语言的改进版本,++ 是自增运算符,所以它就像是 C+1。
Objective-C 是支持对象的 C 语言。
C# 的故事大致相同,音乐中的 # 表示音符升高半音,所以 C# 就是 “更高” 或 “更好” 的 C 语言。
C# 也有人认的名字来源于 “C++++”,其中四个加号排列成 #。
这些语言已经从 C 语言发展得如此之远,以至于它们远不止这些简单描述所能解释的,但这就是基本的概念。
CSS 与 C 语言没有半毛钱的关系,CSS 英文全称 Cascading Style Sheets,所以它的 C 是 Cascading,代表级联的意思。
C 语言的起源:
从 B 到 C
我们回到编程语言的早期历史,
C 语言的名字其实只是字母表的延续,B 之后就是 C:
-
BCPL:在 20 世纪 60 年代,有一种叫做 BCPL(Basic Combined Programming Language)的语言,它是早期系统编程的重要工具。
-
B 语言:后来,BCPL 被简化成了 B语言,由贝尔实验室的 Ken Thompson 和 Dennis Ritchie 开发,B语言主要用于 Unix 操作系统的开发。
-
C 语言:随着需求的增加,B 语言逐渐显得力不从心。于是,Dennis Ritchie 在 B 语言的基础上开发了 C 语言。
所以 C 语言的名字的来源很简单,就是因为它是 B 的下一个字母。
C的衍生语言:
C++、C#、Objective-C
C 语言之后又发展了很多语言,
这些语言的名字中也都带有 “C”,但它们的目标和特性各不相同:
-
C++:
C++ 是 C语言的扩展,由 Bjarne Stroustrup 开发。名字中的
++
是 C 语言中的自增运算符,寓意 C 语言的升级版。C++ 引入了面向对象编程(OOP)的特性,使其更适合大型软件开发。
-
C#:
C#(读作“C Sharp”)是微软开发的一种语言,主要用于 Windows 应用程序开发。名字中的
#
在音乐中表示
音符升高
,寓意 “比 C 更高一级”。
-
Objective-C:
Objective-C 是 C语言的另一种扩展,主要用于苹果的 macOS 和 iOS 开发。它在 C语言的基础上添加了面向对象的特性。
-
Carbon:
Carbon 是 Google 开发的实验性编程语言,于 2022 年 7 月发布 。Carbon 语言的主要目标是解决 C++ 的一些不足之处,同时提供与 C++ 的双向互操作性,允许在 Carbon 文件中包含 C++ 代码。
这些语言虽然都以 “C” 字母开头,但它们在功能和用途上已经与 C语言有了很大的不同。
正如一位用户所说:“这些语言已经从C语言中分叉出来,变得非常不同,但它们的故事都始于 C。”
C 语言之在计算机科学的历史中扮演了关键角色,它的设计理念(如简洁、高效、贴近硬件)影响了许多后来的语言。无论是 C++、C#,还是 Go 和 Carbon,它们都在某种程度上继承了 C 语言的精神。
可以说,C 语言是编程语言的基石之一,它的影响无处不在,看下图就知道了。
参考链接:https://www.reddit.com/r/learnprogramming/comments/1bsyg5p/why_are_there_so_many_programming_languages_with/