对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。
C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。
如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会触类旁通,很快上手,7 天了解一门新语言不是神话。
C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。
正是由于C语言的简单,对初学者来说,学习成本小,时间短,结合本教程,能够快速掌握编程技术。
在世界编程语言排行榜中,C语言、Java 和 C++ 霸占了前三名,拥有绝对优势,如下表所示:
--2015年01月榜单2015年06月榜单2016年04月榜单
排名语言占有率语言占有率语言占有率
1C16.703%Java17.822%Java20.846%
2Java15.528%C16.788%C13.905%
3Objective-C6.953%C++7.756%C++5.918%
4C++6.705%C#5.056%C#3.796%
5C#5.045%Objective-C4.339%Python3.330%
6PHP3.784%Python3.999%PHP2.994%
7JavaScript3.274%Visual Basic .NET3.168%JavaScript2.566%
8Python2.613%PHP2.868%Perl2.524%
9Perl2.256%JavaScript2.295%Ruby2.345%
10PL/SQL2.014%Delphi/Object Pascal1.869%Visual Basic .NET2.273%
C语言诞生于20世纪70年代,年龄比我们都要大,请猛击《C语言的发展及其版本》了解更多。
当然,C语言也不是没有缺点,毕竟是70后老人,有点落后时代,开发效率较低,后来人们又在C语言的基础上增加了面向对象的机制,形成了一门新的语言,称为C++,我们将在VIP教程《C和C++到底有什么关系》中讲解。
C语言和Python
最近几年,有一门新的语言异军突起,夺得了大家的眼球,它就是Python。
在我们开始学编程的时候,Python并不是那么“甚嚣尘上”,中文资料也不多,绝大部分人还是从C学起,大学的课程也是这样安排的,先学C、再学汇编、C++、Java等,把C作为一门基础语言。
现在情况不同了,有一部分初学者放弃了C,从Python开始学起,认为Python简单,容易学习,不像C那么晦涩。
其实,Python 的“简单”主要是指代码格式清晰,语法没有那么严格,例如,在屏幕上显示“C语言中文网”:
print "C语言中文网"
对比C语言的代码:
puts("C语言中文网");
你看,Python不需要括号,也不需要最后的分号。
但是,不要被误导了,Python涉及到的编程概念和编程思想并不简单,比C语言要多要复杂。以我的实际感受,Python的学习成本并不比Java、C++小。
任何编程语言都一样,不管是你的学长学姐告诉你简单,还是你自己认为简单,其实都是错误的观念,不要被这些观念误导。
你可以认为X语言比Y语言在软件开发方面更加优秀,或者M语言比N语言在数据挖掘方面更加方便,但是绝不能认为哪一种语言更加简单。每一种编程语言都有自己的应用领域,要学习合适的语言,而不是“简单”的语言。
总之,我不认为学习Python的成本比C小。
值得一提的是,Python也是用C来开发的,如果你希望更好的学习Python,那么肯定也要学习C。