专栏名称: 码小辫
给程序员和编程爱好者分享计算机编程电子书以及相关的学习资源
相关文章推荐
吃什么情报局  ·  原来不是智商税!日本 30+ ... ·  昨天  
企鹅吃喝指南  ·  无痛可持续减脂餐网购指南!(较好吃版) ·  3 天前  
润农畜牧报价  ·  2025年3月11日 ... ·  2 天前  
格上财富  ·  巴菲特:不及时纠正错误是最大的错误 ·  2 天前  
51好读  ›  专栏  ›  码小辫

为什么有那么多以字母“C”开头的编程语言?C、C++、C#、CSS

码小辫  · 公众号  ·  · 2025-01-29 17:10

正文

如果你刚刚开始学习编程,你可能会发现很多编程语言以 “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/







请到「今天看啥」查看全文