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

职场   2025-01-10 11:28   福建  
如果你刚刚开始学习编程,你可能会发现很多编程语言以 “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 语言是编程语言的基石之一,它的影响无处不在,看下图就知道了。


编程语言很多,学习最头大的应该入门阶段,26 个字母都认识,拼起来作为代码就很难理解了,而且各种专业名词也是,看着就让人发懵,啥变量、函数的,感觉脑袋都要炸了,完全不知道从哪儿下手。

不过呢,现在迎来了 AI 时代, 各种 AI 小助手,让很多编程语言学起来简单不少,比如近期阿里云推出的通义灵码 AI 程序员,打破开发者编程语言的边界,Java 开发者也能使用 Python、JavaScript 等多种语言,快速编写网页、小工具、小游戏。

更厉害的是,它还能让开发者高效、沉浸地编码,通过全程对话协作,就能搞定业务开发、问题修复、单元测试生成等复杂任务,从 0 到 1 都能搞定。

以下展示了通义灵码多文件代码修改能力:

此外它还可以自动感知编译或调试的报错信息,并根据要求给出修复解决方案和代码建议:


参考链接:https://www.reddit.com/r/learnprogramming/comments/1bsyg5p/why_are_there_so_many_programming_languages_with/


菜鸟教程
学的不仅是技术,更是梦想!
 最新文章