【发布时间】:2011-06-25 19:44:23
【问题描述】:
您好,
我正在为我的机器人在 C 和 C++ 之间做出选择。我是 Visual Basic.NET 5 年以上的老手,但是我将在这个机器人上使用 Linux (Ubuntu),并且 Linux 和 .NET Framework 之间存在兼容性问题。我想坚持使用我为所有项目选择的任何一种语言,所以我想确保为任务选择最合适的语言。 作为参考,我将描述我目前正在进行的机器人以及我将用它做什么。我正在建造一个全尺寸的 R4 Astromech(是的,我就是其中之一)。我已将 PC 主板与 Intel Core 2 2.1 GHz 处理器、1 GB RAM 结合在一起。我将使用一个临时构建的并行接口卡来控制驱动电机、磁头电机,以及一个辅助并行接口卡(连接到第二个并行端口),所有传感器(IR、超声波测距、视觉识别通过网络摄像头等)将去。将使用语音识别发出命令(目前有一个 VB.NET 临时构建的识别程序,我将适应新语言)。 鉴于上面列出的规范和期望的目标,我会使用 C 还是 C++ 更好?我非常感谢您可能提出的任何建议。 谢谢! 塔斯卡拉斯
【问题讨论】:
-
恕我直言,学习 C 将比学习 C++ 更容易。我会从那里开始。
-
使用 C++。您会发现面向对象的环境更加熟悉,而且您要做的工作也少得多。如果您使用的是 4MHz 微控制器,您可能需要三思而后行,但这几乎不是问题。我几乎会建议 Java。
-
@Hellfrost VB.net 有什么问题?虽然我更喜欢 C#,但这只是一种风格选择。
-
哪种语言最适合这项任务? ——你当然认识的那个;除非您想在开始这项任务之前花几年时间学习一门新语言。
-
Edwin 的答案已被删除,但我想插话。是的,C++ 编译器在 C 代码上提供了更好的错误消息。抱怨模板错误消息表明您错过了重点,C 代码不会导致模板错误消息。 C++ 编译器改进的类型安全性(以及对准确函数原型的要求)在 C 代码中捕获了很多错误。