本人大一学C语言,大二学VB,大三学VC,毕业后工做前两年用C++,接着两年用C#,最近几个月Android开发用Java。java
如下本人总结如下,有些疑惑但愿大师帮忙解答。安全
1. C语言,精简,灵活,适合底层,编码相对大多数高级语言,比较原始,因此构建大项目,若是没有大量代码库储备,工做量很是大,性能高,开发效率低。框架
2. C++,引进了面向对象,又长期存在,因此基础库比较多,好比STL等等,语言的表现力很是强。即面向底层、系统层,又能高级UI开发,我的感受,最好的语言。缺点是发效率相对稍微差一点点,一点而已,同时C++庞杂,学习稍微困难点。性能
C/C++最大的优点是直接操做内存,对效率性能很是很是有帮助,并且数据类型内存级强制转换、段域等,对数据类型转换,内存处理相对方便。而C++在此基础上支持面向对象,又有大量开发库支持,太好了,我喜欢。学习
3. C#,用了一两年,只用了C/S、WinForm方面,开发效率高,UI开发、事件委托机制、属性机制等,比较系统,比较高级,命名、类库结构等等是学习的典范。编码
4. Java,用了3个月,只是在Android使用,因此没接触java几大框架。线程
C#/Java主要特色是屏蔽了内存操做、引进了一些近几年的新概念,加强了语言的表现力。表现力强了,计算机描述问题就简单了些。剥离了内存操做是一大遗憾。设计
C#做为强大支持的微软,其整个C#领域,从设计、实现、小到命名规则、大到强大基础库支持,都是学习的典范。orm
Java优点就是开源和跨平台,开发平台搭建麻烦点,各个实现都要涉及多方面拼接,彻底没有C#的完整性。Java自己类库支持的远远不够,好比Data类,字节转换类,好比一些(线程安全)队列等等。彷佛Java提倡一切从头构建?难道我理解错了?为何不少想使用的机制或者类库,在java没找到。对象