您的位置:首页 > 编程语言 > Java开发

说说对JAVA的认识

2005-03-15 09:29 288 查看
我就来说JAVA吧

本来我也没资格说的,毕竟才学了两年,其他的语言也没怎么多接触,就当是献
丑了。

如果学java是为了考试,没有必要看这篇帖子。

个人意见,仅供参考。

java是一门非常简单的语言。

    所以经常会有人说 四天学会JAVA,半天学会JAVA的。其实也差不多,学完C
++,看一 个下午应该就能掌握主要语法了。JAVA继承了C++很多精华思想,C ->
C++ -> JAVA。但是JAVA比C++来说是更彻底的对OO的实现,在使用上,应当也的
确比C++简单。

    但是在CSDN上,给我印象最深的贴子就是一个宣称自己四天学会JAVA的人是
如何被四五百跟贴的骂(他发在JAVA社区了,这就属于找骂贴了),因为他在炫
耀完之后问了一个相对来讲非常低级的问题,jar文件是什么?

    这就说明一件重要的事,java的强大,不在于他语法的复杂,而是在于由简
单性所引起的规模的复杂,通俗的讲,就像是围棋,入手简单,但是玩好了很难
。因为他简单,因此变化就多。JAVA的名词和概念多的要死,比如 JNI,JNDI,
RMI,JINI,EJB,RMS,有人能把这些都讲清楚吗?我不能,我理解的很少,我只
是知道。说自己学会JAVA的人,应该能明白这些名词和这些名词所代表的技术,
以及其他无数的名次和技术,而且不断的有新的名次涌现,单从SUN公司发布的J
DK中(java世界的宪法啊),也会出现新的技术,有些很复杂,比如范型,有些
很简单,比如for/in循环。学起来也是蛮头痛的。

  而且JAVA有很多工具可供使用,不会用,会被BS的,好像去麦当劳跟人要筷子
一样。

  所以,我从来不说我学会JAVA,就像我从来不说我学会了围棋,我只是会下而
已。

开发工具

  我开始的时候是一个人学,没有人帮助,所以很惨,JDK一直配不好,导致了我
上手的就是JBuilder,这是我用的第一个IDE,后来才学的VC什么的。别人,除了
我后来的JAVA老师(他原来不是老师),都说应该先用JDK来开发,这样对包,C
lassPath等概念比较清晰。但是我想使用IDE更直观的显示了这些概念。人们常用
学会跑就要先会走来形容IDE和JDK的先后次序,我觉得这根本就是逻辑上的错误
。IDE是将JDK于各种附加功能进行整合,不是JDK的一个延伸。不会走也是可以飞
的。 当然,这里面有我个人的认识,也有学院派和工程派的一些意见上的不同。

  IDE是一个提高程序员开发生产力的工具,所以我觉得自动化程度越高越好,比
如自动测试,重构,JAVADOC。这些东西对你写个helloworld当然没用,可是大的
工程必须使用自动化工具啊,在10万行代码里改变量名这种工作是不应该手工去
做的。

  至于用哪个工具,新手还是用JBuilder。我用了好久,从7到2005,都用过,功
能强大,界面友好,工具齐全,配置简单,大公司的产品用起来就是爽。但是,
全是D版的。以后正式场合用的话,如果不是财大气粗可以从Borland买上十几套
,会有些麻烦。PS:在IDE里装报告软件,比较阴险的招数。

  JCreater扩展性不好吧,我没自己用过,看别人用的,感觉很糟的IDE。

  IntelliJ IDEA  ,这个名字不知道和Intel有什么关系,也许是Intel开发的?
号称是最漂亮的IDE,用过几次,的确很漂亮,而且功能也很强。但是不是很习惯
,似乎支持不是很多,兄弟们自己看着用了。

  CAFFEE什么的记不大清楚,我感觉比较史前的一个IDE,鼎鼎大名的赛门铁克开
发的。没用过,但是看书有很多代码是用这个开发的,好像是专门的针对GUI开发


  Eclipse,不说啥了,开发包装两个,一个JDK,一个CDK,想写java写java,想
写C++写C++。

  呵呵,毕竟是IBM出来的东西,自己正在用,除了配置比较麻烦(相当的麻烦)
之外,比JB好,但是开源的优势又是JB所不具备的。推荐工具。

思想

  经常有人问,学JAVA还是C++,也经常有人说,语言不重要,重要的是思想。

  也有个笑话,是跟在这两句话后面的,是:那么要学JAVA的思想还是C++的思想


  其实我想这不是笑话,一个语言的特性决定了使用者的建模思想,上个学期学
Delphi,留下来作业做考试系统,我没怎么看Delphi的特性直接上手做了一个B/
S结构的设计,完全的是用javaBean的思想,结果被告知,Delphi做不了。结果用
老师讲的DCOM做了一个“超胖”客户端,我感觉还不如直接使用SQL server来的
好。那是一个很失败的开发。

  我从中得出的经验就是,不同的语言对应不同的开发思想,这大概是学院派所
不容的吧。

  JAVA的思想呢,纯粹的OO,同时有一些动态语言的特性。对于开发来讲,可以
很容易的从UML模型中正向工程得到。虽然C++也可以,但是不对全局变量作任何
限制这一点,我总感觉跟Go to 语句有点类似。

分类

  J2EE

  J2ME

  J2SE

  其他............................

  很多点的意思就是java不是就这三个分类,还有很多呢,比如JAVA芯片,即用
硬件实现JVM,javaOS应该也算一类。

  说实话,我没有写过一个JSP,也没写过一个Servelet,也没有写过一个Bean。
所以对J2EE,没有发言权,我是理论型的,:)  但是感觉,J2EE实际上就是提供
了一个框架,可以使程序员“针对业务领域”编程,而不必将经历耗费在网络协
议啊,线程管理上。没经验,没经验,过一个月好好看看了。

  J2SE,标准版,其实是个很强大的东西,J2EE是用J2SE实现的。如果想做一些
比较新鲜的应用,还是得看这个。我正在看。

  J2ME,(说起来就伤心,提醒兄弟们出门要看好手机)。开发J2ME的成本是很高
的,那就是一部支持的手机。模拟器和真机的差别很大。只得一提的是,开发J2
ME程序是一件很有挑战的事情。以Nokia S40为例,慢的要死的Cpu和只有200K内
存,算法不是很好一般都跑不起来。写过一个程序,每秒钟刷10次屏幕都完成不
了,这还是经过老半天优化了。同时还不支持浮点运算,所以我对S40那个泡泡游
戏很感兴趣。

资料来源

  JAVA doc,所有东西都找得到,不行就看DEMO,再不行就看源代码。当然这是
比较变态的做法,我自己做过一次,关于read/writeUTF的原理。其实IBM的东西
就很多了,而且也很前沿,一般到CSDN或CSDN BLOG找找,就没有解决不了的。

  我对MSDN  2G多的资料很好奇,也感到很恐怖。

就写这么多了,好累呢。

今天是白色情人节

明天三食堂就要开门了。

..........

我实在不是一个浪漫的人。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java delphi c++ jbuilder ide j2me