1、一个伟大语言的足迹,java的诞生,成长与未来,目录,java缘起 迅速崛起的java java大家族 Java混乱之治 java的未来?,据说java就是这么生出来了,Java诞生在一群懒惰、急躁而傲慢的程序天才之中。1990年12月,Sun的工程师Patrick Naughton被当时糟糕的 Sun C+工具折磨的快疯了。他大声抱怨,并威胁要离开Sun转投当时在Steve Jobs领导之下的NeXT公司。领导 层为了留住他,给他一个机会,启动了一个叫做Stealth(秘密行动)的项目。随着James Gosling等人的加入, 这个项目更名为Green。其目标是使用C+为嵌入式设备开发一种
2、新的基础平台技术,James Gosling本人负责开 发一个SGML编辑器。 正如人们事后分析的那样,这位天才的程序员太懒惰,所以没有把C+学好,开发中碰了一头包;太急躁所以 不愿意停下来读读Scott Meyers的新书Effective C+;太傲慢所以轻易地决定开发一中新的编程语言。他 把这种语言命名为C+-,意思是C+“加上一些好东西,减去一些坏东西”。 显然这个糟糕的名字不可能长命百岁,很快这种颇受同伴喜爱的小语言被命名为Oak。 到了1992年9月,Oak语言连同Green OS和一些应用程序一起发布在称做Start 7的小设备上,从而使之有了第一 次精彩的亮相。随后,Sun开了
3、一家名为FirstPerson的公司,整个团队被转移到这家公司里研发机顶盒,以投标 时代华纳公司的一个项目。这帮天才被技术狂热所鼓舞,开发出了一个高交互性的设备, 结果没想到时代华纳公司和有线电视服务商并不愿意用户拥有那么大的控制权,从而在竞标之战中败给了SGI。 Oak的锋芒之锐,竟然把客户都给吓懵了。Sun沮丧地关闭了FirstPerson,召回了整个团队。 事实证明,传统行业中那些脑满肥肠的保守主义者是腐朽没落的。回去!回到激情澎湃的IT产业,抓住互联网的 大潮,这才是出路! 1994年,Oak被命名为Java,针对互联网的新一轮开发如火如荼,一切已经就绪,熔岩在地下奔流,火山即将喷发。
4、 1995年,Sun正式对外公布了Java,并且发布了JDK 1.0。这种外形酷似C+,却包含一颗Smalltalk般纯洁的面向 对象之心的全新程序设计语言及其平台,几乎在一夜之间就成为软件产业的新宠儿。,Java刚出现时仅仅被用来为网站制作一些动态应用,诸如动画图片之类,但这仍然引起了很多Web开发者们的注意,他们非常渴望有一种安全的语言,可以在静态的HTML网页上制作动画图片。Sun最终把Java集成到NetScape浏览器。同时因为它具有“只写一次,随处运行”的特性,而引起了很多开发者的注意,他们可以再也不用为了使程序能够在不同型号的硬件上运行而耗费大量的时间来编译代码了。当时的Web浏
5、览器的出现也为Java的出现起到了很好的推动作用,通过Java和Web浏览器的结合,人们似乎看到了什么,有人甚至预言PC将在一两年内退出历史的舞台,取而代之的是基于Java的浏览器应用程序,通过网络计算设备来进行应用。Java的出现为当时的软件产业带来了无限的遐想。,java之父 James Gosling,James谈学生与JAVA,SUN在1996年一开始首先成立了JavaSoft组织,并在1月23日正式发布自己的Java 1.0,作为20世纪业界出现的最重要的技术之一,Java引起了编程世界的革命。直到现在,Java仍然是互联网上最流行的语言。在Sun正式发布Java 1.0之后,Jav
6、a这门新生的语言就拥有了自己的会议JavaOne,这次会议初试啼音就吸引了600多名参与者。除了拥有这么多的积极参与者来进行Java的开发之外,各大知名公司也纷纷向Sun申请Java的许可。,一时间,NetScape、惠普、IBM、Oralce、Sybase甚至当时刚推出Windows 95的微软都是Java的追随者。 Java的应用就像是世界上的顶级玩家们组成的一个公开联盟,告诉全世界我们大家就是都在用着Java。也正是因为如此,Java也找到了自己的归宿。现在的J2EE已经成为中大型企业级应用的标准,成为承接数据库和Web之间的一个重要桥梁。当年Java的机会实在太多了,以至于很难知道到底
7、该做什么。最终Java在应用服务器市场获得了难以取代的地位,也确定了J2EE的发展方向,并且仍将延续下去,Java大家族,Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优异、多线程的动态语言。Java在无数程序员们的努力下延伸扩展出许多产品,如开发无缝集成系统、网络和服务管理应用的JMX,JavaFX Script编程脚本语言,为中小型企业提供综合型解决方案的Compiere ERP&CRM【Java开源ERP与CRM系统】,面向网络开发的JSP,各种商业领域大显身手的JBoss和Eclipse ( 开源软件项目)等等,JBoss和Eclipse
8、Java开源软件的王者,目前最有影响力的Java开源软件项目,要数JBoss和Eclipse。可以说,几乎所有的Java开发人员都获多或少的听到过或接触和使用过它们。前者是目前最优秀、应用最为广泛的企业级开源J2EE应用服务器,后者是功能完全可以替代商业产品的Java IDE。二者的覆盖功能之全、支持工具之广、子项目之多,几乎可以仅凭借它俩来完成企业应用的开发构建到部署实施的全过程,而软件开发者和客户也都可以最大程度上享受高质量,高可靠Java开源软件所带来的低成本优势,Java混乱之治,近日,TIOBE发布了2010年10月的编程语言排行榜,距离宣布“年度编程语言”(在一年内上升率最快的语言
9、)还剩3个月了。目前Objective - C遥遥领先,上升率为2.54;其次是Python的0.96,以及C的0.55。从榜单上看,本期编程榜没有发生太大的变化,和51CTO最近做了一次网上调查一样,Java依旧是广大开发者的首选语言!,51CTO移动开发者网上调查截图,最初,Java作为一个实验室项目,因为投标美国数字电视项目失败几乎被打入冷宫,但是因互联网的兴起而复活。十几年来,Java一直是被使用最多的语言,在10月编程语言排行榜上,Java也占据着王者的位置。但是Java风光的背后却充满了混乱的喧嚣!很多人认为这是Oracle收购Sun之后的阵痛,但是在很多年以前就有一篇介绍Java
10、混乱的文章:Sun和BEA一直在博弈是否合作推出SOA框架(虽然Sun和BEA最终合作了,但是这两个倒霉蛋都在自己logo上面加上“Oracle”的字样);社区在为EJB与非EJB吵吵嚷嚷;纷乱的框架让开发者烟花缭乱,而这些框架又在诋毁对手弹指一挥间6-7年过去了,眼前Java的混乱却一直都没有停止过,Java世界里面到底发生了什么?,编程语言排行榜前20名榜单,潘多拉的盒子失控的源代码,开放源码的精神在于使用者可以使用、复制、散布、研究、改进软件。开源世界里最重要的一项技术便是我们熟知Java技术。Java技术在一开始就定位在“跨平台、动态的Web、Internet计算”这个位置上。为能使J
11、ava比晚自己六年出现的.Net更具活力,前Sun公司在2006年11月正式宣布开放Java的源代码。Sun可能没有想到,从这一刻起,Java的混乱局面像开启的潘多拉盒子不可收拾。IBM在第一时间就表示了自己的反对,IBM“建议”Java的开源应该走Apache的道路。为什么会这样呢?在开源世界里谁贡献更多的源代码,谁就拥有了这项技术话语权。前Sun公司对Java开源循序的是GPL是开放源代码的方法,即Sun把Java贡献给JCP和开源社区,开源社区的开发者可以贡献自己的源代码,而使用Java开发产品的厂商在产品面世时也要公开自己的源代码。这种错综复杂的关系让开源社区、各个厂商、Sun以及后来
12、收购Sun的Oracle在Java的世界里争得面红耳赤,像Oracle与Google之间的版权纠纷其根源也是源于此。,“开源”开启 的潘多拉魔盒给Java带来的是灾难还是希望,Java与Microsoft,microsoft的logo,Java诞生的1995年,正是微软在软件产业地位达到巅峰的时代,Windows 95发布时的风光场面给人们留下的深刻印象至今难忘。尽管如此,作为最卓越的技术领袖,比尔?盖茨仍然敏锐地注意到Java。当他了解了Java的一些细节之后,给予了这样的评价:“Java是很长时间以来最优秀的程序设计语言。”基于此,微软于1996年3月申请并获得了Java许可证。微软对于J
13、ava的这一热情态度在当时大大提高了人们对Java的兴趣和信心,但也有不少人担心微软会依靠自己强大的影响力在标准之外另立标准,从而破坏Java的纯洁性。果然,从1997年发布Visual J+的第一个版本开始,微软就开始在Java中掺入自己的私有扩展。这毫无疑问引起Sun的高度重视。1997年10月,Sun向美国加州地方法院起诉微软公司违反两公司就微软使用Java技术所签定的合同,指控微软公司在自己的Java产品中做了“不恰当的修改”,违反了合同中承诺向用户提供Java兼容产品的条款。这一官司旷日持久,直到2001年1月双方达成和解,微软将继续提供采用Sun开发的Java技术的现有产品(包括测
14、试版)。不过,Sun有限制地仅对包括Java 1.1.4的微软产品提供许可。到了2001年7月,微软公布新版的Windows XP将不再支持Sun的JVM,并且推出了.NET平台与Java分庭抗礼。现在回过头去看,当时的这一场官司对Java世界产生了深远的影响。如果没有这一场官司,也许很多Java程序员都在使用Visual J+,基于WFC开发Windows客户端程序,同时不得不面对被两个不同的事实标准所分裂的Java世界。,跳票王JDK 7重整河山,JDK 7,第一个真正开源的JDK版本,也是要为Java带来变革性的一个版本依然处于默默的研发当中。JDK 7将让Java经历“重整河山”过程。
15、按照Java的计划,要对Java进行大幅度的瘦身,提升执行效率,改变语法结果,支持脚本语言。这个改变也同样是和艰巨的。但是改变之后就是新生,就会让Java重新获得年轻的声明,这将使Java改变目前混乱的局面。Java研发团队从来都没有停止他们的工作,一直在推动的项目前进;众多Java开发者都在关注者JDK 7的发布,但是一次次延期已经使JDK 7成为跳票王。很多Java的爱好者都期待着JDK 7改变Java目前混乱的局面,但是JDK 7从2009年年中发布早期预览版到预计2010年6月发布正式版,再到Java研发团队提出A、B两大个计划,JDK 7一度传言最迟将在2012年发布!Java之乱不
16、解,便无法再次飞跃,这是网上传的试用版jdk se7.0 官方还没出正式版本,很多人都说Java已死,Java创始人James Gosling却在博客撰文Java离死远着呢!何故?虽然Java给人的感觉越来越笨重,但是移动应用的世界Java牢牢的占据了统治地位。 近年来,移动终端的内涵开始变得越来越宽泛,各类终端的定义边界开始越来越模糊化。“融合”的趋势明显:手机在融合了MP3或者MP4等的多媒体功能之后,又开始融合GPS功能;MP3、MP4也没闲着,iTouch融合了通话功能之后,摇身变成了iPhone,不小心创造了2008年IT通信领域的一大奇迹。由此可见未来移动终端设备的发展必将带动移动
17、应用程序的发展。,java的未来?,越来越“火”的iphone5?,目前移动开发的平台非常多,苹果的iPhone OS、Google的Android、微软的Windows Phone、RIM的BlackBerry、老牌手机霸主诺基亚的Symbian以及诺基亚和英特尔合力打造的MeeGo等等,而移动终端设备所使用的移动程序大多只能各自的平台下运行:Android程序不能在Symbian平台上运行,iPhone无法使用的Windows Phone 7的程序。在混乱的移动开发平台中还没有一个能在短时间内击垮所有的对手,但是除了封闭的iPhone使用Objective-C编写程序,其他平台几乎都使用Java。在这片混乱的移动开发平台中,Java已经大展身手许久。Google的Android已经在短短的两三年内成为移动开发领域最不可忽视的力量。Oracle同样也看到这点,先是利用版权问题刁难Google,在近期又推出Java ME最新的路线图。未来移动开发的走势,就关系到Java在移动领域的里发展,尽管Java依旧风光,但是透过这一片混乱的烟雾我们依旧看不清Java的方向。,开源、中立和客观与商业利益是对立的,但是有时有不得不依赖商业。我们不断苛求着Java,用理想主义去看待Java,还是默默的支持Java,是每一个Java程序员的选择。希望Java一路走下去!,