`

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

阅读更多

转自jdon的小文章:

 

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

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

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

Java开天辟地实现其他语言没有的异常检测,Java也是第一个在原生字符类型和源代码中使用Unicode。

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的梦想。

 

 

博主自己的看法:

 

1、Java是C和C++的继承者和延伸

2、Java所谓的跨平台根本是个伪概念

3、Java的异常机制一方面带来好处,一方面也带来恶心

4、Java越做越难用了

5、现在Java应当分裂

 

 

6
6
分享到:
评论
6 楼 windshome 2015-08-10  
Tyrion 写道
同意234

谢谢!
5 楼 Tyrion 2015-08-08  
同意234
4 楼 windshome 2015-06-14  
之所以要分支,就是为了避免好的特性和创新,年深日久变成甩不掉的负担。
3 楼 归来朝歌 2015-06-13  
博主,java越做越难用,那你觉得java会不会在分支之后就丢失了原有的优势和特点了呢~
2 楼 windshome 2015-06-11  
jiangchao419 写道
以博主看,应该怎么分裂?

首先Android上应该成为一个单独的分支,包括手机、平板和嵌入式
第二原有J2EE部分
第三原有Applet 、SWing等部分(这部分我感觉是不是砍掉得了)
第四新场景,例如融合函数类语言、动态语言等等

纯属个人意见。
1 楼 jiangchao419 2015-06-11  
以博主看,应该怎么分裂?

相关推荐

    Java实现八股文编程.zip

    java八股文:Java实现八股文编程.zip java八股文:Java实现八股文编程.zip java八股文:Java实现八股文编程.zip java八股文:Java实现八股文编程.zip java八股文:Java实现八股文编程.zip java八股文:Java实现八股...

    Java并发编程:设计原则与模式(第二版)

    Java并发编程:设计原则与模式(第二版).pdf

    Java核心编程技术源码

    《Java高手真经(编程基础卷):Java核心编程技术》详细讲解了Java语言基础开发中的各种技术,主要内容包括如下。Java开发入门:JDK、JVM、Eclipse、Linux。Java语法基础:类、抽象类、接口、内部类、匿名类、异常、...

    java编程200例(附:JAVA文档完全解读中文版)

    Java编程语言是面向对象的、跨平台的编程语言,由Sun Microsystems公司于1995年推出,目前广泛应用于各种领域,如Web开发、移动应用、企业级应用、大数据处理等。"Java编程200例(附:JAVA文档完全解读中文版)"是一...

    JAVA编程题全集(100题及答案)——直接打印

    JAVA 编程题全集知识点总结 本资源提供了一个完整的 JAVA 编程题全集,涵盖了大量的题目和经典的解法,非常适合刷学完基础、刷题前的知识总结与开拓。以下是从资源中提取的重要知识点: 1. JAVA 基础知识:资源中...

    Java网络编程第三版.pdf

    《Java网络编程第三版》是Java开发者深入理解网络编程的重要参考资料。这本书主要涵盖了Java平台上的网络应用程序开发,从基础概念到高级技术,为读者提供了一套全面的学习路径。以下是本书中涉及的一些关键知识点:...

    高质量java编程

    《高质量Java程序设计》是林锐的一本经典著作,它深入浅出地讲解了如何编写出高质量、可维护的Java程序。这本书对于Java开发者来说,是提升编程技能和理解Java精髓的重要参考资料。以下是对该书内容的一些关键知识点...

    《java 并发编程实战高清PDF版》

    《Java并发编程实战》是一本深入探讨Java平台并发编程的权威指南。这本书旨在帮助开发者理解和掌握在Java环境中创建高效、可扩展且可靠的多线程应用程序的关键技术和实践。它涵盖了从基本概念到高级主题的广泛内容,...

    JAVA并发编程艺术 高清pdf

    JAVA并发编程艺术 高清pdf : 1.并发变成的挑战 2. java并发机制的底层实现原理 3. java 内存模型 4. java并发编程基础 5.java中的锁。。。。。。。

    java编程百例(内含java源文件)

    Java编程是计算机科学领域的重要部分,尤其对于初学者而言,它是理解对象导向编程概念的关键语言。这个名为"java编程百例(内含java源文件)"的资源集合为学习者提供了一个丰富的实践平台,涵盖了从基础到进阶的多个...

    JAVA编程题全集(100题及答案)

    ### JAVA编程题全集知识点详解 #### 题目一:屏幕输出“你好!” - **知识点概述**:本题目主要考察的是Java的基本语法结构,包括如何定义一个类、类中的主方法`main`以及如何使用`System.out.print()`或`System....

    java常见的面试编程题

    Java是一种广泛使用的面向对象的编程语言,其设计目标是具有高度的可移植性、健壮性和安全性。在Java面试中,编程题是评估候选人技术能力的重要环节。本压缩包文件包含了一系列常见的Java编程题目,旨在帮助学习者...

    Java 编程宝典 源代码 明日科技

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年推出。它的设计目标是“一次编写,到处运行”,具有跨平台性、安全性、稳定性和高性能等特点。Java语法简洁,易于学习,同时...

    [Java] Java 编程面试揭秘 英文版

    [Wrox] Java 编程面试揭秘 英文版 [Wrox] Java Programming Interviews Exposed E Book ☆ 图书概要:☆ If you are a skilled Java programmer but are concerned about the Java coding interview process ...

    Java网络高级编程

    整体来看,本书不仅适合作为高校计算机应用、网络信息、电子商务技术等专业级学生及研究生的教材,而且对于Java网络编程爱好者而言,也是一本非常有价值的自学参考书。本书通过结合理论知识和实践案例,如网上聊天...

    (PDF带目录)《Java 并发编程实战》,java并发实战,并发

    《Java 并发编程实战》是一本专注于Java并发编程的权威指南,对于任何希望深入了解Java多线程和并发控制机制的开发者来说,都是不可或缺的参考资料。这本书深入浅出地介绍了如何在Java环境中有效地管理和控制并发...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    Java编程老鸟潜心写作,奉献高效率的Java学习心得 完全站在没有编程经验读者的角度,手把手教会读者学习Java 配16小时多媒体教学视频,高效、直观 一一击破Java入门可能会遇到的难点和疑惑 抽丝剥茧,层层推进,让...

    Java游戏编程

    Java游戏编程是一个涵盖广泛的主题,它涉及到使用Java编程语言来创建各种类型的游戏,从简单的2D小游戏到复杂的3D大作。在这个领域中,开发者需要掌握基础的编程概念,以及特定于游戏开发的技术。 首先,Java是一种...

    java实现聊天室功能(全部代码,有界面)

    * Java Socket 编程:服务器端代码使用 Java Socket 编程来监听客户端连接和处理客户端请求。 * Java 多线程编程:服务器端代码使用 Java 多线程编程来处理客户端的消息。 * Java Swing 库:服务器端代码使用 Java ...

    java趣味编程100例

    Java趣味编程100例是一份专为编程爱好者和初学者设计的学习资源,它通过一系列有趣、富有挑战性的实例,帮助学习者深入理解和掌握Java编程语言。这些源文件旨在激发学习者的兴趣,使他们在实践中不断提高编程技能。...

Global site tag (gtag.js) - Google Analytics