Hi,您好,欢迎来到西安盛图软件科技有限公司!

为什么要学C语言

发布时间:2021-03-04 16:08:35

为什么要学C语言


未命名的设计 (1).png 

为什么要把C语言作为第一语言去学习?

 

C语言(以及C++)几乎是现今计算机软件的基石,无论是操作系统、其它语言的编译器,甚至电饭煲里的单片机运行的程序,大多数是用C/C++编写的。

如果你不是怀着功利主义去学习编程,C语言其实是一个不错的编程入门语言。


首先,C语言相对许多现代语言来说是十分简单(或者说是原始)。它没有内置面向对象、函数式编程、源编程等编程范式的功能,只有30来个关键字,少量的概念。可以比较短时间内完整地学完这个语言。


第二,学习C语言适合同时学习计算机构架,各种数据类型(包括重要的指针)都是直接能和计算机构架的概念对应,语言里面没有魔法,都是很平凡直观。你会知道数据在内存中是怎么存储的,占多少个字节。很多语言的抽象层次更高,不能做到这一点。


第三,很对语言都有类似C语言的语法(如C#javajavaScript,例如花括号、分号、注释、ifforwhiledo while等等。用C语言入门编程后,这些知识可以过渡至其他语言。

 

由于大多数程序员或多或少学习过C语言,作为一门[通用语],各大网站都会介绍一些编程相关的知识,有些上班族工作中会C++/C#比较多。很多学C语言的学生不知道怎样写一些工程上有用的东西,有些学生会从零开始的JSON库教程就是用C语言作为例子

C语言中会有一些有意思的小知识点,比如:

malloc的坑,分少了会buffer overflow,忘记free了又会造成memory leak

unsigned int

如果你接触C语言,但不是系统学习和掌握的话,就不懂对应的系统知识,只能看着非常的confusing的bug找不出原因

 

编程中一个重要的概念是抽象,简单来说,就是把不需要的细节隐藏起来。


举个例子

你在用笔写字的时候,不会考虑笔头的构造是怎么样让墨水从笔芯里面流出来,然后留在纸上而只需要考虑这支笔能不能用。


C语言是面向过程的,所以抽象程度相对较低,更像是需要一拳一脚练习的《少林基本功》,所以搞清楚,要想学习编程,并且想在这条路上走很久的话,建议好好学练好扎实的基本功,为了更方便以后的学习。


C语言更像是武功的基础,《python》这样的语言也许一上来就直接舞一套《辟邪剑法》,但是如果对于体内真气走向不清晰的话,一旦出问题就容易走火入魔,更甚至是只有厉害的剑招,没有雄厚的内力支撑,这样的后果就是,一旦江湖再出现什么厉害的武功,你就只能感叹一句“*****”,然后加入争夺秘籍的队伍中,否则只能沦为后背的垫脚石。


C语言就是你要清楚体内每一根经脉的走向,真气汇聚的走向。这个不如python那样好学,但是相信我,只要熬过这个坎,别说什么辟邪剑法了,你就是心情大好想要打一套降龙十八掌,发一套六脉神剑,也只会感叹一句,天下武功果然是殊途同归啊,这就是高手和宗师的区别,也是个人价值的体现。


python》这种语言,有个两三年其它语言经验之后,想学的话,一两周就能快速上手,而C语言这样的语言,你搞五年《python》,难度对你来说都低不了多少,还是一个学习的过程。

天下武功出少林,对于编程语言更是如此,C语言作为始祖级的语言,肯定有缺点,但是这种讲究一拳一脚的练武方式,是普通人成长为宗师最佳的方式之一。


你看江湖,一会来个辟邪剑法,一会来一个九阴白骨爪,偶尔降龙十八掌还来跑个龙套,但是我少林武功依然屹立不倒,这也就是为什么我说要先学C语言,然后才考虑C++Java还是python还是PHP的原因。

 

学习有提高效率的方法,但是绝对没有捷径可言。


上一篇:傻傻分不清的网络知识
下一篇:软件测试的基本问题