关于《Java封面》一些感想

开发 后端
今天正好看了博客园的首页的一篇文章 《Java封面》 ,初次一看,觉得这个貌似很这个说的完全都不靠谱啊,再一看,原来是2001年写的,然后在看看作者,发现原来是 硅谷创业教父 Paul Graham写的,联想到之前看到他写的一本书《黑客与画家》,突然能够明白为什么他这么认为java前途了。

今天正好看了博客园的首页的一篇文章 《Java封面》 ,初次一看,觉得这个貌似很这个说的完全都不靠谱啊,再一看,原来是2001年写的,然后在看看作者,发现原来是 硅谷创业教父  Paul Graham写的,联想到之前看到他写的一本书《黑客与画家》,突然能够明白为什么他这么认为java前途了。

java语言是在 1995年发明的,当初只是为了做一些机顶盒相关的应用,设计的也比较简单。那个时候java并不出名,java之所以比较火爆,就是因为互联网的发展,是由于当初的在浏览器里面能够运行java编写的小程序applet,你想想,那个时候互联网才刚开始发展,能够在网页上面运行动画,是多么牛逼的东西,由于当初java非常火爆,导致javascript 这门语言,想和java搭上关系,其实完全和java一点关系都没有,当初我学习javascript的时候,我一直好奇的是,这门语言完全和java没有关系,干嘛启用这么一个名字。

由于互联网的快速发展,微软出了asp的网页编程语言,记得当初我走B/S道路的时候,就是因为学习了asp这一门语言,发现能够做出东西来产品,比当初学习c和c++只能够写出hello word 这样的编程语言相比,它有趣多了。这个时候java也出了相关的网页编程语言jsp,然后慢慢的推出java三个平台,j2me,j2ee,j2se,分别定位移动平台,企业平台,客户端平台。

我初步觉得 Paul Graham 之所以当初对java有如此的认识,其实和当时所处的时代有关。当初的互联网刚刚起步,社会对互联网的认识才刚刚开始,当时的网速也不快,大多数复杂的企业应用都是采用的C/S模式,还没有慢慢步入B/S模式,而目前java主要运用都是在企业软件里面,现在大多数企业应用都是建立在B/S模式上的,所以说还是互联网成就了java。

现在来看看,作者当时的很多想法,应该是错误,

比如说着说:真正的标准是不是需要推广,相反,现在的标准之争原来越频繁,很多IT大佬在左右的IT编程语言的发展。一个标准推出的好处就是减少重复和浪费,就像操作系统,如果只有一个标准,大家都按照这个标准做,就不会出现为每个厂商就做一个操作系统软件,造成极大的浪费,幸好互联网定义了http标准协议,否则我难以想想互联网是什么样的。

java的目标太低:我看了黑客和画家,作者是一个典型的geek主义者,认为程序员是一个对技术要求很高的职业,要有喜欢挑战的精神,是一个典型的个人主义者。而java太简单。但是相反,随着IT技术的发展,对编程的要求不在那么高,只需要受过一个普通教育的人也能够开发出来很好的应用的人,编程只是一个实现功能的方式,要求越简单越好,越简单生产效率越高,而简单的东西才能流传的更久和更广。

Java 动机不纯:这个我觉得真的没有什么好说的,对付微软很正常,如果有市场就行,微软还不是***出了.net来对付java。开始java只是为了解决机顶盒问题的,后来发现java的这种设计思想非常不错,可以解决很多问题,***的好处就是跨平台。慢慢的就往更多的领域发展。

Java 有太多维护人员:java被一个委员会所维护,其实也不叫维护吧,这个委员会(JCP)只是规划java的未来的发展方向以及给java本身添加一个功能,我觉得java***的特点就是 定义了一个功能,但是不管这个功能是如何实现的,只要满足功能的规约。所以我觉得学习java***的一个特点就是规范,你会发现一大堆规范,最常见的就是 java虚拟机规范,规范主要是讲解要做什么,限制是什么,产生什么结果等等,并不关心怎么实现。

官僚作风太重: 这个比较有意思,仁者见仁,智者见智吧。java的确会有一大堆规范,比较不适合 geek,但是比较适合软件这个行业。如果有一大堆规范,那么每个人都会按照这个规范去做,每个人写出来的程序差不多,对于大型IT企业是很喜欢的,毕竟替代一个程序员的代价很低,大家的思想都差不多。

后面的几点我觉得都有点牵强,但是从作者的观点也可以看出来 对于码农的认知是不同。至少看完了《黑客与画家》,我发现作者是有强烈的黑客情节的(hack the problem),作者对于程序员的认识和现在对于程序员的认知应该是不同的。其实这个也是我最近在思考的一个问题:程序员的价值是什么。随着软件开发行业越来越公开化,开源世界的影响越来越大,程序资源也越来越多,很多功能的实现都有特定的开源帮助我们来实现,我们可以随时拿来用,以前我们的思维是如何实现这个功能,那么现在变成有没有类似的解决方案可以拿来用,程序员原来越偏向一个程序组装者或者解决方案者,那么程序员新的价值在那里 ?

原文链接:http://www.cnblogs.com/aigongsi/archive/2012/09/24/2700507.html

责任编辑:林师授 来源: 博客园
相关推荐

2023-03-17 08:28:17

GPT-4AI

2009-06-18 09:51:25

Java继承

2011-03-11 09:27:11

Java性能监控

2011-07-13 09:13:56

Android设计

2021-02-06 14:25:29

Java延迟加载代码

2012-05-08 13:47:23

求职面试开发

2013-04-07 10:40:55

前端框架前端

2017-09-05 09:17:47

Java编程用法总结

2012-04-19 10:06:55

微软Windows 8 E

2009-06-04 16:28:43

EJB常见问题

2015-12-04 10:04:53

2017-12-21 07:54:07

2022-04-14 10:22:44

故事卡业务

2020-09-28 06:45:42

故障复盘修复

2021-06-10 10:02:19

优化缓存性能

2016-10-18 22:10:02

HTTP推送HTML

2020-05-19 14:35:42

Shell脚本循环

2018-07-30 08:41:48

VueReact区别

2020-04-10 08:50:37

Shell脚本循环

2017-09-20 15:07:32

数据库SQL注入技巧分享
点赞
收藏

51CTO技术栈公众号