Java和C ++有什么区别?这两个都是面向对象的吗?
答案 0 :(得分:20)
这是一个非常普遍的问题,需要在这里回答。
Java是一种明确的面向对象的语言,它使用了难以使用的位。
C ++是一种多范式语言,具有安全性。你可以在其中进行面向对象的编程,以及程序和通用。
如果您有更具体的问题,我们可以提供更多帮助。你为什么问?如果您需要针对特定平台,项目或其他任何方面的建议,我们可以提高响应速度。
答案 1 :(得分:15)
C ++程序员会告诉你Java是垃圾。 Java程序员会告诉你C ++是垃圾。因此我得出结论,他们的确是一回事。
答案 2 :(得分:5)
每种语言在设计时都考虑了不同的目的,所以IMO从一个角度比较两者是不公平的,而忽略了另一个。
一般来说,C ++是一个开放标准,旨在实现速度和性能都很高的高性能系统,并且使用Phoenix Lander,Adobe Acrobat Reader等语言设计了大量令人印象深刻的项目。 C ++使开发人员能够使用非常高级的抽象进行编程 - 例如,使用泛型,并在需要时深入到机器的裸机 - 例如处理中断。
Java的设计考虑了其他目的,当Sun计划使用Oak(后来称为Java)时,它专注于Web应用程序,因此它支持该语言,并提供了大量易于使用的重型接口库。和可移植性(编译一次,在任何地方运行)使用JVM,这可以防止程序员编码到特定的机器,而是编码到沙箱,沙箱反过来运行托管机器上的代码,这显然对性能/速度有负面影响。
这两种语言的比较是程序员之间争论的一个热门原因,这是由于他们的工作需求和性质不同,IMO的每一种语言都为了成熟而犯了错误,例如,C ++的导出模板和Java缺乏程序式编程(Big Mistake)。另外,每个人都有不同方面的利弊,因此平衡生产力/绩效问题的是正确的语言。
了解更多信息Wikipedia's comprehensive article on Comparison of Java and C++
从here查看使用(和使用)哪些语言来创建主要系统(如Google)可能会很有趣。
答案 3 :(得分:2)
尚未提及最重要的差异之一 - 一个编译为机器代码,另一个编译为字节码,由虚拟机解释。
答案 4 :(得分:1)
两者都是面向对象的,但它们是非常不同的语言。这可能不是要求差异的最佳论坛......我建议你在维基百科上查看并查看那里的描述。您将能够非常快速地看到差异。
答案 5 :(得分:1)
我喜欢c ++,但除非您绝对需要使用c ++,否则请使用其他内容。当你需要使用c ++时,你会知道差异,Grasshopper。
(提示不要在java中编写设备驱动程序,视频解码器,加密库,三维图形引擎或语言运行时引擎)。
答案 6 :(得分:1)
是的,两者都是面向对象的编程语言。
C ++是对C的演变。这是一种系统编程语言。 C ++为语言添加了许多功能,使其面向对象。由于这个原因,它成为主流的编程语言。
Java是C ++的演变,具有不同的目标(例如跨平台)。它删除了一些使C ++难以学习的功能。简化他人并删除其他人。
主要区别在于C ++程序直接编译为机器代码(由CPU理解),而Java程序编译为在JVM的“虚拟机”中运行的大部分情况。由于这些原因,java程序被另一个程序解释,并且最初是慢速程序。现在,VM可以优化此代码并使其运行得非常快。
答案 7 :(得分:1)
答案 8 :(得分:1)
答案 9 :(得分:0)
粗略但准确的过度简化:Java更容易。 C ++更快。
答案 10 :(得分:0)
只是David Thornley发布的快速补充。 C ++是一种支持Objects和OO设计的过程语言。 Java是纯粹的OO。 Java做得少,但更多。