文章目录[隐藏]
凡是程序员,肯定会讨论过什么语言好这个问题吧。虽然明知道这是个最没意思也不会有答案的问题,但相信作为程序员的你肯定想过这个问题。那么,好与不好,或者说你最终决定深入学习的那门语言肯定是有用的,是别的语言无可替代的。
上帝赋予人们说话的能力,而语言又创造了思想,思想是人类对宇宙的度量。--摘自《Prometheus Unbound》
java和c++等很多语言都是从c的基础上设计来的。同样,面向对象的语言 也有很多种,但为什么只有java会是这么多年来一直保持使用人数最多,运行机器最多的?。我们来谈谈她的不可替代性。也就是我为什么看过了那么多的语言还是选择java的原因。
简化开发复杂度
java开发项目真的很省时间,sun公司的初衷就是“减少开发健壮代码所需的时间以及困难”。同样的功能,java语言的代码量和开发时间都要优于其他语言,甚至还有很多的框架可以现场的套用。
无所不能
java不仅可以运行在笔记本和电脑,还可以运行在手机,平板,洗衣机,微波炉,空调,车载导航等等等等,任何设备就可以嵌入java代码,降低开发成本。同样的程序比c语言的成本不知道要降低多少。
跨平台的特性:一次编写,处处运行
可移植性,跨平台,这个是java的一大亮点,解释执行的方式让java运行于jvm,独立于操作系统。而且现在1.7,1.8等新版本中给予了优化,运行速率也提高了很多。
非常安全
java是十分安全的语言,她去掉了c的指针,不会有脏数据,不容易写木马。一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。语言中java无疑是安全性很高的。所以很多政府,银行都用java做系统,你听说哪个银行系统是php的吗?
多线程
java一运行就是多线程的,她的垃圾回收机制大量减轻了程序员的负担。由c++转java你会觉得轻松很多。并且java的内置多线程极致是十分完美的。
动态性
Java 程序的基本组成单元就是类,有些类是自己编写的,有一些是从类库中引入的,而类又是运行时动态装载的,这就使得 Java 可以在分布环境中动态地维护程序及类库,而不像 C++那样,每当其类库升级之后,相应的程序都必须重新修改,编译。反射机制和内省机制是优越的,可以实现动态的语言的特性,即使软件写好了也可以继续扩展。
开源
很多语言都开源,但没有java这么彻底,更没有那么庞大的java开发者社区。再说开发环境吧,eclipse和idea无疑都是优秀的。java程序员你想学多深入都可以,她是开源的,所以她会越来越完美。
向后兼容
无论jdk更新到什么版本,原来的代码都可以原封不动的继续运行。真正的兼容。这是非常非常方便的。
市场前景大,技术非常成熟
无论是世界上还是在中国,java都是运行机器最多,使用最广泛的。别说后面还有Oracle公司的大力支持,就算退一万步,Orcle倒闭了,java也不会死去,所以,你做java开发是不用考虑失业的,而且相比较来说,java开发者的工资教大多数语言是更高的。
Java是不断更新,不断完美的
java重出现到现在,一步步走来,日趋完美,而且她还在继续完善自己。持续更新也是她最迷人的地方, 你会发现未来的她只会更美不可能倒退!
总结来看,java的无可替代性并不是因为某一个特性是极致完美的就被人们所喜爱,而是她展现的综合实力,很多个方面都是优秀的,才铸就了她的完美性。所以我选择java是明智的。可能你会说还有很多,比如java是解释性的语言,java的面向对象(抽象,封装,继承,多态),java简单易学等等等等,但是我着重强调的是java的不可 替代性,这些只是java的特性,其他很多语言也有实现的,虽然也很完美了,但还不能体现java的独特性,无可替代性。
看到这里肯定有很多人要吐槽了,要说“php是世界上最好的语言了”,要说“java的运行速率问题了”。我并没有说java是完美的,每一门语言只要存在就有他可取之处,只是java确实是无可替代的,而且是拥有未来的,所以选择这门语言还是比较好的。她最大的特点是不仅仅是一门语言,都知道c,c++,c#,python等等吧都是单独的语言,唯独java是语言和平台的合集,只有语言java程序是跑不起来的,她还包括平台,更包括了独特的编程思想。
最近读完了《Thinking in Java》(java编程思想),想着用面向对象的思想把这本书概括一下,我会每天续更,把整本书整理出来。