• 全部
  • 问答

Java之我见

houlin476 2007-07-25 01:04:25
国内不谈java--会有千万人跳出来和你争嘴的。
越是如此,我越是不忍心不说出来,越是不不忍心看到在这个
领域被国外的同行越拉越远--在硅谷的感受。我只是个高中生,通过业余培训学过C,SQL,XML,Javascript,Java,但最感兴趣的是Java,不是去跟着感时髦,而是确实忠爱它。"一次编程,多处执行"是程序设计一直以来的一个诉求,尤其是在现代互联网络时代。在跨平台方面,Java的支持和实现都是为人称道的。java 出现在我们眼前,时间还很短,当他还只是一个半成品的时候,我们就被告知,java将成为软件发展的规范和希望. 然后,java出现了,jdk的出现,我们发现其实java并不习惯,因为我们已经适应了window下的visual编程,对于jdk这种编程方法已经很不喜欢,即使visual j++的出现,所增加的还不过是一个编辑环境.而且大家所熟悉的visual j++所支持的功能很少,可以说除了支持ActiveX之外,就是很纯粹的jdk1.1.这样的环境和功能,是根本不适合开发大型软件的所以,随着visual j++的兴起,java applet仿佛成为java唯一的功能了,几乎所有介绍java的书籍,网站,都被javaapplet充斥在许多人眼中,小应用程序是java唯一能做的事情了.可能还不如javascrip好用,当年如同耶稣降临似的java,仿佛成了鸡肋.用处的确不大.

  但我初次接触java,我就被java 面向对象的思想,舒服的代码形式所吸引,对于面向对象的编程,大家都已经耳熟能详,c++好像成为面向对象的标准语言,而且delphi,vb,pb好像都挂上了面向对象的边了.但在我看来,delphi在设计上完全的面向对象,而且在他的内部,他很好的处理了对象之间的关系,但是在大家使用delphi的编程过程中,可以说已经被borland公司的对象束缚,例如面向对象有个很重要的应用,就是内部操作和外部界面的分离,也就是数据和界面的分离,但是使用过delphi的人都知道,这个在delphi中是很难的,因为你对界面的直接操作就直接写到了界面对象相应的操作中.很多人问我,为什么VC中为什么要初始化成一个Doc类,一个View类呢?我想,这就是没有理解面向对象的思想,为什么呢,就是界面实现和数据操作的分离嘛,可是很多人几乎不使用Doc类,把所有的数据操作都写到View中,因为这样免去了在View中操作Doc类的貌似复杂不必要的操作.至于vb,pb,我想大部分人在编程中,实在是很难体会面向对象的.因为这些语言和工具,本来就很不适合来实现对象操作.

  如果你用过smalltalk语言,你会发现,什么是面向对象,所有的语句,甚至赋值,条件等等基本语句都是对象,学习smalltalk语言,很烦,即使你说自己对C++都是非常的熟练精通,为什么呢,因为我们绝大部分人使用C++,都没有真正体会到面向对象,当然在作项目的时候,也很难真正使用面向对象的方法.很希望大家有机会,学习使用一下smalltalk,因为这种语言能真正逼迫你体会面向对象.

  说了这么多面向对象,有点跑题,现在我回到java,为什么我一再的强调面向对象呢,因为smalltalk毕竟不是真正高效率的编程语言,我用过很多编程工具,可以说几乎所有的我都作过东西,但是我看来,只有java的面向对象,编程方法,才是我最喜欢的.使用java编程,你会感觉到什么是对象,感觉到自己编写的程序原来也可以这样的有条理.这样的舒服.我和java斑竹lolo曾经讨论过这个感受,他也很有同样的感受.

  但是,大家或许会说,java很好,但是他能干什么呢? 除了applet他能做什么?对于这个问题,我要告诉大家,他能做的东西很多,java到底能做什么,我使用java时间不是很长,但是我感到高兴的是,在这有限的时间里面,我接触的东西或许已经足够让我对java的前景产生了很大的兴趣和信心。

  如果大家能到Sun公司主页上看看,会发现太多的东西可能是你听都没有听过的,jini,jmx,java3d,servlet,rmi……太多了,如此多的新技术,而且功能都是前所未有,起码是非常不同的。在国外,java程序员已经超过其他语言程序员,其中IBM公司就使用自己开发的visualage for java为法国开发了全国铁路管理系统。这个项目说明了java绝对不是只能开发小东西的,只能是applet,当然java的网络支持或许是所有编程语言中最强的了,他在网络的应用功能远远超过任何语言,大家或许很喜欢而且很熟练CGI的开发,但是servlet的功能却更标准化,使用java会让你感受到舒适。

  jini可能很多人不知道是什么,我也不很清楚,但是自从lolo和我说了jini的思想的时候,我认为他,起码是他的思想绝对将在不远的将来充满我们生活的空间。

  今天我看了一本xml方面的书,再一次感觉到了java的无处不在。xml的思想很新,非常的有发展前途,记得lolo曾经告诉我,xml将会得到极大的发展。我期待这样的一天。

  我的方向是多媒体,所以我对例如3维效果非常感兴趣,以前我只能通过VC,C++ builder来编写出3维图形效果,如果将这种效果放在网上,即编写出支持3D效果的applet却不能,当然也有折中的方法,但那样作出来的效果很不好,也就是不是真正的3D图形,都是线条组成的,没有openGL作出来的那种虚拟效果,不过很快我就发现java突破了这个限制,sun公司的jdk for 3d(opengl)实现了对opengl的支持,作出来的效果虽然还达不到使用VC编写的那样复杂,但是再网上已经是非常难得了。

  前些天我访问www.opengl.org,发现了jausoft公司制作的opengl支持的java类,他已经彻底的实现了几乎所有的opengl功能,但是唯一的缺陷是,他不能真正实现java的跨平台,他需要在机器上预先安装一个解释软件。

  java对于声音,图象的处理,或许还不能达到专业效果,单对于他来说已经是非常不错了。

  今天一个朋友的提醒让我想起来。java语言的跨平台是大家都公认的,但是不知道是否注意到使用java编程,有一个和别的编程语言很不一样的地方。就是虽然都是C++语言,但是VC和C++ builder之间的共享性受到了很大的限制,虽然C++ builder提供从MFC到自身支持的过程,但是具体实现上很难。

  面向对象技术最核心的就是可重用性--reuseable,可是C++,object pascal等等都把这个优势降低了。可是java却做到了这一点,无论你使用jdk,jbuilder,Vj,visualagefor java,你都能做到对象之间的充分共享。甚至你可以在编程的时候,有时候选择这个工具,有时候选择那个工具,但是,这一切自由都不妨碍这个软件的整体统一性。如果你觉得Visual j++功能太差,可是jdk的编辑支持又不能忍受,你完全可以将jdk的class让vj来调试编译。你觉得visualagefor java的select控件对数据库的支持很好,你也可以将它导出,让jbuilder来调用,一切太自由了,自由意味着解放,你不必拘束于一种软件,你不必说我不会Visualage

  而只了解jdk,这一切,在java里面都不是问题。java的reuseable,实在是让我高兴。
