C语言的起源

C语言是贝尔实验室的Dennis Ritchie于1969年~1973年间创建的。美国国家标准学会(American national standards institute,ANSI)在1989年颁布了ANSI C的标准,后来语言的标准化成了国际标准化组织(International Standards Organization,ISO)的责任。这些标准定义了C语言和一系列函数库,即所谓的C标准库。Kernighan和 Ritchie在他们的经典著作中描述了ANSI C,这本著作被人们满怀感情地称为“K8R”。用Ritchie的话来说,C语言是“古怪的、有缺陷的,但同时也是一个巨大的成功”。为什么会成功呢?

  • C语言与Unⅸ操作系统关系密切。 C从一开始就是作为一种用于Unix系统的程府语言开发出来的。大部分Unix内核(操作系统的核心部分),以及所有支撑工具和函数库都是用C语言编写的。20世纪70年代后期到80年代初期,Unix风行于高等院校,许多人开始接触C语言并喜欢上它。因为Unix几乎全部是用C编写的,它可以很方便地移植到新的机器上,这种特点为C和Unix赢得了更为广泛的支持。
  • C语言小而简单。 C语言的设计是由一个人而非一个协会掌控的,因此这是一个简洁明了、没有什么冗赘的设计。K&R这本书用大量的例子和练习描述了完整的C语言及其标准库,而全书不过261页。C语言的简单使它相对而言易于学习,也易于移植到不同的计算机上。
  • C语言是为实践目的设计的。C语言是设计用来实现Unix操作系统的。后来其他人发现能够用这门语言无障碍地编写他们想要的程序。

C语言是系统级编程的首选,同时它也非常适用于应用级程序的编写。然而,它也并非适用于所有的程序员和所有的情况。C语言的指针是造成程序员困惑和程序错误的一个常见原因。同时,C语言还缺乏对非常有用的抽象的显式支持,例如类、对象和异常,像C++和Java这样针对应用级程序的新程序语言解决了这些问题。

参考资料:

  1. 深度理解计算机系统(P2,3)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C/C++基础

编程语言分类

从1946年世界第一台计算机ENIAC诞生至今,计算机从早期的军事计算领域,已经渗透到人类生产和社会发展的各个领域。从政府机构到企业部门、从军事领域到民用行业、...

4563
来自专栏牛客网

面经--微博&&今日头条

1750
来自专栏顶级程序员

转行学习Python,完全0基础能否学会?

源 / python教程 文 / 小雨 人生苦短,我用Python,为啥这么说,因为我们有个金句:学完Python,便可上天 ~ 废话不多说,相信很多...

3495
来自专栏云飞学编程

Python机构系统高清大图分享!让你有方向地学!

Python语言简单易学,加上现在AI的盛行,学习Python成为了好多小伙伴们的选择。但是没有基础怎么自学Python呢?今天小编就来教教大家,并且小编整理了...

762
来自专栏Java Web

秋招提前批小结(CVTE一面挂、阿里三面挂)

1.自我介绍 2.有没有做过JavaWeb相关的项目?你觉得难点在哪里呢? 3.你这个博客系统有没有加权限系统?如果被拦截封包获取了账号密码怎么办?(没加,...

2731
来自专栏月牙寂

golang设计模式的一些看法

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

3095
来自专栏数据科学与人工智能

【数据挖掘】图数据挖掘

互联网发展至今,数据规模越来越大,数据结构越来越复杂,而且对系统的需求越来越高。如果学习过数据结构,那么都知道图是放在最后一个结构,当你学习了图,那么应该感知到...

2848
来自专栏Java大联盟

Java基础之面向对象

1045
来自专栏牛客网

前端面试:链家 -3月24日

一面 1. React组件通信 2. 什么是原型 3. CSS定位属性,怎么定位的 4. TCP与HTTPS的区别 5. 怎么获得对象上的属性(面试官期待的是O...

44011
来自专栏Jerry的SAP技术分享

你的项目刚刚启动?是时候考虑Globalization了!

关于这个很长的定语的由来,请参考这篇文章,里面有王聪的背景介绍,包括他种菜的特长:当我用UI5诊断工具时我用些什么。

1072

扫码关注云+社区