我看Java二十年:它是怎样永远改变编程的。
转自jdon的小文章:来自Infoworld的一篇纪念 mod=viewthread&tid=3042" target="_blank">Java
请记住,在1995年那时的编程不是一件非常easy的事情。面向对象概念已经接受,可是非常难实践。那时没有多少真正的面向对象语言。最多是将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安卓开发,由于后端开发语言选择越来越多。而前端client由于资源等影响,包含安卓
的普及度,随着智能终端的发展和万物联网,借助安卓平台。Java可能会实现当初Java applet的梦想。
博主自己的看法:
1、Java是C和C++的继承者和延伸
2、Java所谓的跨平台根本是个伪概念
3、Java的异常机制一方面带来优点。一方面也带来恶心
4、Java越做越难用了
5、如今Java应当分裂
我看Java二十年:它是怎样永远改变编程的。的更多相关文章
- 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...
- 从 HelloWorld 看 Java 字节码文件结构
很多时候,我们都是从代码层面去学习如何编程,却很少去看看一个个 Java 代码背后到底是什么.今天就让我们从一个最简单的 Hello World 开始看一看 Java 的类文件结构. 在开始之前,我们 ...
- 从字节码看java中 this 的隐式传参
从字节码看java中 this 隐式传参具体体现(和python中的self如出一辙,但是比python中藏得更深),也发现了 static 与 非 static 方法的区别所在! static与非s ...
- 【Java】PS-查看Java进程-线程数
PS-查看Java进程-线程数 ps 线程 个数_百度搜索 查看进程的线程数命令 - CSDN博客 java命令行运行jar里的main类 - coderland - 博客园
- 通过反编译看Java String及intern内幕--费元星站长
通过反编译看Java String及intern内幕 一.字符串问题 字符串在我们平时的编码工作中其实用的非常多,并且用起来也比较简单,所以很少有人对其做特别深入的研究.倒是面试或者笔试的时候,往 ...
- 从JVM的角度看JAVA代码--代码优化
从JVM的角度看JAVA代码–代码优化 从JVM的角度看JAVA代码代码优化 片段一反复计算 片段二反复比較 在JVM载入优化为class文件,运行class文件时,会有JIT(Just-In-Tim ...
- 031.[转] 从类状态看Java多线程安全并发
从类状态看Java多线程安全并发 pphh发布于2018年9月16日 对于Java开发人员来说,i++的并发不安全是人所共知,但是它真的有那么不安全么? 在开发Java代码时,如何能够避免多线程并发出 ...
- Java基础复习笔记系列 八 多线程编程
Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...
- Java:过去、未来的互联网编程之王
Java对你而言是什么?一门你大学里学过的语言?一个IT行业的通用语言?你相信Java已经为下一次互联网爆炸做好了准备么?Java 一方面为嵌入式计算做了增强,而另一方面为实时应用做了精简,本文将介绍 ...
随机推荐
- JDOJ 2785: 商之和 数论分块
Code: #include <iostream> #include <cstdio> #define setIO(s) freopen(s".in",&q ...
- map循环遍历
data.map(function(item){ item.show = false; //将拿到的data循环给每一项添加show属性 });
- 如何在ssh远程linux服务器时不需要输入密码
目的: 期望A服务器在对B服务器执行ssh或者scp等命令的时候不需要输入密码 实现方法: 1.通过安装sshpass服务 2.通过密钥验证的方式 操作过程: 一.通过sshpass的方式达到密码非交 ...
- 紫书 习题8-14 UVa 1616(二分+小数化分数+精度)
参考了https://www.cnblogs.com/dwtfukgv/p/5645446.html (1)直接二分答案.说实话我没有想到, 一开始以为是贪心, 以某种策略能得到最优解. 但是想了很久 ...
- [luogu]P4364 [九省联考2018]IIIDX
题目背景 Osu 听过没?那是Konano 最喜欢的一款音乐游戏,而他的梦想就是有一天自己也能做个独特酷炫的音乐游戏.现在,他在世界知名游戏公司KONMAI 内工作,离他的梦想也越来越近了. 这款音乐 ...
- IDEA中编写脚本并运行shell脚本
IDEA中编写脚本并运行shell脚本 来自 <https://blog.csdn.net/u012443641/article/details/81295999>
- Maven 编译打包时如何忽略测试用例
跳过测试阶段: mvn package -DskipTests 临时性跳过测试代码的编译: mvn package -Dmaven.test.skip=true maven.test.skip同时控制 ...
- C# 获取本地电脑所有的盘符
话不多说,直接上菜: public List<string> GetRemovableDeviceID() { List<string> deviceIDs = new ...
- oracle 11g RAC手动卸载grid,no deinstall
1.通过root用户进入到grid的ORACLE_HOME [root@db01]# source /home/grid/.bash_profile [root@db01]# cd $ORACLE_H ...
- C# Winform 模拟QQ新闻弹出框
一开始做的时候,觉得这个太简单了.真心做的时候还是遇到了不少的坑啊. 1)循环播放新闻内容,建议使用showdialog(),不要用show(),不太好控制前后之间的停顿. 2)窗口的初始位置为有下角 ...