首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

觉得学C和C+没前途?无稽之谈!TIOBE 榜单给你答案

C/C++ 语言虽然年头最老,但在世界语言排行榜中仍然稳居前列。近期 TIOBE 公布了 10月度榜单。C++依然稳稳地坐上第四的宝座。同时与去年相比,C++现在是最快增长的语言。C++ 语言广泛的用于基础软件、桌面系统、网络通信、音频视频、游戏娱乐等诸多领域,是世界上使用最广泛的编程语言之一。在众多的编程语言中,C 和 C++ 语言是最深入的技术,以至于很少有机构可以开设 C/C++ 课程,因此导致在当前软件行业中,C/C++ 程序员成为“稀缺级”软件人才。

所谓“物以稀为贵”,稀缺就是核心竞争力,稀缺就意味着有很多待遇优厚的职位。具备 C/C++ 开发技能的工程师在行业内属于“稀缺”人才,而精通 Unix 和 Windows 双系统开发技能的 C/C++ 工程师则更加稀缺!

而且随着物联网技术的发展,C/C++技术在网络通信(移动网络、互联网、Zigbee 等专用网络)、多媒体处理、智能识别等领域得到了进一步的推动和发展。它们逐渐被用于医疗设备软件中,嵌入式语言(C 和 C++ 等)越来越流行,前途一片光明。

但很多人对C++语言都存在误解,以为C++就是C语言的扩展,包括我自己,最开始学习C++时也是这么认为的,一是因为名字太像了,然后C++面向过程部分,基本上如出一辙,各种思想基本一致,也难怪初学者会这么想。然后后面多了面向对象部分以及一些其他高级的内容,所以就理所当然的认为是C语言的扩充,直到深入学习后,也看到了大师们的看法,结合自己的思考,才真的体会到这种误解了。

C语言的灵魂是指针,掌握指针,C语言你可以说是学会了。但是,C++中,指针只不过是其中很小的一部分,我们不能否认指针在C++的重要性,但是,指针已经不是C++的核心了,而只是基础的部件而已。从这来看,C++确实不是C语言的扩展了。C++是借鉴了C语言,从C语言发展而来,但是C++走的太远太远,以至于变样了,回到家里,C都有点认不得它了。C++已经发展成了一门全新的语言了。

面向对象和泛型编程在思想体系中有一点点的冲突,对象是将数据封装成一个整体,有对象的方法来操作,而泛型编程却是使数据和方法分离,中间使用一个桥梁,让数据和方法进行连接操作,使操作更加灵活和强大。泛型编程在C++标准模板库STL中体现的淋漓尽致。但是,这面向对象和泛型编程思想却是不统一的,因此也就有人在批评C++的发展是不是有点混乱,有点自相矛盾不成体系,有点四不像。其实,从面向过程结合面向对象,C++就已经有点想通吃了,想做到一个语言无所不能,以至于后面的泛型编程的出现。当然,各部分之间是有联系的,不然就真的不能成为一个体系了,只不过联系不太紧密,比较疏松罢了。也正是C++想大一统的想法,才导致C++变得复杂,让很多初学者望而却步。这也是很自然的事情。

但是,话说回来,要真正学得很深入,不管是什么语言,都是要学很多东西的。只不过一个顺序而已。Java是纯面向对象语言,上手也快,但是要真正深入,同样要会面向过程,要懂得泛型编程等等,后面照样也是要花大量时间深入的,而C++只是上手比较难,但是上手后,一切都顺利了。想想,C++有点一站全的意思,其他语言有的,它都有,只不过一些概念名称不一样而已。C++学会了,其他语言几乎可以秒掉。当然C++要学得很深入。虽然C++是很强大,但是前期的准备是要好的,这就是我为什么总是强调基础的重要性,C++要的要的是这个。

C++从底层做起,没有扎实的基础,很难撑得起一片天空,所以要花大量时间学习C++的基础,基础学好,高级的特性,以及更高层的思想就能够轻松拿下。而其他语言就上手容易,但是深入很难,各种语言,到达终点的路径是一样长的,只是一个前紧后松和一个前松后紧的过程罢了。所以在选择语言时,C++作为长远的发展,几乎是最好不过的一个选择了。当然这个只是建议。

所以,想学好C++,必须脚踏实地,沉下心来学习,不能急躁,否则学不下去,也会不好,到时候说C++学了没用,那就是你自己的不对了。C++语言里,没有做不到的,只有想不到的。C++同时也是学无止境的,C++中无高手,是一些大师的信仰。但是,这个所谓的高手,肯定是那种出神入化的,不过,初学者的我们,暂时也不奢求达到那个地步,能够学到几层功力,实际解决问题是完全不成问题的。

还有一点,提醒一下,目前的操作系统,基本上是用C和C++以及汇编语言写的,Windows系统中,程序的运行,首先是运行C运行库,然后再启动程序的入口点函数,也就是所谓的主函数。主函数退出,程序也并没有真的退出,而是调用了C运行库,最后才终止的。具体过程,以后大家深入了必然会了解到。

在此只是给大家一个信号,C++和C都是很有前途的,不要怀疑。如果你想以编程语言立生,建议你先学习C语言打好基础。C与C++是一门通用计算机编程语言,是面向过程的语言,其语法结构及其严谨,且应用十分广泛。而且只要将C语言甚至C++研究透彻了的话,学习其他语言就会轻松很多。

所以,既然选择了一门语言,就要坚持踏实的学下去,不要有任何犹豫,有没有用就看自己学的怎么样,而不是语言本身的问题。

看到这里你是不是对“C语言”又有了一点新的认知呢~

如果你喜欢这篇文章的话,动动小指,加个关注哦~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201026A0GZGM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券