All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
历史沉船:死在自己手上的芬兰巨人诺基亚 - 诺基亚
要大发展:富士康放缓代工,开始转型 - 富士康,iPhone,iPad
微软收购诺基亚手机部门:韩国也怕专利战 - 微软收购诺基亚,专利,韩国
New pain point, cell phone manufacturers are front-facing camera crazy,
美国投资人眼中的阿里巴巴和马云是怎样的? - 阿里巴巴上市,阿里IPO,马云,阿里巴巴
Don’t forget the beginner’s mind: Ma, Lei, LIU Chuanzhi reviews entrepreneurial mind,
坎坷高端路:联发科2015前3季度利润同比大跌40% - 联发科,高通
美股券商Scottrade数据泄露,或影响460万用户 - 股券,股票,网络安全
Today, offsite, 16 provinces and cities across the province to pay traffic fines
这个“水壶”,能让普通自行车秒变电动版 - 自行车,电动自行车
Reading number is top 10 pictures
The terra-cotta warriors3
Born After 90 Beijing sports university campus flower photos2
Fat bird to fly
漂亮的跳舞妹妹2
邪恶搞笑内涵图
Hunan province aizhai super-large suspension bridge open to traffic and 4 world first1
男人们都在想什么
Look for from human art net, is good--3
Look for from human art net, is good--2
Sell the barbecue as says father du breul1
Download software ranking
Popkart Cracked versions Mobile phone games
Unix video tutorial3
Unix video tutorial20
实战黑客不求人
Professional killers2 data package
金山office2007
Kung.Fu.Panda.2
Ashlynn Video2
尖东毒玫瑰B
致我们终将逝去的青春
qq published in(发表于) 2015/5/24 9:09:46 Edit(编辑)
阿里巴巴:Apple Pay入华一事,我们尚在努力 - Apple Pay,阿里巴巴,苹果

阿里巴巴:Apple Pay入华一事,我们尚在努力 - Apple Pay,阿里巴巴,苹果

