对于大部分程序员,C语言是学习编程的第一门语言,很少有不了解C的程序员。C语言除了能让你了解编程的相关概念,带你走进编程的大门,还能让你明白程序的运行原理,比如,计算机的各个部件是如何交互的,程序在内存中是一种怎样的状态,操作系统和用户程序之间有着怎样的“爱恨情仇”,这些底层知识决定了你的发展高度,也决定了你的职业生涯。如果你希望成为出类拔萃的人才,而不仅仅是码农,这么这些知识就是不可逾越的。也只有学习C语言,才能更好地了解它们。有了足够的基础,以后学习其他语言,会触类旁通,很快上手,7天了解一门新语言不是神话。C语言概念少,词汇少,包含了基本的编程元素,后来的很多语言(C++、Java等)都参考了C语言,说C语言是现代编程语言的开山鼻祖毫不夸张,它改变了编程世界。正是由于C语言的简单,对初学者来说,学习成本小,时间短,结合本教程,能够快速掌握编程技术。在世界编程语言排行榜中,C语言、Java和C++霸占了前三名,拥有绝对优势,如下表所示:
年01月榜单排名语言占有率1C16.%Java15.58%3Objective-C6.%4C++6.%5C#5.%6PHP3.%7JavaScript3.74%8Python.%9Perl.56%10PL/SQL.%年06月榜单排名语言占有率1Java17.8%C16.%3C++7.%4C#5.%5Objective-C4.%6Python3.%7VisualBasic.NET3.%8PHP.%9JavaScript.95%10Delphi/ObjectPascal1.%年01月榜单排名语言占有率1Java14.15%C11.%3C++5.%4Python4.%5C#3.%6JavaScript3.%7VisualBasic.NET3.61%8R.%9PHP.53%10Perl.%年,由于小型软件设备的蓬勃发展以及汽车行业底层软件的增加,C语言还拿下了「年度编程语言」的桂冠,成为年全球增长最快的编程语言。下表列出了最近10年的“年度编程语言”:
年份优胜者CGoJavaJavaScriptTransact-SQL01Objective-CObjective-CPythonGoC当然,C语言也不是没有缺点,毕竟是70后老人,有点落后时代,开发效率较低,后来人们又在C语言的基础上增加了面向对象的机制,形成了一门新的语言,称为C++。
C语言难吗?和Java、C++、Python、C#、JavaScript等高级编程语言相比,C语言涉及到的编程概念少,附带的标准库小,所以整体比较简洁,容易学习,非常适合初学者入门。编程语言的发展大概经历了几个阶段,汇编语言--面向过程编程--面向对象编程:
汇编语言是编程语言的拓荒年代,它非常底层,直接和计算机硬件打交道,开发效率低,学习成本高;
C语言是面向过程的编程语言,已经脱离了计算机硬件,可以设计中等规模的程序了;
Java、C++、Python、C#、PHP等是面向对象的编程语言,它们在面向过程的基础上又增加了很多概念。
C语言出现的时候,已经度过了编程语言的拓荒年代,具备了现代编程语言的特性,但是这个时候还没有出现“软件危机”,人们没有动力去开发更加高级的语言,所以也没有太复杂的编程思想。也就是说,C语言虽然是现代编程语言,但是它涉及到的概念少,词汇少,思想也简单。C语言学习成本小,初学者能够在短时间内掌握编程技能,非常适合入门。
C语言是计算机产业的核心语言也许是机缘巧合,C语言出现后不久,计算机产业开始爆发,计算机硬件越来越小型化,越来越便宜,逐渐进入政府机构,进入普通家庭,C语言成了编程的主力军,获得了前所未有的成功,操作系统、常用软件、硬件驱动、底层组件、核心算法、数据库、小游戏等都使用C语言开发。雷军说过,站在风口上,猪都能飞起来;C语言就是那头猪,不管它好不好,反正它飞起来了。
C语言在计算机产业大爆发阶段被万人膜拜,无疑会成为整个软件产业的基础,拥有核心地位。软件行业的很多细分学科都是都是基于C语言的,学习数据结构、算法、操作系统、编译原理等都离不开C语言,所以大学将C语言作为一门公共课程,计算机相关专业的同学都要学习。C语言被誉为“上帝语言”,它不但奠定了软件产业的基础,还创造了很多其它语言,例如:
PHP、Python等都是用C语言开发出来的,虽然平时做项目的时候看不到C语言的影子,但是如果想深入学习PHP和Python,那就要有C语言基础了。
C++和Objective-C干脆在C语言的基础上直接进行扩展,增加一些新功能后变成了新的语言,所以学习C++和Objective-C之前也要先学习C语言。
C语言是有史以来最为重要的编程语言:要进入编程行业高手级别必学C语言,要挣大钱必学C语言,要做黑客、红客必学C语言,要面试名企、外企、高薪职位必学C语言。
预览时标签不可点收录于话题#个上一篇下一篇