哪个软件行业使用C ++?

时间:2009-02-11 16:26:19

标签: java c++ jobs

和大多数人一样,我在C之后学习了C ++。我学习了C ++,因为它是那些取得工作的语言之一。我仍然在学习(做主人)。我的一位表兄弟已经作为开发人员工作了大约12年。

他建议我学习Java,这样我就能找到一份好工作。他说,只有少数部门如远程通信使用C ++,而且几乎所有的企业软件都是用Java开发的。我在大学当学生技术员。这项工作涉及使用C ++进行Windows编程。我学习了核心Java。我不知道那些StrutsHibernate或其他任何内容。

为了更加安全,我打算掌握两者。但我认为Java是一个大洋,虽然使用Java编程比使用C ++更容易(这是我的观点.C ++爱好者不会杀了我)。

你有什么极客和专业人士在那里建议我。你认为我应该学习它们吗?软件行业的哪些部门使用C ++?

25 个答案:

答案 0 :(得分:55)

我作为本科生的最佳建议来自我的语言教授,他告诉我(在这里解释):“不要记住语言;不要嫁给自己的语言。他们只是工具。他们都做相同的基本事情。学习良好的软件开发的基础,而不是学习特定的语言。然后你就能够学习任何语言并成功。“

在他告诉我之前,我担心学习新语言。后来,我把他的建议铭记于心,这就完全不同了。语言只是工具箱中的工具。如果您可以用一种语言编写和编写好的软件,那么您可以在另一种语言中编写和编写。

答案 1 :(得分:19)

C ++仍广泛用于性能密集型任务。例如,我在视频压缩和解压缩方面做了很多工作 - 它都是C ++。部分是因为我们需要性能,部分是因为所有需要使用的第三方库都是C ++,所以如果我们使用相同的语言,它们就更容易与它们集成。

答案 2 :(得分:19)

关于使用C ++的项目的简要介绍:

  • 设备驱动程序开发
  • 游戏
  • 高级引擎(音频,图像处理等)
  • 电信
  • 嵌入式软件(设备等)

答案 3 :(得分:16)

C ++甚至还没死。

我的经历:

彭博,路透社以及所有想要低延迟市场数据源的银行/交易客户都使用C ++。 (富达,摩根大通,法国巴黎银行,花旗银行等)

国防工业使用C ++。 (在其他语言中 - Java也很受欢迎)

这些行业也使用java和其他语言,但C ++很难被击败。还要注意,有一个巨大的现有C ++代码库需要很长时间才能消失(如果有的话)

不难知道并使用它们。不要过分担心某种语言。这不是开发软件的真正关键。

答案 4 :(得分:11)

一些网站称自己谷歌认为它广泛使用C ++。感谢上帝,他们不需要表现来为那里的少数网站编制索引。

如果这个Interweb东西起飞,他们将陷入真正的麻烦。 ( - :

严重的是,除了当前频道(reversion?)改为C和Perl之外,前四个项目都是C ++。

  1. 世界上几家主要航空公司的大型离港控制系统(每天30,000个10MB日志文件)
  2. 新型军用飞机的飞行训练模拟器和地面软件验证平台
  3. 现有空中交通管制模拟器的大型框架,用于整合新的航空电信网络(ATN)
  4. 路上空中交通管制中心先进的雷达处理和显示系统
  5. 一切都非常有意义。

答案 5 :(得分:9)

视频游戏仍然使用C ++。想到的一个例子是Torque引擎,可用于iphone和xbox游戏开发。

答案 6 :(得分:6)

C ++并没有接近死亡,而且正如其他人所建议的那样,不要将自己嫁给一种语言。 如果你在就业前景方面学习C ++,我宁愿建议你选择一个编程范式的代表。

  • C - 命令式编程
  • C ++ / Java / Obj-C - OOP
  • Lisp / Haskell / Scheme - Functional Programming

调整范式通常比拾取语言本身更难。希望其他人可以提出其他建议。

答案 7 :(得分:5)

许多国防承包商,特别是在处理硬件时,使用C ++

许多先进医疗设备制造商(如MRI)使用C ++。

如果可以,我会说要学习。即使你最终使用像C ++ / C#这样的沙盒语言,拥有C ++基础也是件好事。太多人不了解基础知识。

请注意,不同的城市拥有特定语言的大多数工作。去你认为你最终进入的城市的craigslist工作板,看看他们寻求什么。例如,匹兹堡是一个C#镇,而纽约则更加平衡。

答案 8 :(得分:5)

C ++仍广泛用于工程应用,例如高端CAD / CAM系统。

我认为原生代码的死亡被夸大了。甚至微软也已经放弃了在Visual Studio 2008中制作C ++所有关于.NET的东西。它似乎再次积极地改进其原生C ++开发工具,以及更容易与托管世界互操作。

答案 9 :(得分:5)

我的建议,学习C#。目前,几乎50%的工作列表是Java,而其他50%的工作列表是C#,只有少数列出了C ++。

也就是说,使用C ++的人知道他们为什么要使用它并且可能有很好的用例...这意味着你真的会学习如何在最高级别使用这种语言......同时公司也会破解业务逻辑Java / C#中的应用程序可能不会那么快地教你编程。

如果您决定参加C ++工作,请确保商店有效地使用STL并且他们正在使用Boost。不是看着使用Boost / STL,而是实际使用它。

答案 10 :(得分:3)

Bjarne Stroustrup有一个用C ++编写的companies/applications列表。

答案 11 :(得分:3)

关键词:银行业(金融机构),游戏

哦,还有粒子物理学家和其他科学家使用(in)着名的ROOT框架。

并查看基于C ++的应用程序的this list

答案 12 :(得分:2)

您的大学没有任何基于Java的课程?那太奇了!!

您不仅应该学习C ++和Java,还应该学习几种语言和范例

答案 13 :(得分:2)

我倾向于同意你的表弟。 Java绝对用于更多的企业应用程序(想想银行或保险公司需要的东西),而C ++则用于更多“利基”市场。我也同意你的观点,Java比C ++更容易学习和掌握。承认这一点并不羞耻或冒犯。

我们使用我工作的地方,用C ++编写嵌入式软件,但是用Java编写的GUI应用程序与它进行通信。对于这两种语言(以及更多语言)来说,软件行业肯定有足够的空间。

答案 14 :(得分:2)

大多数打包的软件仍然是用C ++编写的。这意味着游戏,办公应用程序,图形和视频编辑器以及操作系统。事实上,如果你想到你每天使用的不在线的软件,很可能是用C ++(或C或Objective-C)编写的。它不是用Java,Python,Ruby,Perl等编写的。虽然打包的软件变得不那么普遍,但它仍然使用了很多,并且不会很快消失。

无论是嵌入式操作系统还是桌面操作系统几乎都是用某种C语言编写的。已经尝试用Java或C#编写它们,但这些都没有成功。您的所有驱动程序也都使用某些C变体编写。我不认为这会很快改变。

答案 15 :(得分:1)

我建议学习多种语言。我在通信行业工作,是的,我们使用C ++,但是我们正在开发的很多项目都是用Java编写的。

我建议你学习:

1)C ++ / C. 2)Java 3)Erlang或Haskel 4)Ruby

