最近接受了CSDN网站的邀请,主持了一场“有一说一”节目,主要回答大家提出的有关C/C++语言的问题, 大约回答了50个问题, 除了一些涉及到源码的问题,有一些普遍的,带有共性的问题, 这里统一地回复一下。 带有共性的问题主要可以归结为三个: C/C++语言值不值得学? 好不好学? 怎么学? 以前我已经发表过一些博客的文章, 试图回答了这些问题。
为什么C语言不会过时?_zhaoyan_rock的专栏-CSDN博客
什么教材适合零基础的C语言学习者? – Yan's blog
为什么C语言很难?_zhaoyan_rock的专栏-CSDN博客_c语言难学吗
下面借着“有一说一”这次活动, 把我的一些观点和回答阐述一遍:
首先是C/C++语言值不值得学这一大类问题。
Q:博主 您怎么看待C++岗位越来越少了这件事?C++程序员的出路是什么?
Q:为啥要学c++呢
A:首先我要说明一下,即使C++岗位“越来越少”,也并不代表它会最终被淘汰。就像我们不能观察路上的轿车越来越多,就得出卡车会被淘汰的结论一下。卡车是否会被淘汰取决于是否有另外一种“车”能更好的替换或覆盖现在卡车的所有功能,但是在很远的未来这样的“车”暂时还不会出现。不信你看会飞的霸天虎也不能淘汰卡车,反倒经常败在卡车的手下:)。 同时,我也有一篇博客回答了类似的问题《为什么C语言不会过时?》大家可以在google上搜一下。
下面说说“越来越少”这个事,如果我们把时间轴放长,是这样的。上个世纪七八十年代,那个时候计算机语言本就不多,所以C语言承担了大部分的开发任务。我1990年开发Window程序,那个时候还是用C/C++调用WindowsAPI呢。现在世界上大约有两千多种语言。随着计算机的发展,计算的任务也变得五花八门。所以人们开发了不同的语言能够更好的完成不同的任务。 这方面我不是专家,但是我知道R语言擅长数据分析,C#语言擅长Window平台,Go擅长并发,java擅长跨平台等等。设想一下我们现在想打开一个CSV文件进行一些简单的处理,Python无疑是首选。所以这些语言分担了原本C/C++语言的一些工作,造成了C/C++语言“越来越少用”这一现象,这是正常的。同时这也是好事,让C++能更好的集中到自己擅长的领域。
C++擅长什么领域呢?八个字:高速,可靠,底层,嵌入。当我们进行这个问答的时候,我们的电脑正跑在C/C++语言构建的操作系统上,每