软件开发技术名词的解密篇(9)-JAVA2,J2EE,.NET

Java2:
  这是近几年最吸引大众焦点的语言,在Web开发,网络平台,移动开发的世界里发光发热。你可以不用java,但你不可以不了解java,毕竟这是一个极大且丰富的软件开发领域。有些没使用过java的VS阵营里的人可能还不明白java2里的那个2是什么意思,容我先解释一下。Java最初正式推出1.0时,并没有受到如此多的好评,受到颇多责难,于是它不断地推出新版本来完善自己,其中变化显著的一个版本是1.2(我没记错吧),Java的每一个新版本除了语法上的更新,还有一明显的标志,那就是JDK(Java Development Kit,就是Java自带的一套SDK)的更新,版本1.2以后的java为了在宣传上与以前的java相区别,便被称为java2。目前用得比较多的jdk是1.3/1.4 ,最新的JDK是1.5(代号tiger)。java开发的IDE国内主要以JBuilder为主,另外就是在开源领域如雷贯耳的Eclipse,而sun也力推自己的开源java IDE:Netbeans(从sun的网站上可下载,免费)。Java运行是虚拟机机制,相当于在操作系统上增加了一个软操作系统,源码被编译成一种字节中间码,由虚拟机解释执行,只要有对应的虚拟机,java程序就可以在该操作系统上运行,这就是java号称的一次编译,到处运行的由来。而附带而来的不可避免的性能问题也让Java难以成为桌面程序开发的主流。补充一下:对初学者学习而言最好的Java IDE我推荐使用JCreator,这是一个C++写成的IDE,几MB的大小,比Eclipse快十倍以上的启动速度,对初学者带来极大的便利。

  J2EE:
  Java实际上又被分为3类:J2EE/J2SE/J2ME,不同类分别对应不同的JDK,J2EE针对企业平台开发,J2SE是标准版,J2ME针对移动平台开发。J2EE现在实在是热得烫手,我前不久翻了一下程序员早期的杂志,发现在第一期创刊号里(2001.1)已经有了j2EE方面的讨论,现在已经是2004.6了,你对它的认知又多了多少?J2EE不是一种单纯的技术,而是一种体系架构以及组成该架构的诸多标准。企业平台开发和桌面/简单Web数据库开发有很大的不同,它的程序规模往往很大(不是一个或者几个EXE可以搞定的),用到的往往是海量的数据库和海量的通信,并且常常是不可中断的,这些特殊性都使得企业平台开发更多地去关注架构的问题。而我们写一个熟悉的java客户端程序,或者消息处理中间件,又或者数据库处理程序,都只是这样一个架构里的一小部分。J2EE是很宠大的,所以请不要写了几个EJB(这是java世界里的构件,概念上大概是类似于COM)的例子程序就感觉自己精通j2EE。

  J2EE中传递消息时往往引入了一个被称作消息管理器的中间件,在服务器端使用EJB的容器来管理和调用EJB。在J2EE中一个重要的概念是Transaction(事务)处理,事务的概念最早广泛应用于数据库技术。这实际上是一个封装了很多操作的单元,它的作用是中间任何一个操作失败,可以自动依次整体撤销,所以一个transaction就是操作成功/失败的最小单元,不存在一个transaction只成功了部分操作的情况。

  在企业服务平台开发中比较知名的有一个叫BEA公司(这是一家不错的公司,应该知道它的名字),它的产品是Weblogic。

  .net
  .net是微软为下一个十年准备的技术,你呢?.net也是一种平台技术,而不是单一技术。它主要分为.net运行时平台(对应java的虚拟机)和.net类库(对应java的jdk)。目前只有Windows2003是天然集成了.net运行时平台的操作系统,所以如是你写的.net程序想要在别的操作系统上运行,该操作系统必须先安装.net平台,这是一件蛮烦人的事,也是为什么到目前为止,还没有太多的人改用.net来写程序(尽管可极大提高开发效率)。希望Longhorn的出现可以扭转这一现状。那我们就终于可以和MFC这样过时的框架类库说再见了,一大快事。

  .net采用了很多最新的技术和思想,对走VS路线的人来说(特别是有COM概念的),学起来相对轻松且很过瘾,前人推荐的“.net框架程序设计“和”.net本质论“都是很好的书。当然,看它们之前你最好基本掌握一门.net语言,譬如C#,掌握语言对我们来说是最easy的。

 


 

你可能感兴趣的:(软件编程)