1. c/c++提供了性能和跨平台能力的处理手段,java是不需要考虑的。在一个需要建设底层设施的环境要求下,c/c++才能胜任,不过,随着软件行业的发展,现在这种环境是越来越少了
2. java更关注实现用户的需求实现,不需关心跨平台特性就是一个很贴心的考虑,这也是java业务开发框架和实现框架全面繁荣的基本原因,使用java可以更好地贴近用户的想法,考虑如何满足用户的需求
3. c/c++和ruby, python等脚本语言的结合,有取代建设在虚拟机上的java的能力,这意味着需要用c/c++搭建一个虚拟机平台(语言和环境功能提供的解析器),不可否认这样的开发思路,对c/c++的要求是很高的
4. java还是强类型的静态语言,当然,随着java的发展,其虚拟机不断前进,最终会衍生出一个舒适的温床(只是那时候java算不算静态语言都说不准了)
5. 客户端的开发,对c/c++的依赖还是很高的,性能是客户端感受的重要因素(程序员做了很多的人肉优化工作),不过,随着硬件的发展,这个因素也将慢慢顺应开发成本的考虑
6. java是介乎c/c++和动态语言的墙头草,各种动态脚本语言和c/c++都是java的竞争者。java的竞争优势在于虚拟机的强大和binary code的动态改变能力,但是这种机制也导致了自身的封闭(包括了feature特性和perform特性)
7. 对业务发展能力更关注的商业需求,对感觉到虚拟机发展速度压抑了技术的可行性,脚本语言的存在,是值得信赖的解决方案,这也是脚本语言得以生存的空间
8. 动态编程语言强大之处在于业务关注的特性,用静态语言我们会过多纠缠在类型转换上(类数据设计师静态语言开发效率低的一大原因,如从数据库到程序类型,我们通常会做很多跟业务无关的动作)
9. 分布、并发和并行的出现,对编程语言是一大冲击!各种的支持会不断涌现,erlang就是一个例子