这将帮助您理解一种语言中存在但不存在于另一种语言中的概念。也有助于市场化。

看一下tiobe programming index,你会感受到语言的兴起。

答案 16 :(得分:1)

我的建议是掌握你喜欢的任何语言。我很了解C ++和Java,并且专业地使用过。但是,我永远不会接受另一个C ++工作,因为我发现C ++乏味且令人头脑麻木。我宁愿花时间掌握更多有趣的语言。

答案 17 :(得分:1)

我一直在用C ++编写,主要是为制造业和电信公司的内部和外部桌面应用程序做了很长时间,并且只用Java工作了大约1年的时间。

Java似乎永远不会接管桌面,就像它们在90年代中期首次出现时所预测的那样,现在C ++似乎有更多来自.net和AJAX / web应用程序的竞争。

我无法真正说它在后端系统中的使用,但我在那里看到的比我看到的更多C ++,所以它取决于你在谈论什么样的编程(例如面向用户内部系统)。

答案 18 :(得分:1)

Java非常棒,直到你必须开始关注它抽象的细节。大多数人不需要这样做。

答案 19 :(得分:0)

ISV大量使用C ++。想想微软,Adobe,甲骨文,Sun,赛门铁克......

答案 20 :(得分:0)

我在我工作嵌入式设备的工作中经常使用C和C ++。我们也不是在谈论超低级别的东西。我做中级和UI工作。想想Qt,Gtk +,Windows Mobile SDK等等。

答案 21 :(得分:0)

我不得不一直滚动到底部,最后看到一个提到视频游戏的帖子。 C和C ++在该行业中是巨大的。

至于“我应该学习什么问题”。这是非常开放的,你想尽可能多地学习。所以是的,你应该学习它们。正如一些人所说,C#也是一个很好的。您还应该学习Python,Ruby或PHP以及一些Web框架(Rails,Symfony,Django,ASP.Net)。如今,网络应用程序非常庞大。

如果你的泡沫只包含C ++,那么你就不会非常有市场。

编辑:哎呀,我猜游戏比我最初在这里看到的要多得多。我的坏。

答案 22 :(得分:0)

游戏行业看起来像 C ++ 永远。

答案 23 :(得分:0)

C ++在嵌入式系统中被大量使用。 它正在UI开发中使用。例如。着名的QT框架是用C ++编写的。

最终取决于你想做什么。如果你想在嵌入式系统中工作,那就更好地学习C / C ++。

答案 24 :(得分:0)

在我的职业生涯中,我开发了C ++:

  • 服务器应用程序(证券业)
  • 嵌入式软件(无线电信)
  • 桌面应用软件(无线电信)

我也在国防工业中看到了很多关于C ++开发人员的广告。对于C ++开发人员来说,有很多工作,不像过去那样多,但仍然有很多工作。

虽然我说学习Java不会有什么坏处,但是掌握它是一项很好的技能。