`

C++程序员和Java程序员的差异

阅读更多

 

首先说明,这几年接触的最多的程序员就是C++程序员和Java程序员,这只是我自己的一点体会而已,一个人的眼光难免是浅薄的。不过,欢迎拍砖,也欢迎对号入座。

从对基础知识掌握的程度来说,例如数据结构和算法,C++程序员要比Java程序员牢靠得多。究其原因,大概是因为C++程序员需要经常自己实现那些项目基础设施,但是Java程序员大多拿来即用。公平地说,C++不是一门适合程序员初学者的语言,但是Java是。C++程序看起来确实要比Java程序稍难懂一些,C++程序员往往思维更加严密。另一方面,我也发现内地的程序员要比沿海和发达城市的程序员基础扎实,而且低调内敛,不那么浮华,但是就是善于解决那些难啃的问题。

从视野的角度来说,Java程序员往往要更宽泛一些。由于语言本身上说,Java将很多C++逃不掉的陷阱和坑洞都填补了,仅从语言上说,无论是入门还是使用都显得更加简单,程序员就有更多精力来关注语言本身之上的事情。而且,Java领域的类库明显要丰富得多,所以在考虑某一个设计实现的时候,Java程序员很喜欢到处寻找可以拿来即用的类库,但是C++程序员习惯于自己去做其中大部分的事情。对于面向对象设计,模块和组件的设计,Java程序员往往要掌握得稍好一些。

在读书的时候,很多程序员都会给自己订立一个方向,有的喜欢写底层实现,有的喜欢研究人工智能,有的喜欢做企业应用,有的喜欢涉足互联网……就像对C++和Java等语言的选择一样。当然,工作有时候并不如心中所愿,这方面可能和自己最初的方向并不一致——有人选择继续,发现这个活儿也不错;有人就会选择放弃,继续执着地寻找自己喜欢的事情。我有三个当初和我一起学Java学J2EE的朋友,现在一个成了DBA,一个卖水果去了,还有一个在创业搞机顶盒。

当然,也有很多程序员天天都在纠结:学什么更赚钱?C++还是Java有前途?前端还是后端有前途?转管理还是转咨询?也有人这样问我,对于这样深不可测的问题,为了避免显得我没文化、见识浅,我总是一笑置之。

文章系本人原创,转载请注明作者和出处(http://www.raychase.net

注:本博客已经迁移到个人站点 http://www.raychase.net/ ,欢迎大家访问收藏,本ITEye博客在数日后将不再更新。

4
3
分享到:
评论
3 楼 josico 2012-10-27  
弱弱的问一下 页游是用C还是用java写的啊 
2 楼 gaozhonghui 2012-10-25  
这几天在您的blogger上学习了不少东西,
思考的东西多了!
1 楼 qdpurple 2012-10-25  
今天花了2个小时时间,浏览了楼主的站点.慨叹自己知道的太少.(java开发2年). 佩服楼主对技术的追求与执着.

内地程序员与沿海程序员, 第一次听到这样的见解 , 有意思! 呵呵 

相关推荐

    C_C++程序员Java编程

    总的来说,C++程序员转向Java编程需要适应一些新的编程理念和习惯,但两者间的许多基础概念是相通的,如OOP、数据结构和算法等。通过学习和实践,C++程序员能够快速掌握Java编程,并利用其优势开发各种应用。

    C/C++程序员java编程

    《C/C++程序员Java编程》是一本专门为已经熟悉C或C++语言的程序员...通过阅读《C/C++程序员Java编程》,程序员不仅能掌握Java语言的基本知识,还能了解到Java平台的优势和开发流程,从而顺利完成从C/C++到Java的过渡。

    c++程序员JAVA编程.rar

    本教程“C++程序员JAVA编程”专为已经掌握C++基础的开发者设计,旨在帮助他们平滑过渡到JAVA编程环境,进一步拓展职业发展路径。以下是本教程中的核心知识点概览: 1. **JAVA语言概述**:了解JAVA的历史、特点、...

    C++程序员快速学习C#

    从给定的文件信息来看,文章旨在通过对比C++与C#的关键差异,帮助C++程序员快速上手C#。以下是对标题、描述以及部分文本中提到的知识点的详细解析: ### C++程序员向C#过渡的优势 文章指出,由于C++与C#在语法上的...

    面向对象编程C++和Java比较教程

    Java程序员则需要学会使用C++的模板和内存管理。 总之,C++和Java虽然都是面向对象的语言,但在实现细节和应用领域上有所区别。理解和掌握这两种语言的不同特性,将有助于程序员根据项目需求选择合适的工具,并在...

    《C++ for Java Programmers》高清完整英文PDF版

    书中强调了STL的重点内容和模板的有效使用方法,这为C++程序员提供了强大的数据结构和算法库。 知识点七:Java和C++的结合。书中特别提到了如何使用Java原生接口(JNI),这是为了在Java和C++之间建立桥接,让两种...

    CPlus_to_Java_Converter;C++转java工具

    5. **内存管理**:C++程序员需要手动管理内存,而在Java中,这是自动的。转换器需确保所有动态分配的内存都被正确地释放,或者在Java中用适当的构造和析构函数替代。 6. **线程和并发**:C++和Java都有各自的线程...

    从C++转到Java需注意的地方

    在C++中,程序员需要手动进行内存分配和释放,而Java则采用了自动垃圾回收机制。Java的垃圾回收器会自动管理对象的生命周期,程序员不再需要担心内存泄漏或悬挂指针等问题。但是,这也可能导致一些性能上的不确定性...

    JAVA与C++简介

    这种设计提高了JAVA程序的安全性和稳定性,但也意味着JAVA程序员失去了对内存的直接控制。 其次,C++支持多重继承,允许一个类从多个基类派生,而JAVA仅支持单继承。然而,JAVA通过接口(Interface)的实现来模拟...

    C++和Java多态的区别

    本文将对比分析C++和Java中多态特性的实现机制及其差异。 #### 二、C++中的多态实现 在C++中,多态主要通过虚函数来实现。当一个类声明了一个虚函数后,它的派生类可以重写该虚函数。通过基类指针调用派生类对象的...

    C++ for Java Programmers.rar

    《C++ for Java程序员》是针对已有Java编程基础的学习者,想要深入了解或过渡到C++...这个压缩包文件将引导Java程序员逐步掌握C++的关键概念和技巧,通过实践项目巩固理论知识,最终能够在C++环境中自如地进行开发。

    C++ 程序员为什么看不起php程序员

    对于C++程序员来说,他们可能更看重语言的严谨性和底层控制能力,认为这些是编写高质量、可维护代码的基础。而PHP的灵活性和易用性,使得它在Web开发中具有很高的生产力。但这并不意味着C++程序员不能理解和欣赏PHP...

    一份涵盖大部分 C++ 程序员所需要掌握的知识 入门、进阶、深入、校招、社招,准备 C++学习 & 面试,首选 CppGuide

    面试中,C++程序员通常会被问及算法和数据结构,例如排序算法(冒泡、选择、插入、快速、归并等)、查找算法、链表、树、图等。此外,面试官还会考察对设计模式的理解,如工厂模式、单例模式、装饰器模式等。性能...

    The diffenences bwtween Java and C++ (JAVA与C++区别)

    **C++**:C++允许程序员手动管理内存分配与释放,这意味着程序员需要显式地使用`new`和`delete`来分配和释放内存。这种手动管理方式虽然提供了更大的灵活性,但也增加了出错的风险。 **Java**:Java采用自动化的...

    从C++编程转到Java编程.rar

    总之,虽然C++和Java在语法上有许多相似之处,但它们在设计理念、内存管理和标准库等方面存在显著差异。从C++转到Java需要学习新的概念和技术,但掌握这两门语言将使程序员具备更广泛的技能和解决问题的能力。

    java/c++区别

    Java和C++是两种广泛使用的编程语言,它们在设计目标、语法、内存管理和执行效率等方面存在显著差异。 (一) 序言 此文档旨在全面对比Java和C++,整合了网络上的众多资源,旨在帮助读者理解和解决实际编程中遇到的...

    Java与C/C++的区别(转).

    而C/C++也支持继承和多态,但其多继承和虚函数机制相比Java来说更为复杂,需要程序员对这些概念有深入的理解才能正确使用。 #### 六、封装性 Java提供了严格的封装机制,通过访问修饰符(如`private`、`protected`...

    JAVA与C++的区别

    Java 和 C++是两种广泛应用的编程语言,它们都是面向对象的,但在许多方面存在显著的差异。以下是关于这两种语言区别的详细分析: 1. **语言背景**: - C++起源于C语言,旨在保留C的高效性并引入面向对象编程的...

Global site tag (gtag.js) - Google Analytics