【.com速译】上图仅供娱乐,今天主要讨论Java和C++的优缺点。一、基本介绍Java和C++都有着悠久的历史,语法也很相似,被很多行业巨头所采用。事实上,Java最初是从C++衍生而来的。但是,尽管有相似之处,但两者之间存在显着差异。很多人说,会了C++,就能很快掌握Java。C++不好学,我告诉你java也不好学。C++的难点在于语言本身,Java的难点在于各种框架和库。如果只是学习java语法,那是什么也做不了,java里面的一切都是java之外的。2、C++转Java:从就业的角度来看,上面两张图已经很明显的表达了C++的就业机会比Java少。Java侧重于大型企业级应用的开发,C++侧重于低级应用的开发。至于薪水,无论是C++还是Java,经过多年的项目经验,薪水都会比较高。现在网页和移动应用程序通过http与服务器通信。JAVA处理http请求比较好,C++没有处理优势。所以后台服务器会用JAVA,不一定用C++(只针对大项目)。所以,找工作:选择Java。挑战自我:选择C++。3.C++vs.Java:相似之处很多人喜欢比较C++和Java的原因是C++和Java有很多相似之处。因此,在为项目选择语言时,主要应该考虑当前团队成员对哪种语言比较熟悉。语法:循环构造、类、变量定义和条件运算符在两种语言中非常相似,这意味着开发人员可以轻松地在不同的项目中使用这两种语言,而不会遇到太多障碍。入口点:当程序开始时,编译器或解释器寻找相应的位置开始执行。Java和C++都使用“main”作为入口点。面向对象:面向对象的概念表示语言使用类来表示程序中的组件。每个类都包含其定义的方法和属性。C++和Java都是面向对象的语言,这意味着程序会更加模块化,允许你在其他程序中重用代码。4、C++和Java的区别人们常常误以为两种语言的相似性意味着它们在功能上也很接近。但是,Java和C++虽然语法相似,但是执行和处理机制却完全不同。(1)解释与编译:Java是一种解释型语言,也就是说它在执行的时候会被“翻译”成二进制形式,也就是java运行的时候必须有人(jvm)来解释。C++是一种编译型语言,这意味着程序只能在特定的操作系统上编译运行,这意味着C++可以一步到位地转换成机器语言。(2)内存安全:Java是内存安全的语言,这意味着你可以将任意参数赋值给一个给定的数组,即使超出了范围,也只会返回错误信息。C++更灵活,但如果分配的参数超出资源范围,则会出现错误甚至严重崩溃。(3)性能:Java非常流行,但它的代码性能较差,因为它需要在运行前进行解释。C++被编译为二进制形式,因此它可以立即且更快地运行。如果你写一个c++程序和一个java程序做同样的事情,你可能会觉得两者的速度差不多。但是如果两个程序足够大,并且对C++代码进行了优化,那么两者的速度差异就会变得显着甚至惊人,C++会比Java快很多。(4)指针:指针是一种C++结构,可以让你直接在内存空间中进行值管理。Java不支持指针,因此您可能使用按值引用来按值传递。(5)重载:重载是指“重新定义”一个方法或运算符的功能。Java允许方法重载,而C++允许运算符重载。4.谁更适合你的项目?Java和C++都没有更好,只是哪个更合适。它们都可以用来创建各种类型的程序,但选择取决于您实际想要开发的内容。C++一般适用于需要“硬件级”操作的软件。两者最大的区别在于C++更接近于机器语言,因此其软件运行速度更快,可以直接与计算机内存、磁盘、CPU或其他设备协同工作。此外,C++还可以为游戏提供良好的性能。你也可以用Java来操作硬件,但它不是一种低级的通用编程语言,因为它更“安全”。由于Java不允许具有某些特性的PC保护,它更适合更高级别的应用程序。Java是Android开发之王,所以移动开发者绝对应该选择它作为他们项目的基础。此外,Java在Web和桌面应用程序甚至服务器端应用程序中也很常见。再者,对Java接受度更高,意味着我们更容易找到优秀的Java开发人员——而C++人才相对稀缺。一般来说,几乎任何事情都可以用C++完成,但除非我们有明显的理由,否则我们不会将它用作最佳选择。Java已经足够了——不完美,但完全足够了。更重要的是,Java开发人员社区更加庞大。原标题:JavavsC++:哪种语言适合你的软件项目?原作者:詹妮弗·马什