越来越“简单”的Java - java,编程 - IT资讯 <br/><p>Java,20岁了。从我写下第一行Java代码,迄今已有十余年了,眼见Java——这个当年刚刚找到自己成长方向的懵懂少年,成长为如今当之无愧的业界王者。它已拥有世界上最庞大的开发者社区,以及无可匹敌的生态系统。这也意味着,选用Java做任何应用,都有着强有力的业界支撑,而无需担心自己孤独前行。</p><p><img src="http://img.ithome.com/newsuploadfiles/2015/5/20150519_233628_446.jpg"/></p><p style="text-align: center;">▲本文作者</p><p><strong>崩坍的“标准”</strong></p><p>我刚成为Java程序员时,还是一个蛮荒年代,什么东西都鼓励自己动手丰衣足食,虽然开源的苗头已有星火,但大多数企业的态度是,非我族类,其心必异。我依然记得自己的第一个正式Java程序是实现一个SMTP服务器。</p><p>我从SocketAPI一路写了上来,先是实现了粗略的SMTP协议,然后,再实现我们的应用协议。虽然这种做法对于个人从下到上理解知识体系是有好处的,但每个人都从头造轮子,对于工程开发而言,只是在浪费时间。</p><p>那也是Java企业级开发大行其道的年代。背靠着Sun这棵大树生长起来,这几乎也意味着最初的Java就是Sun销售服务器的附赠品。而有能力为这些服务器买单的几乎都是些不差钱的大企业。Sun也瞅准了这些金主,大力地推动着“复杂”的企业级标准,著名的J2EE。在那个年代,写Java程序不写EJB,不谈几句分布式事务,你都不好意思说自己是做Java程序的。几乎主流的声音都在大谈企业开发的复杂度,不断拓展着想象的边界,似乎每个Java程序员面对的都是世界上最复杂的问题。即便应用只是一个简单的管理系统,或是仅仅做消息转发,我们需要的也一定是一个价格昂贵的应用服务器,编写只有部署到上面才能运行的EJB,因为这是官方推荐的做法,只有这么做才正宗,只有这么干,才叫企业级。</p><p>有一次出差在外,临近下班,我发现了程序的一个Bug。实际上,我们的程序就是一个按照官方推荐做法编写的EJB,只有部署到应用服务器才能运行。我的调试方案就是加上一些打印语句,然后部署到应用服务器上,看输出的结果,再加上另外一些语句,再部署,如此往复。那时我们用的是Sun的应用服务器,只有用它的发布工具将应用打包,然后把几百兆的程序上传到服务器上,每一次上传都要至少十几分钟。最终,我定位到了问题,只修改了一行代码,问题解决,但时间已经晚上九点多,三个多小时的时间多半都在等待部署中浪费。</p><p>我不认为我所喜欢的软件开发应该是无意义的消耗,一定是哪里出了错。周边的人给不了我答案,我只有到网上搜寻,于是,我知道了敏捷、知道了开源、知道了软件设计,也知道了世界上有一堆Java程序员对官方说法的不满。那段时间,我疯狂补习着各种各样的软件开发知识,我越发觉得“简单”开发才应该是软件开发的本来面目。</p><p>那段时间恰逢软件开发理念变革的年代,SpringFramework、Hibernate等如今还在影响Java程序员的框架刚刚发轫,企业级开发“WithoutEJB”理念初出茅庐。倍受J2EE开发模式折磨的程序员大量地讨论着各种方法的优劣。那时,我也开始带队做项目,于是,我便笨拙地践行着这些新理念。我用的第一个SpringFramework的版本是0.8,我开始用设计去隔离数据库访问,尝试把EJB踢出我的项目,努力在本地完成所有的开发测试,尽量少用应用服务器。如今想来,还真要感谢我当年的项目经理,那么信任我,让我放手折腾。</p><p>幸运的是,没过多长时间,大多数Java程序员跟上了先行者的步伐,于是,我们看到更多的人拥抱开源理念,探索敏捷,SSH(Spring、Struts和Hibernate)成了业界的主流。所谓官方标准已经失去了公信力,加之像JBoss、Tomcat这样的开源服务器的兴起,那些靠卖应用服务器当年大赚的厂商开始凋零,拥有WebLogic的BEA早早投靠了Oracle,IBM的WebSphere已成明日黄花,最可惜的是最官方的Sun,生了Java,却挣不到Java的钱,现在也成了Oracle的一部分。</p><p><strong>“简单”的前行</strong></p><p>一段大戏尘埃落定,历史车轮却不曾停下。今天的Java之所以是今天的模样,因为更多的新思潮仍在不断冲击。</p><p>随着互联网的兴起,Web开发成了业界开发的主流。原本Java程序员的日子是相当不错的,开发标准的逐渐建立,各种开发框架也日渐完善,各种工具也逐渐丰富。但这时候,一个Rails的框架横空出世,所有人都见识了如何在十五分钟内编写一个Blog。而十五分钟都不够Java程序员写好XML配置文件。新思潮的到来,让Java程序员开始重新认识Java开发。我们确实已经从J2EE的笨重走了出来。但有了新的对比目标,Java开发依然是前路漫漫。Java程序员们继续不断努力探索,研究如何用好Java5带给我们的语法转变,研究怎样用Java实现一些动态语言的效果,研究提升Java程序的表达性。今天,我们有了更多的选择,甚至在很多方面已经彻底与XML说再见了。选择一个程序库,功能的实现只是其中一部分原因,而表达性也成了重要的参考因素。</p><p>当开发Web的人越来越多,有人突然站出来说,你们做得不对,这个人就是HTTP协议的设计者之一RoyFielding。后来的事,我们都知道了,RESTful架构开始兴起。与之相随的是,当年那个叫Ajax的技术被越来越多的人实现网页的动态效果。人们发现,Ajax和RESTful服务简直是天作之合。后台提供服务,前台提供展现,一个新兴职业随之兴起,它叫前端程序员。对那些Java程序员来说,这也是美事一桩,我们再也不必用Freemarker、Velocity或是JSP编写那些四不像的HTML了,大家都可以集中精力做好自己最擅长的事情了。这种结合的另外一个妙处是,开发人员越来越多地使用JSON作为前后端通信协议的承载,而被抛在历史故纸堆的方式叫做WebService,又是一个大公司推进的以XML做基础的东西。要知道发送Ajax请求的基础对象可是叫做“XMLHttpRequest”,影响之大可见一斑。</p><p>多核的兴起让程序员们纷纷探索起怎么编写并行代码,研究来研究去,大家发现许多好的编程理念都来自一个叫函数式编程的编程范式。这个曾被务实的程序员束之高阁的东西又被人重拾起来。越研究,就越觉得函数式编程是个好东西,可惜Java没有提供函数式编程的原生支持。于是,人们一边喊着在Java语言里添加支持,一边自己动手模拟函数式编程,借鉴函数式编程理念。这两件事后来都有了结果,我们今天有了Java8的Lambda,对于使用之前版本的Java的人来说,Guava也可以让人部分享受函数式编程的乐趣。虽然不是完整的函数式编程支持,但对于大多数习惯使用传统Java的人来说,这些支持已经可以让Java比从前优雅一些了。</p><p>当年采访C++之父BjarneStroustrup,如何看待Java的简洁,他的回答是,时间不够长。大师之见果然长远。与我初涉Java时相比,今天的Java可以说已经有了天翻地覆的变化,而且,我相信,这样的变化还将继续下去,Java8的威力尚未完全发挥,Java9已经在路上了。令人欣慰的是,这种变化是让开发越来越简单,Java程序员的生活越来越轻松。</p><p><strong>作者简介:</strong>郑晔十多年工作经验的程序员,Duke选择奖获奖作品Moco的创始人,前ThoughtWorks首席咨询师,创业大潮新鲜人,目前投身于智能硬件领域,致力于简化智能硬件的开发方式。他多次在各种媒体上发表文章,在各种技术大会上做过演讲,分享自己对于软件开发的理解,特别愿意吸收新的知识,也愿意与人畅聊软件开发。</p> <br/>




添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.