刚入门的程序猿们,此时正在与磨人的小妖精——C语言在抗争。可能牺牲了几大把头发,换来的也只是对C语言的一知半解。俗话说得好:知己知彼,方能百战百胜。今天就让我们来看下这个C语言究竟来自何方。
首先我们知道,语言最开始可以分为机器语言与汇编语言。对于机器这种死板的东西,他大概只能识读01吧;而汇编语言则用代码减轻了机器的负担。
但由于汇编语言的局限性,人们迫切需要一些高级语言。这就有了C语言的原型——B语言。B语言是于1969年前后由美国贝尔实验室的电脑科学家肯·汤普逊设计出来的,它是一种无类型语言,所有的数据都和机器字相对应,并且程序员可以直接通过内存地址操作内存。但是,随着历史的发展,B语言表现出许多的局限性。最大的问题就是B语言的无类型特性。
终于丹尼斯·利奇开始对B语言进行改造,其中最重要的是引入了数据类型的概念,这些改造最终使B语言演化为了计算机发展历史上最为重要的编程语言——C语言。

1973年初,C语言的主体完成。利奇迫不及待地开始用它完全重写了UNIX。随着UNIX的发展,C语言自身也在不断地完善。直到今天,各种版本的UNIX内核和周边工具仍然使用C语言作为最主要的开发语言,其中还有不少继承利奇之手的代码。
C语言继续发展,在1982年,很多有识之士和美国国家标准协会为了使这个语言健康地发展下去,决定成立C标准委员会,建立C语言的标准。委员会由硬件厂商,编译器及其他软件工具生产商,软件设计师,顾问,学术界人士,C语言作者和应用程序员组成。随后发表了许多的标准,一直沿用至今。
总之,对我们来说,学习好C语言是学习C艹等其他的基础,所以努力攻克他吧。

C语言发展史——程序猿抗争史相关推荐

  1. 【二十四史-史记】程序猿看史记-五帝本纪(一)

    <史记>是中国正史第一部,二十四史之首,与<资治通鉴>并称为"史学双璧".鲁迅给它最高评价"史家之绝唱,无韵之离骚" 初探史记 < ...

  2. 程序猿的崛起,一篇文章看懂编程语言

    王国维在<人间词话>里写道:古今之成大事业.大学问者,必经过三种之境界:"昨夜西风凋碧树.独上高楼,望尽天涯路."此第一境也."衣带渐宽终不悔,为伊消得人憔悴 ...

  3. 520表白姿势,程序猿都是这样操作的......

    掐指一算 今天是520表白节 还没来得及准备的人 要么被打断腿,要么注孤生 不过目测已经有一大批直男 死在了口嗨撩妹的路上 "你长得好像我妈的一个亲戚" "是吗?谁?&q ...

  4. uml 时序图_程序猿都应学习的语言:看 25 张图学 UML

    作者 | 逸珺 责编 | 屠敏 来源 | 嵌入式客栈 作为程序猿都最好掌握的一门语言,那就是UML(Unified Modeling Language),统一建模语言(UML)是软件工程领域中一种通用 ...

  5. 程序猿都应学习的语言:看 25 张图学 UML

    作者 | 逸珺 责编 | 屠敏 来源 | 嵌入式客栈 作为程序猿都最好掌握的一门语言,那就是UML(Unified Modeling Language),统一建模语言(UML)是软件工程领域中一种通用 ...

  6. 《C语言点滴》一第1章 程序猿 程序媛1.1 装备篇

    本节书摘来自异步社区<C语言点滴>一书中的第1章,第1.1节,作者 赵岩,更多章节内容可以访问云栖社区"异步社区"公众号查看 第1章 程序猿 && 程序 ...

  7. 《C语言点滴》一1.2 程序猿和互联网

    本节书摘来自异步社区<C语言点滴>一书中的第1章,第1.2节,作者 赵岩,更多章节内容可以访问云栖社区"异步社区"公众号查看 1.2 程序猿和互联网 C语言点滴 虽然你 ...

  8. rpgmaker是c语言编程吗,一起学rpgmaker脚本(1)【程序猿都能看懂的RGSS入门'`,、('∀`) '`,、】...

    严重提醒: 1.本入门以娱乐为本,本着教书误人的目的来讲解怎么艹rpgmaker的脚本. 2.教学主(简称"教主")射猎二次元领域极广,各类大坑小坑留坑无数,所以不排除本入门一次完 ...

  9. C语言学习历程——C语言发展史以及--Hello World 程序

    C语言之父 丹尼斯·麦卡利斯泰尔·里奇(英语:Dennis MacAlistair Ritchie,1941年9月9日-2011年10月12日),美国计算机科学家,他是C语言的创造者.Unix操作系统 ...

  10. 程序猿用C语言写给女友的一封情书

    一程序猿用C语言写给女友的一封情书,代码很简单,就是全部用宏定义进行替换,但是以为引用了中文,需要Unicode码的支持,能在VS2005及其以上版本编写调试  ↓↓↓ 永远说不出来的爱--俗称暗恋↓ ...

最新文章

  1. android打开wav格式,FileNotFoundException从Android资产中打开wav文件
  2. 产品经理和项目经理的区别
  3. fabric-ca-server 配置mysql数据库,区块链(4)
  4. mysql数据库21_Mysql5.7.21安装文档
  5. rsync+sersync实现数据文件实时同步
  6. Tensorflow之flags的用法介绍
  7. 深度学习修炼(一)——从机器学习转向深度学习
  8. Gdu – Windows 也能用的「命令行式」磁盘使用情况分析工具
  9. java9 stream_Java9 Stream API
  10. MySQL经常使用命令--create命令使用
  11. Asp.Net细节性问题精萃[转]
  12. 台达触摸屏DOP-B系列——通过宏和子画面弹出提示框
  13. vep文件转换mp4翻录教程
  14. 边做边记中航信酒店接口开发
  15. 字体字号磅数大小对照表
  16. JAVA---集合子接口之Set
  17. worldPress数据库
  18. Java项目:精美物流管理系统(java+SpringBoot+Vue+maven+Mysql)
  19. word中表格剩最后一行,一旦超过两行自动跳到下一页
  20. python来历_python的由来

热门文章

  1. java区间并集_区间并集求解算法实现
  2. 整理最全的图床集合——三千图床
  3. Win10文件无法重命名
  4. 【Trailhead题目解析】Prepare your salesforce org for users - 2Update the Exchange Rate with ACM
  5. Android 代码设置来电铃声
  6. 物联网方面的竞赛有那些?
  7. 美国国家机器人计划2.0部分项目简介
  8. HZOI20190903模拟36 字符,蛋糕,游戏
  9. c# 中控 触摸精灵_触摸精灵脚本编辑器
  10. Flutter 清除应用缓存