...全文
298 点赞 收藏 19
写回复
19 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zhangmaster 2008-05-17
都是高手!
回复
hackztx 2008-05-17
.net技术中的csharp语言的结构也挺好的啊!!!如下:

using System;
class Test
{
static void Main()
{
Console.WriteLine("Hello");
}
static void Print(string strInput)
{
Console.Write(strInput);
}

static void PrintNewLine(string strInput)

{
Console.WriteLine(strInput);
}
}
偶也不愿意感时髦。。。去学别的杂七杂八的东西,先把一门搞懂,,其他的自然而然的。。。。
回复
fd860728 2008-05-17
我在成都的赛尔凯达学习JAVA,感觉还是可以的,我们那儿的老师讲课风格很好~就是感觉把这些知识很快融入你的知识体系里中去~
要学习JAVA往软件工程师这个方向走的人~我个人的一些学习后感吧~~
JAVA培训一般是三部分,J2SE,J2ME和J2EE,其中J2SE是JAVA的基础部分,也就是语法,J2ME是手机开发,J2EE是企业级应用。关键是要看你目前掌握的基础,如果完全不懂的话,那就得从最基础的J2SE开始学习,J2EE相对比较难,不过学好了后工作薪水也是比较高的,一般有一年的工作经验后,薪水都不会低于3000,这是成都的薪水情况。不过最好还是选择是项目实战为主的培训机构,因为企业比较看重项目经验,而不是理论知识。我个人觉得赛尔凯达的培训课程和师资都很不错,而且是由成都市青羊区就业局负责定向就业工作,具体的情况你们可以拨打当地电话了解028-66528691,028-66528699,www.cdkettas.com.cn
回复
Ice0River 2008-05-16
如果大家能到Sun公司主页上看看,会发现太多的东西可能是你听都没有听过的,jini,jmx,java3d,servlet,rmi……太多了,如此多的新技术,而且功能都是前所未有,起码是非常不同的。

这些都是新技术?

尺有所长 寸有所短
回复
yanqiaofang 2008-05-14
群号:59072535 软件开发/测试群体,欢迎你的加入
回复
林g 2008-05-12
[Quote=引用 5 楼 lxy218 的回复:]
一看就是初级
面向对象是思想,不是什么语言来决定的
[/Quote]
回复
Accpdubing 2008-05-11
java的优势是web,java之所以存在是因为他的跨平台性强,但是它的错吴太难找了。
回复
跳舞的字符 2007-11-13
觉得用java或者.net没什么不同。……
回复
buctreny 2007-11-12
java是一门语言,同时也是一种工具,写程序是将头脑中已有的一些思维 实现,关键在于这种思维。不过工具也十分重要,工欲善其事,必先利其器。我个人认为了解代码背后的思想,架构设计之源本,学习和模拟他们的实现,才能将我们的宝剑磨得锋利。
回复
wzw200 2007-11-10
dd
回复
qiuqiupeng 2007-11-09
楼主的copy水平提高了,搞的俺看的头大,B/S快淘汰了!
回复
fanjunli105 2007-10-20
看来要学的东西还是很多啊
回复
lxy218 2007-08-29
一看就是初级
面向对象是思想,不是什么语言来决定的
回复
logonin 2007-08-27
貌似在哪见过!
不是原版吧!
太老了,02年的吧,印象不深了
回复
cuoshuai 2007-08-26
学习学习再学习``````````````````
回复
zltpc007 2007-08-15
可以看出笔者接触过不少编程语言,我认为Java真正的用武之地还是在于web上的开发。
.net与J2EE两大阵营相互角力,B/S模式大行其道,市场前景不可限量。
回复
mazhenli 2007-08-15
学习,java在j2me方面也不错。
回复
相关推荐
发帖
研发管理
创建于2007-08-27

1211

社区成员

软件工程/管理 管理版
申请成为版主
帖子事件
创建了帖子
2007-07-25 01:04
社区公告
暂无公告