C语言的发展历史(简化)
1972年 -> 在B语言的基础上设计出了一种新的语言, 没错, 就是我们讲的C语言
1973年(初) -> C语言主体完成, 重写了UNIX操作系统, 随着UNIX的发展, C语言自身也在不断的完善
为什么选择C语言
一、 在计算机领域, C语言大小通吃
- 可以写网站后台程序 -> 使用Selet epoll poll函数等。
- 可以写出绚丽的GUI界面 -> 建议在windows中学习, Linux用作服务器的更多。
- 强大的程序库 -> 内存分配, 网络和URL解析、 字符串处理等。
- 可以写大型游戏的引擎 -> 要用gtk+, 比较难, C++相比C是一个更普遍的选择, 使用C++的引擎有COCOS2D-x 面向3a开发的udk等都是最典型的例子。
- 可以写出另一个语言 -> 比如 C++、 JAVA。
- 可以写操作系统和驱动程序 -> ReactOS、 Windows、 Linux等。
一句话, 没有C语言干不了的事情。
二、 掌握了C语言, 其他类似语言不学自通
就算没有不学自通的话, 学习别的编程语言也不会花太大的力气才能学会,
三、 C语言的优点
- 代码简洁、 紧凑 、 灵活性高
- 使用方便
- 功能强大
- 执行效率高
- 结构化语言
四、 当然没有完美的程序C语言也是有缺点的
- 危险性高
- 开发走起长
- 可移植性不强
程序设计语言
第一代 -> 机器语言 (以二进制代码0、 1, 构成)
第二代 -> 汇编语言 (add加法、 sub减法等)
第三代 -> 高级语言 (比如C语言)
速度对比(大致的了解一下)
机器语言 < 汇编语言 < 高级语言
机器语言的速度最快。
什么是面向过程 什么是面向对象(大致的了解一下)
为什么面向过程会比面向对象慢的, 可以用五子棋程序来说明。
面向过程
开始游戏 -> 黑子先走 -> 绘画画面 -> 判断输赢 -> 轮到白子 -> 绘制画面 -> 判断输赢 -> 返回步骤2(黑子先走)
面向对象
黑白双方, 这两方的行为是一模一样的 -> 棋盘系统、 负责绘制画面 -> 规则系统, 负责判定(例如 犯规、输赢等)
第一类对象(玩家对象)负责接受用户输入, 并告知第二类对象(棋盘对象)棋子布局的变化, 棋盘对象接收棋子的变化就要负责在屏幕上面显示出这种变化, 同时利用第三类对象(规则系统)未对棋盘进行判定。
其实学习终归是一件痛苦的事情, 所以呢, 面对学习你还是的得要认真用功, 努力的去学习, 享受的是什么? 是学习之后获得的那种成就, 快乐是从成就当中来的。 ————翁恺
课后学习
- 了解C语言是如何演变而来的。
- 了解机器语言、 汇编语言、 高级语言的区别、 及优缺点。
- 在本文下方评论(指正作者的错误 与 随笔意见), 让作者写出更好的文章。