C语言仅仅是一种基础语言,它的标准库也很简单,只提供了最基本的功能,如果希望开发出实用的程序,往往还需要学习其他方面的知识。例如:
(1)开发硬件驱动要学习数字电路,了解 Windows 或 Linux 内核,阅读硬件厂商的接口说明书;
(2)从事嵌入式开发要学习数字电路、模拟电路、ARM、Linux、Qt等;
(3)开发PC软件要学习Windows编程,了解 GTK。
如果只会C语言,基本上是没啥用,也是找不到工作的,C语言不过是冰山一角,是一项基本技能而已。
C语言几乎不用来做软件、网站、APP等这些应用层开发,其它的编程语言能够更好地完成任务,没必要非得使用C语言,C语言基本都是用来做底层开发,也就是看不见摸不着的、在后台默默提供服务的那些项目,而这样的项目对初学者来说基本没有实用价值,初学者也不知道它们该怎么使用。
C语言虽然用来开发单片机或者嵌入式,但是这个方向是软硬件结合的,不是在我们的电脑上进行开发,而是在特殊的开发板上进行开发,并且还需要学习数字电路、模拟电路、汇编、ARM、Linux 等方面的知识,只学C语言同样也没有用武之地。
但是,学习C语言并不一定是要应用它,C语言可以夯实你的编程基础,尤其是数据结构、算法、内存、线程、进程、通信、操作系统等底层的计算机知识,没有C语言基础是学不好的。这些底层知识并不一定能够直接应用在实际开发中,但是它们会让你有底气,会让你透彻地理解编程概念。
C语言和C++
C++是C语言的拓展和升级,极大提高了程序员的开发效率。和C语言类似,C++也是一门通用性的语言,主要用于PC软件开发、服务器底层开发、游戏开发等。C++和C语言之间有着非常模糊的界限,很少有只会C语言的程序员,往往还需要掌握C++,以提高开发效率。
另外,学习C语言并不一定要从事与C语言有关的开发工作。C语言是一门简单、底层、较早的编程语言,后来的很多语言在语法上都和C语言类似,称为“类C语言”,例如 Java、C++、C#、PHP、JavaScript 等,学完C语言再学这些语言都很容易上手。学习C语言,能够让你更加深刻的认识内存和编译原理,了解程序的每一个细节,夯实基本功。