C是编写操作系统最常用的编程语言。用C编写的第一个操作系统是Unix。后来的操作系统如GNU / Linux都是用C语言编写的.C不仅是操作系统的语言,它还是当今几乎所有最流行的高级语言的前身和灵感。事实上,Perl,PHP,Python和Ruby都是用C语言编写的。
通过类比,假设您将学习西班牙语,意大利语,法语或罗马尼亚语。你认为懂拉丁语对你有帮助吗?正如拉丁语是所有这些语言的基础一样,了解C将使您能够理解和欣赏基于C传统的整个编程语言家族.C的知识可以实现自由。
为什么是C,而不是汇编语言?
虽然汇编语言可以提供程序的速度和最大程度的控制,但C提供了可移植性。
使用不同的汇编语言编程不同的处理器,并且必须选择和学习它们中的一个太随意。实际上,C的主要优势之一是它结合了各种计算机体系结构的通用性和可移植性,同时保留了汇编语言提供的大部分硬件控制。
例如,可以在HP 50g计算器(ARM处理器),TI-89计算器(68000处理器),Palm OS Cobalt智能手机(ARM处理器),原始iMac(PowerPC),Arduino(Atmel)上编译和运行C程序。AVR)和Intel iMac(Intel Core 2 Duo)。这些设备中的每一个都有自己的汇编语言,与任何其他设备的汇编语言完全不兼容。
装配虽然功能非常强大,但是很难编写大型应用程序并且难以以合理的方式阅读或解释。C是一种编译语言,可以创建快速有效的可执行文件。它也是一个小的“你看到的就是所有你得到的”语言:一个C语句最多只对应一些汇编语句,其他一切都由库函数提供。
所以C是如此受欢迎的语言难怪吗?
就像推翻多米诺骨牌一样,下一代计划也跟随其祖先的潮流。用C设计的操作系统总是有用C语言设计的系统库。这些系统库反过来用于创建更高级的库(如OpenGL或GTK),这些库的设计者经常决定使用系统库使用的语言。 。应用程序开发人员使用更高级别的库来设计文字处理器,游戏,媒体播放器等。他们中的许多人会选择使用上级图书馆使用的语言进行编程。这种模式一直在继续……
为什么是C,而不是另一种语言?
C的主要设计是生成可移植代码,同时保持性能并最小化占用空间(CPU时间,内存使用,磁盘I / O等)。这对于操作系统,嵌入式系统或性能很重要的其他程序非常有用(“高级”接口会影响性能)。使用C,可以相对容易地保持对给定行真正做什么的精神图像,因为大多数事情都是在代码中明确写出来的。C为低级应用程序提供了很大的代码库。它是UNIX的“本机”语言,使其具有灵活性和可移植性。它是一种稳定而成熟的语言,不太可能在很长一段时间内消失,而且已被移植到大多数(如果不是全部)平台上。
一个有力的原因是内存分配。与大多数编程语言不同,C允许程序员直接写入内存。C中的关键结构(如结构,指针和数组)旨在以高效,与机器无关的方式构造和操作内存。特别是,C可以控制数据结构的内存布局。此外,动态内存分配在程序员的控制之下(这也意味着内存释放必须由程序员完成)。像Java和Perl 这样的语言使程序员不必管理内存分配和指针的大部分细节(内存泄漏除外)和一些其他形式的超额内存使用)。这可能很有用,因为在构建高级程序时处理内存分配是一个高度容易出错的过程。但是,在处理低级代码(例如控制设备的操作系统部分)时,C提供了统一,干净的界面。大多数其他语言都不存在这些功能。
虽然Perl,PHP,Python和Ruby可能功能强大,并且支持C中默认未提供的许多功能,但它们通常不是用自己的语言实现的。相反,大多数此类语言最初依赖于使用C(或其他高性能编程语言)编写,并且需要将它们的实现移植到新平台才能使用它们。
与所有编程语言一样,您是否希望选择C而不是其他高级语言是一个意见问题,技术和业务要求都可以决定所需的语言。
猜你想读: 《C编程.简介》2.历史