我看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 一方面为嵌入式计算做了增强,而另一方面为实时应用做了精简,本文将介绍 ...
随机推荐
- [NOI2014]动物园(KMP)
题意 题解 因为,一直用j=nxt[j]来遍历,可以遍历前i个字符所有相等的前后缀长度,所以有一个暴力的想法,就是对于每一个长度,开始遍历,记录长度小于i/2的相等的前后缀数量,最后累加即可. 但显然 ...
- [HDU5686]2016"百度之星" - 资格赛 Problem B
题目大意:给你n,规定一个串中相邻的两个1可以合并为一个2(别的不行),让你求长度为n的全1串最多能变成多少种不同的串. 解题思路:我们先来找一波规律,发现n=1,2,3,4,5时答案分别为1,2,3 ...
- Django学习之配置篇
MTV Model Template View 数据库 模版文件 业务处理 了解Django框架,功能齐全 一.安装Django&Django基本配置 安装Django pip3 django ...
- 【Henu ACM Round#24 D】Iterated Linear Function
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 把B提取出来就是一个等比数列了. 求和一下会发现是这种形式. \(B*\frac{(A^n-1)}{A-1}+A^n*x\) 则求一 ...
- 传纸条 NOIP2008 洛谷1006 二维dp
二维dp 扯淡 一道比较基本的入门难度的二维dp,类似于那道方格取数,不过走过一次的点下次不能再走(看提交记录里面好像走过一次的加一次a[i][j]的也AC了,,),我记得当年那道方格取数死活听不懂, ...
- 尼克的任务 dp 洛谷1280
蒟蒻表示老久没看过dp题目了,,挺水的一道dp题目都没想出来,,, 首先设dp[i]表示从开始到i时间的最大空闲时间,用vector to[x] 表示从x点开始的任务结束时间,cnt[x]表示从x开始 ...
- PlayFramework的安装和配置以及向eclipse导入项目工程
一.Play的安装和配置 1.首先去官网下载Play的包并将其解压 我下的是playframework2.2.1 2.配置play的环境变量方便使用 3.打开cmd运行play 输入play he ...
- 作为一个程序员怎么通过android开发赚钱
上面是一个程序员通过Android开发每天的收入,信则有! 自己学安卓差不多,有一年了.我本来是从事javaweb开发的,可能学习安卓上手会快点.其实安卓没有那难 .首先开发安卓程序,要有一个,开 ...
- Linux怎样改动root用户的password
Linux系统的root账号是很重要的一个账号.也是权限最大的一个账号,可是有时候忘了rootpassword怎么办?总不能重装系统吧,这个是下下策.事实上Linux系统中,假设忘记了root账号pa ...
- 提高FPGA速度的quartus编译选项
Turning on some optimizations in Quartus II may help increase it. Here are some you may want to try: ...