Java二十年:它是如何永远改变编程的。

来自Infoworld的一篇纪念Java诞生20周年的文章。主要讲述了一些在今天习以为常但是在20年前却难以想象的情况。

请记住,在1995年那时的编程不是一件很容易的事情,面向对象概念已经接受,但是很难实践,那时没有多少真正的面向对象语言,最多是将C代码粉饰一下,比如用class替代struct等,用这些技术编写的程序经常由于指针错误或内存泄漏崩溃,源代码仅仅能够在Unix不同版本之间移植,使用同样二进制代码运行在不同处理器和操作系统上简直是疯狂的笑谈。

Java改变了这一切,第一次我们使用一种跨平台 垃圾回收和面向对象的编程语言进行产品化的编码,紧跟着Java的语言,比如最引人注目的C#,将Java创建的生产力提高到一个新高度。

Java开天辟地实现其他语言没有的异常检测,Java也是第一个在原生字符类型和源代码中使用Unicode。(banq注:记得刚使用Java时最头疼的是中文乱码,后来发现通过统一UTF-8完美解决这个问题)

java的核心力量是它为做好工作建立一套实践性的工具,它从早期语言导入好的主意,然后以让熟悉的格式包装它们,尽管,Java不是一个严格的C的超集合(C++和Objective-C是),移除了一些东西以后,Java变得更简单,更易于学习。

Java并没有structs, unions, typedefs, 和header ,这是一个新的面向对象编程语言,没有被要求能够运行遗留老的代码,Java明智地忽略了一些在其他语言被尝试然后发现不足的一些特点,比如多重继承 指针运算和operator overloading,这种好的风格一直在Java中保持到现在。

正如Martin Fowler所说:在软件开发领域从来没有一种语言被这么多人次和这么多行代码使用,这种语言就是Java。

二十年以后,Java不再是新贵,它已经成为其他语言“造反”的对象,更轻量语言如Ruby和Python(banq注:还有Go语言与Rust语言的呢个)已经大举进入Java领土,特别是追求开发速度的创业工作。

当然,Java也不是静止不动,也正在不断添加新的语言特点,比如函数语言的Lambda表达式等,这些新的编程方式还是Java领域新的概念。

尽管还有很多程序员不知道Java,但是无论他们知道与否,今天每一个程序员已经受到它的影响。

Java at 20: How it changed programming forever | I

点评:Java对每个程序员的影响可能还要首推Android安卓开发,因为后端开发语言选择越来越多,而前端客户端因为资源等影响,包括安卓的普及度,随着智能终端的发展和万物联网,借助安卓平台,Java可能会实现当初Java applet的梦想。