像大多数人一样,我在C之后学习了C++.我学习了C++,因为它是那些取得工作的语言之一.我仍然在学习(做主人).我的一位表兄弟已经作为开发人员工作了大约12年.
他建议我学习Java,以便我能找到一份好工作.他说,只有少数部门如远程通信使用C++,而且几乎所有的企业软件都是用Java开发的.我在大学当学生技术员.这项工作涉及使用C++进行Windows编程.我学习了核心Java.我不知道Struts,Hibernate或其他任何东西.
为了更加安全,我打算掌握两者.但我认为Java是一个大洋,虽然使用Java编程比使用C++更容易(这是我的观点.C++爱好者不会杀了我).
那些极客和专业人士在那里建议我.你认为我应该学习它们吗?软件行业的哪些部门使用C++?
我作为本科生的最佳建议来自我的语言教授,他告诉我(在这里解释):"不要记住语言;不要嫁给自己的语言.他们只是工具.他们都做同样的基本事情.而不是学习特定的语言,学习良好的软件开发的基础.然后你将能够采取任何语言,并成功地使用它."
在他告诉我之前,我担心学习新语言.后来,我把他的建议铭记于心,这就完全不同了.语言只是工具箱中的工具.如果您可以用一种语言编写和编写好的软件,那么您可以在另一种语言中编写和编写.
C++仍广泛用于性能密集型任务.例如,我在视频压缩和解压缩方面做了很多工作 - 它都是C++.部分是因为我们需要性能,部分是因为所有需要使用的第三方库都是C++,所以如果我们使用相同的语言,它们更容易与它们集成.
关于使用C++的项目的简要介绍:
设备驱动开发
游戏
先进的引擎(音频,图像处理等)
电信
嵌入式软件(设备等)
C++甚至还没有死.
我的经验:
Bloomberg,路透社以及所有想要低延迟市场数据源的银行/交易客户都使用C++.(富达,摩根大通,法国巴黎银行,花旗银行等)
国防工业使用C++.(在其他语言中 - Java也很受欢迎)
这些行业也使用java和其他语言,但C++很难被击败.还要注意,有一个巨大的现有C++代码库需要很长时间才能消失(如果有的话)
不难知道并使用它们.不要过分担心某种语言.这不是开发软件的真正关键.
一些网站称自己谷歌认为它广泛使用C++.感谢上帝,他们不需要性能来索引那里的几个网站.
如果这个Interweb东西起飞,他们将陷入真正的麻烦.( - :
但严重的是,除了当前频道(reversion?)改为C和Perl之外,前四个项目都是C++.
为世界上几家主要航空公司提供大规模的离港控制系统(每天30,000个10MB日志文件)
新型军用飞机的飞行训练模拟器和地面软件验证平台
现有空中交通管制模拟器的大规模框架,用于整合新的航空电信网络(ATN)
一种先进的雷达处理和显示系统,用于路上空中交通管制中心
一切都非常有意义.
视频游戏仍然使用C++.想到的一个例子是Torque引擎,可用于iphone和xbox游戏开发.
C++并不是一个接近死亡的地方,正如其他人所建议的那样,不要嫁给一种语言.如果你在就业前景方面学习C++,我宁愿建议你选择一个编程范式的代表.
C - 命令式编程
C++/Java/Obj-C - OOP
Lisp/Haskell/Scheme - 函数式编程
调整范式通常比拾取语言本身更难.希望其他人可以提出其他建议.
许多国防承包商,特别是在处理硬件时,使用C++
许多先进医疗设备制造商(如MRI)使用C++.
如果可以,我说要学习两者.即使你最终使用像C++/C#这样的沙盒语言,拥有C++基础也是件好事.太多人不理解基础知识.
请注意,不同的城市拥有特定语言的大多数工作.去你认为你最终进入的城市的craigslist工作板,看看他们寻求什么.例如,匹兹堡是一个C#镇,而纽约则更加平衡.
C++仍广泛用于工程应用,例如高端CAD/CAM系统.
我认为本机代码的死亡被夸大了.甚至微软也已经放弃了在Visual Studio 2008中使用C++来完成.NET.它似乎正在积极地改进其本机C++开发工具,以及使托管世界更容易互操作.
我的建议,学习C#.目前,几乎50%的工作列表是Java,而其他50%的工作列表是C#,只有少数列出了C++.
也就是说,使用C++的人知道他们为什么使用它并且可能有很好的用例......这意味着你将真正学会如何在最高级别使用该语言......同时公司在Java中挖掘业务逻辑应用程序/ C#可能不会那么快地教你编程.
如果您决定参加C++工作,请确保商店有效地使用STL并且他们正在使用Boost.不是看着使用Boost/STL,而是实际使用它.