《C++的十万个为什么》 [19]学习C++,小弟我的方向在哪里

《C++的十万个为什么》 [19]学习C++,我的方向在哪里?
Q:

今天,一位朋友写了一封长长的邮件,问我学了C++,方向在哪里?
通过这封邮件,我仿佛看到了当年的自己,也许在每个人的成长过程中,都有这样一个迷茫的时期。我很感谢这位朋友对我的信任,就他的问题,我谈谈自己的看法。

  偶然的一次,在学校图书馆找书的时候翻到了您的那本《我的第一本C++书》,当时就被里面的内容吸引住了,就借了回去把它读完了。
  我是一个即将升大三的普通学校的本科生。和绝大多数的人一样,大一的时候玩的有点疯狂,几乎每门科都挂了,直接导致了很多基础没打好。我的专业是《软件(嵌入式)》,其实这是个忽悠人的名字,并不是真正的嵌入式,而是把印度的NIIT教材嵌到课程中,主要还是.net方向的。相比于C#,其实我有点感觉的是C++。直到大二开了一个学期的C++课,我才有点了解编程。于是打算好好看看C++,这期间读了一些书,当然最重要的是那本C++primer了。至今还没有完全消化它。再后来就是一些比较迷茫的阶段了。从网络上了解到C++的应用领域开始越来越窄,然后一次次的针扎,到乱看书。其实我现在的C++基础已经很不错了,但就是不知道这门语言能干什么,不晓得该能去做一个什么小项目。我知道语言并不是技术,只是一个方面而已。我只会在控制台写C++,根本弄不出一个像样的项目。感觉现在就卡在一个瓶颈下,但不知道下一步应该怎么走。MFC虽然有学习的价值,但要付出的代价也是昂贵的,都说与其这样还不如直接学Java,.net。QT最近的新闻又怕自己付出了很多最后还是一点市场也没有了。直接上windows编程的话又心有余而力不足。C++能干什么呢,或者说我离C++干项目还要走多远的路,或者说我现在能用C++练习什么样的项目来提高自己,想请教您。
  再后来就上上招聘网站,其实自己对游戏方面还是有点兴趣的,因为做出来了可以玩,会有一种成就感。所以就专门关注了一些C++方面的游戏招聘。看到AS3网页游戏的工资很高,现在就拿了本书看看,因为有C++的基础,发现看起来挺轻松的。想问您AS3现在还有搞头吗?如果从事游戏行的话需要哪些基础知识打牢?还有些疑问:对于一些PC游戏:如扫雷贪吃蛇连连看什么的,用VC好还是C#,Java;网页游戏呢?我知道对于大型游戏的话C++肯定要很扎实,Direx和OpenGL,如果想往这方面深入的话又需哪些基础?
  PS:最近很乱,没有一条主线,总是这个看看那个看看,需要帮忙指明方向,我现在只想好好打牢基础,毕竟还有两年的时候才工作,请您指明一条方向,万分感谢。顺便可以问下你QQ吗?以后有编程方面的问题可以来找你,真心想成为你一样的人才。

A:

你的问题,集中在C++的职业方向选择上。
确实如你所言,随着C#,Python等一些语言的兴起,C++的应用领域确实在变窄。但是我们应该看到这样两个现实的情况:

  虽然C++的应用领域在变窄,但是,在C++的传统优势领域,在一些需要大量计算的领域,C++还是拥有不可替代的优势,比如你所感兴趣的游戏开发,还有图像视频处理,电信, 金融, Unix环境, 服务端等等,凡是有服务器的地方,凡是需要大量计算的地方,几乎都是C/C++的天下。关于这一点,你可以参考这里的这一篇文章 可以参考。
  虽然C++是市场上的稍微少一点,但是它提供的职位的工资水平却几乎是最高的。C#,Java等的职位虽然多,但是工资水平却难以让人满意。

基于以上两点,我认为C++还是大有前途和大有钱途的。如果你真正喜欢C++,我鼓励你继续坚定不移地走下去。

谈到具体的方向问题,上面我提到哪些领域,都可以涉及。你所感兴趣的桌面游戏开发,更是C++的强项。我所理解的游戏开发,大约需要这样一些知识储备:
1,C++的基础知识
2,渲染技术,OpenGL,DirectX,最好精通一个,熟悉另外一个
3,网络开发技术,现在的游戏,大都是网络游戏,所以掌握一些网络开发技术是必要的
4,UNIX/Linux服务器相关的知识

以上,只是从知识技能层面讲,如果只是具备......

完整阅读
http://chenlq.net/dev/cpp-why/19-learning-c-my-direction-in-where.html
更多《C++的十万个为什么》系列
http://chenlq.net/category/dev/cpp-why

------解决方案--------------------
链接打不开啊