in

C++ vs. Java:全面比较

要点

  • 詹姆斯·高斯林(james gosling)在1991年6月与迈克·谢里丹(mike sheridan)和帕特里克·诺顿(patrick naughton)的帮助下开始开发java计算机语言。
  • 1996年sun microsystems向公众发布了java 1.0。
  • 创作者最初将该语言称为“oak”,以纪念高斯林办公室外的一棵树。

今天开发人员使用的两种最强大和流行的编程语言是c++和java。这两种语言中较早的一种是c++,它在其发展历史的早期就因其创新的面向对象编程数据结构的模拟真实世界场景的方法而占据主导地位。

java继承了其较旧的兄弟的基本特性,并添加了多平台支持和不需要预编译即可运行的代码。java还提供了一种更直观的语言语法,许多开发人员更喜欢,但这两种语言出于各种原因在今天仍然非常受欢迎。

以下比较将检查c++和java的优缺点。

c++ vs. java:并排比较

c++java
主要用途:早期设计的应用程序、操作系统和当前的高端游戏后端网页开发、移动应用、桌面计算、科学研究
创建者:bjarne stroustrup詹姆斯·高斯林
发布日期:1982年1996年
以前的名称:带有类的coak,green
前身语言:pascal,c,simulac,c++
其他有影响力的开发人员:rick mascitti迈克·谢里丹,帕特里克·诺顿
技术差异:平台依赖、预编译、手动内存管理可移植、解释和编译代码、系统管理内存

c++ vs. java:必知事实

  • c++是两者中较旧的一种,比较流行的语言在它之后发布了14年,尽管这两种语言有许多相似之处。
  • java不像许多其他语言那样由国际标准化组织进行维护。相反,它在自己的社区中维护标准。
  • c++不是第一种面向对象编程(oop)语言。它借鉴了simula语言的oop思想,该语言可以追溯到20世纪60年代。
  • 在收购java的sun microsystems之后,oracle起诉微软在android sdk中使用其代码。
  • java是最早可以运行而无需预编译的现代编程语言之一,程序可以一次编写多个平台,使其与各种系统具有更广泛的兼容性。

什么是c++?

c++是一种面向对象的编程语言,用于各种各样的目的。

©wright studio/shutterstock.com

c++是一种类型的编程语言。它是面向对象的,用于各种操作系统、浏览器、游戏编程和软件工程。它专为大型程序设计而设计,可以允许代码被重复使用,从而降低开发成本。

c++:历史

1979年,丹麦计算机科学家比雅尼·斯特劳斯特鲁普在新泽西的at&t贝尔实验室开始创建c++计算机语言。这种新的语言旨在扩展c计算机语言的功能。

主要目标是向语言中添加“类”,这是一种创新的代码结构概念,可以帮助开发人员模拟现实世界的场景。在考虑了当时的语言的利弊之后,斯特劳斯特鲁普选择以c作为起点,因为它快速且多功能。

斯特劳斯特鲁普在包括simula、bcpl、ada等语言中的经验为他在c语言中发明类结构提供了基础知识。特别是simula具有的特性可以让开发人员以更实用和可理解的方式模拟现实世界的情况和对象。

然而,他意识到simula语言无法与技术进步保持同步。

当斯特劳斯特鲁普最初开发这种新语言时,由于与其前身的相似之处,它被称为“带有类的c”。直到1982年,真正的c的继承者才完成。1983年,rick mascitti通过在字母c后面附加“自增运算符”(由两个加号组成)来构思了c++的名称。

自增运算符是在c代码中表示将数值增加1的有效方式。看到这个新名称,开发人员会明白这是一种开玩笑的方式,表明c++已经增加了新的功能。

1985年,斯特劳斯特鲁普出版了这种语言的第一本官方手册《c++程序设计语言》,供全行业使用。1989年,该语言更新为c++版本2.0,增加了支持抽象类、多继承、静态成员函数和其他功能的新特性。

2018年,斯特劳斯特鲁普因创造c++而获得查尔斯·斯塔克·德拉珀工程奖,到2022年仍然是第四受欢迎的计算机语言。

java是什么?

java是一种面向对象的编程语言,用于编写web应用程序。©vchal/shutterstock.com

java是另一种类型的面向对象的计算机编程语言。它用于编写web应用程序和软件。它广泛应用于世界各地的许多不同的计算机上,是计算机程序员和web开发人员最受欢迎的选择之一。

java:历史

詹姆斯·高斯林在迈克·谢里丹和帕特里克·诺顿的帮助下,于1991年6月开始开发java计算机语言。最初,该语言的目的是用于交互式电视,但当时的行业还没有准备好接受这种复杂的计算机语言。

创造者最初将该语言称为“oak”,取自高斯林办公室外的一棵树。项目在最终得到其永久名称“java”之前更名为“green”,这是印度尼西亚咖啡的一种品种。

高斯林受到c和c++语言的极大启发,特别是它们的类数据结构和面向对象的特性。代码语法的相似之处也使熟悉c/c++的开发人员能够快速适应这种语言。

sun microsystems在1996年向公众发布了java 1.0,提供了一种创新,使得编写一次的代码可以在多个平台上运行。这将为需要在多个平台上创建应用程序的公司提供大量的开发成本节省。

sun microsystems计划在1997年通过国际标准委员会批准该语言,但该公司中止了这一过程。java的使用至今仍通过“事实上”的标准进行控制,并受java社区流程的管理。

2007年,sun完成了提供java虚拟机作为免费和开源技术的过程。开发java的所有核心代码都可以免费获得。在以前的几年中,sun microsystems通过销售java的企业实现来获得收入。

在1998年发布的java 2版本有三种不同的变体。j2ee配置针对在服务器和企业系统上运行进行了优化,而j2me适用于移动开发。在桌面开发中首选的java 2变体被称为j2se。

2009年,sun microsystems被oracle收购,承诺保持透明度和社区参与,以维护和改进该语言。尽管如此,oracle对google提起了诉讼,称其在android sdk中使用了其代码。詹姆斯·高斯林在此事件发生后不久从oracle辞职。

java仍然是2022年开发人员使用最多的计算机语言之一,仅次于python。这主要是因为java与其流行的前身相似,易于学习的语法,多功能性,内存管理和可在所有平台之间移植。

c++ vs. java:哪个更好?

在考虑了这两种语言的优缺点后,有一些重要的差异需要注意。java仅次于python,在流行度上排名第二,这主要是因为其语法对于初学者来说更容易理解。

与c++相比,java具有面向对象的数据结构和c++的大部分其他语言特性,但它在内存管理和平台可移植性方面提供了一些改进。在某些用例中,c++仍然更受青睐,因为它能够优化系统资源并与流行的开发平台(如虚幻游戏引擎)轻松集成。

如果开发人员正在考虑专攻哪种语言,java比c++稍微更有可提供的内容。

Written by