他们最擅长的是什么--C和C ++

时间:2011-01-05 20:12:04

标签: c++ c programming-languages

我的一个朋友决定学习一些低级语言(以增加他的能力)所以他在想C.或者也许是C ++?!

他不知道要么学习C还是完全使用C ++。

他告诉我他们用了什么,不能告诉他(自从我上次使用C或C ++以来已经有一段时间了)。

所以,我的问题,试图帮助我的朋友,他们最擅长什么,C和C ++?

什么时候需要C ++?何时C足够?

P.S。我不是想开始一场战争或争吵。我不希望语​​法解释像C不做模板或没有类来更好地考虑OOP等。我只是想知道每个最强的要点是什么作为适用性,功能解决方案

4 个答案:

答案 0 :(得分:2)

在很高的层次上,你无法在C ++中做任何你在C中无法做到的事情。两种语言之间的主要区别在于它们的工作抽象层次。

C是一种中级系统编程语言,旨在成为机器底层硬件上的薄型可移植层。它的设计很小,因此语言可以很容易地从一台机器移植到另一台机器,但具有表现力,因此您可以在其上构建复杂的系统。 C擅长嵌入式环境,或者资源限制极端的区域,您需要自己手动管理所有细节(例如,OS内核,嵌入式设备等)

用它的创建者的话来说,C ++是“一种偏向于系统编程的通用编程语言1”是一种更好的C,2)支持数据抽象,3)支持面向对象的编程,4)支持通用编程。“它演变为一种编程语言,其运行时性能可与C相媲美,但更高级的语言功能更适合构建大型复杂系统。这种语言要复杂得多,但表达性更强,并且更自然地映射到您对编程问题的思考方式。虽然你可以获得原始C的性能,但是为了简化编程,C ++中的程序通常会在运行时效率上做出很小的牺牲。

我想不出单个应用程序,其中C将严格地优于C ++,反之亦然。 C ++程序是在火星车,互联网路由器,视频游戏等等.C程序是Linux和Windows的强大功能。实际上并没有一个明显的赢家。也就是说,我个人更喜欢C ++。我认为用C ++编码设计要容易得多,因为语言更丰富,你可以更准确地理解你的意思。

任何一种语言都是一个很好的起点。如果您想快速起床和编码,请学习C.学习C ++,如果你想投入更多的时间,但想要建立更大的系统。

答案 1 :(得分:1)

C:

支持更多奇怪的内置自定义微控制器。

C ++:

OOP,大量预建库(提升)。

转到C ++!

答案 2 :(得分:1)

如果目标只是学习,请选择C.这是一种非常小的语言,你可以用它做很多事情。您可以查看许多开源项目,以获取良好代码的示例。

非常适合制作需要部署为机器代码或语言中立库的东西。

一旦你使用了很多C语言,你就会明白为什么要发明C ++以及如何使用它。

答案 3 :(得分:0)

即使你开始学习C ++的目标,你也需要学习很多C来完成你的C ++学习。

如果目标是学习较低级别的语言,那么C ++被认为是比C级更高的水平。可能会变低,因为这是目标的一部分。如果你真的想要降低成绩(但不是英特尔组装,那只是在没有任何好处的情况下造成痛苦)。 RISC或MIPS样式的程序集是一个不错的选择,但非英特尔倾斜可能会减少朋友可用的硬件。