| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5546 人关注过本帖, 1 人收藏
标题:[原创]嘿嘿,给入门者指个路,Anstey加分啊,呵呵
只看楼主 加入收藏
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏(1)
 问题点数:0 回复次数:24 
[原创]嘿嘿,给入门者指个路,Anstey加分啊,呵呵

看到论坛上许多人学习很盲目,所以想想还是发个帖,说说自己的学法和想法,指导称不上,只是希望大家一起探讨探讨啦~

一、我认为合适的学习路径

我觉得从J2SE学起比较合适,而后可以根据需要转向其它两个平台。经常能看到这样的学习者,上来就学J2EE或J2ME,我认为这样极其不好,其急功近利之心真是路人皆知啊~首先一点我们必须承认,J2EE和J2ME确实是应用的主流,但是有两点也不能忽略:1.J2SE是所有Java应用的基础;2.J2SE可以进行桌面、游戏的开发,这也是比较好的应用方向。如果说你觉得J2SE做桌面和游戏应用没什么好的话那么你就大错特错了,可以看看http://www.java.com/en/lifestyle/ 其实Java做的游戏也比较多,就我知道有两个大型的网络游戏就是Java做的:《海盗时代》和《海天英雄传》。如果你说Java做桌面和游戏与其他语言相比没有优势的话,那我承认,不过我也要问一句:没有优势就等于不能开发了吗?如果你用C++开发桌面应用和游戏,那么难度肯定要比Java大,我还宁愿用Java呢,方便啊~说到这里又不得不提一些朋友了,有些朋友盲目追求什么性能啊,效率啊,并以此攻击Java的桌面应用和游戏开发,我觉得非常可笑!如果你是C++或者Delphi等等的高手,那我没话说,可是偏偏都是些菜鸟在那里叫嚣。我不禁想问一句:在你大谈特谈的时候你有没有想过你自己用过C++之类的语言吗?你学过吗?你知道C++开发的难度和复杂度吗?我想你知道后就会觉得Java对你们这些菜鸟是何等的方便了。还有就是菜鸟往往不注重算法的效率等问题,造成好好一个程序,给他们一写变得效率奇低,这样你的Java程序效率自然差的可以,有时间抱怨Java自己的问题不如自己好好学学算法,数据结构,你这些基本功不掌握学了J2EE和J2ME又如何,开发出来的程序还是垃圾。

说到这里打住,开始说说怎么学J2SE吧,首先肯定要入门了,然后掌握扎实的基础,那么很多人问看什么书?我觉得Java的官方教材是最好的,至少我看到现在是这样。下载地址为:http://www.certcity.net/download/list.asp?id=87 注意,一次只能下载一本书,否则密码自动无效,如果下不了可以问我要,我会Email给你。我建议下载英文版,当然你英文不好也只能看中文版。这里我还是要说,英文不好就要学,就要练,否则永远不会好!!!英文重要性不必我说,一定要学好。(看到好多朋友还要中文版的JDK文档我也真是只有晕倒了)很多好的编程技巧都是从外国网站学到的,这里推荐一个:http://www.javaworld.com 学好Java的基础后,如果你想检验一下自己的实力的话,那么可以去参加一下SCJP认证,关于认证本身就不多说了,但是如果你不想参加,那我也希望你做做那些认证的题目,有很多题目都很能触及Java的基础,都是很容易错的,做了后能使你对Java的语言机制有个更加深入的理解。做这些认证题有问题的话可以上论坛来问。

学好了基础不等于就能编程了,接下来就是熟悉API了,这其实是个把你所学的概念应用到实际的一个过程。比如学习基础时你知道静态方法可以直接用 类名.方法名 的形式来调用,那么当你看到API文档里的类的方法后你也应该知道怎么用了,至少可以猜个大概,因为很多类都把常用的方法写成静态方法了。我就是这样熟悉API的用法的。学习API的过程中就可以看看那些什么什么实例之类的书了。很多初学者通常都是从这些书开始的,其实这是很错误的学法,因为好多写这些书的人可以说自己都是三脚猫,很多概念自己都说不清,只能告诉你就这么用,你也就跟着稀里糊涂了。不过还好,这些书也没算白买,现在不就能用上了吗?:-)还有一点就是关于挑书的心得,不要说我崇洋媚外,我个人觉得外国人写书的水平确实高于国内的人,也许因为文化背景不同的缘故,其实还是这个教育体制的问题,中国的教育体制真的可以改了,你看它连编程的学习都影响到了。国外的书是越看越有味,他通常不告诉你具体确实的做法,只是告诉你思想,指导思想;国内的书要么是很功利的应试书要么就是实例技巧之类的,越看越没有意思,而且你还会发现一个很有趣的现象,国内的书特别喜欢改例子,一个原理相同的例子在几本书里可以用,外表改得天花乱坠,其实技术原理一点没变,只能说国内(确切的说是大陆)的编者只认钱,一点职业道德都没有。台湾现在倒是涌现出不少好的作家,想必大名大家都知道了,在这里就不多说了。所以买书一般先看国外的再看台湾的,国内的基本可以不看。国外的书也分原版和译本,建议看原版,这里又存在一个英文问题,所以有时看来要学好编程,瓶颈在英文上。之所以要看原版因为有些译本的翻译人员水平较低,翻得你看不懂,自然也就错过了作者的精妙之意了。这里我想讲个例子,我的一个同学,是女孩子,她学Java编程,我借给她一本国外的书,让她入入门,她看了书后第一个反应是书上的句子看不懂,显然翻译确实是大多数译本的问题所在,她说了句很搞笑的话,她说我连一句句子的主谓宾都划不出来,可见翻译质量之差;但是她努力看完之后,你知道她说什么吗?她说收获很大,比她以前看的国内书写的好很多。我觉得这是一个非常生动的例子,国外书即使是翻译的不好,还是瑕不掩玉。

好了,现在你已经不再是菜鸟了,那么接下来干什么呢?我觉得就可以开始自己做做小项目了,一方面练习一下自己学过的知识,熟悉API,另一方面对开发有个感性的认识,开发过程中你肯定会发现很多书本上学不到的知识,你也会发现一些问题,这些问题的发现有助于引导你进入下一个学习阶段。比如,你发现你的程序虽然结果是对的,但是为什么那些高手总是能写出更简洁高效的程序?这时你就应该在开发的同时学习算法和数据结构,开发不要停,因为可以帮你熟悉API和发现自己身上还存在的问题。开发过程中你也很容易发现软件工程中的一些问题,比如软件腐烂,呵呵,也就是你发现你的项目开发到后来进行不下去了,倒不是因为技术上有什么困难,而是自己不知为什么不想继续下去了,为什么?Bug怎么找都找不完,每次想增加新功能却要改好多代码,甚至要重写整个软件,这样你就自然而然会想看看关于软件工程方面的书了。可以看看到底怎样开发才是合适的,如何防止软件腐烂?软件架构怎么设计才好?看看设计模式可以让你在面向对象的理解上再上一个层次,其实这也是J2EE必不可少的组成部分,甚至可以说是核心,其实企业架构别人都帮你做的差不多了,关键其实就是你自己的设计和思想了,这些东西才是核心,至于实现这些的技术如:JSP,EJB等等都是次要的了,因为有了你前面的学习基础,这些东西的上手只是小儿科,你不用多久就可以应用好这些技术,但是思想呢?设计呢?不是这么短时间可以培养出来的!

到这里是不是差不多了呢?呵呵,学无止境,接下来你就要时时跟踪最新的技术动向了,把新技术和现有技术很好的结合也是一门学问,好好学吧!当然永远跟着别人的技术走肯定不是办法,能自己创新就更好了。不过就像上面这样好好学,学成了就是技术跟风也够让你的年薪上十几万了,必要时可以倚老卖老,当当管理人员这样年薪就又要翻个个儿了,变成几十万了,嘿嘿

二、我认为好的学习方法

上面讲学习的路径时其实也提到了一些学习方法。下面我再具体的说说。

看书肯定是一个方法,也是多数人的学习方法,其实看书也有学问,怎么看就会导致完全不同的效果,就像在学校里学习一样,同样是坐在一个教室里,看的都是同一本教材,为什么有的学生就是班级第一,有的就是倒数第一呢?努力程度肯定是有影响的,但是为什么还有努力学都学不好的人呢?我觉得智商肯定不是问题,只是借口而已。关键是你肯不肯思考,现代人越来越不重视思考了,也许是因为没有时间去思考的缘故,我认为你看书的时候还有看完书都要思考一下,为什么要这么写?为什么要这样?如果这样写会怎么样?看书时这样的为什么要多问,这样你就自然知道了某些做法的好处和为什么不要这么做等等,这样收获自然就大了。看好书呢还要多写,编程编程就是要编的嘛,多写一方面可以练练感觉另一方面可以实践一下自己的想法,何乐而不为呢?

看文档就是另外一个方法了,但是许多人都不喜欢看,为什么?语言问题,什么时候语言竟然成了我们学习的障碍了?所以英文不好的平时除了看书学编程外最好再学学英文。书上写的东西哪里来的,别人为什么能写书教你呢?他是怎么学的?答案是他是看了文档然后自己消化后教你的,所以文档其实是知识最根本的来源,看文档也可以让你对技术有个本质的了解。这点SUN就做得很好,你可以多看看他的Specification。对自己的水平提高大有好处。相比之下微软就有些闭塞了,呵呵,微软总是喜欢对你隐藏细节,哈哈,也许是他面向对象概念学的太好了,什么东西都对你实施封装,呵呵,说笑了。

除了看文档,有些问题还是不能解决,怎么办?看源码,呵呵。看看JDK的源码,这样对于有些东西的实现能有更加深入的了解,从而解决一些以前无法解决的问题,而且还能看到很多不错的算法思想等等,而且很多初级的问题都可以获得解答,很多人问怎么连接数据库啦,这个那个怎么用啦~其实JDK自带的DEMO里几乎可以解决你大多数的问题,而且代码又是官方的,应该是最标准最好的写法了,看源代码的时候也要像看书一样多问为什么。当然也不仅仅是看JDK的源代码了,还可以看看其他开源的源代码,这一点又是在微软平台下学习的程序员所很难体会到的好处了,微软啊,微软……想说爱你不容易啊~

如果以上的东西都做到了,那么恭喜你!再经过时间的磨练你就是一名资深的程序员了,很多人可能又会有问题了,学个Java这么难,看来一辈子只能学Java了,其实不然。第一,学好了Java后对你学习其他面向对象的语言有很大帮助,可以说能缩短你的学习过程将近2/3,要学其他语言只要学好它的语法还有一些平台特有的用法就好了,其他知识可以迁移,用到新的环境中继续发挥作用。第二,不要小看人的学习能力,当然除非你没有认真学,呵呵。我按照我的学习进度估计,我大学四年可以完成上面所说的大部分工作,剩下的就是经验的积累,和一些知识的补漏了,我想如果你想好好学的话,把所有精力都放在这样的学习上估计两年就可以。因为我还要学习学校里的东西嘛,而且我的专业也不是计算机的,所以不可能能够让学校课程覆盖到我要学的东西。这里你也应该可以看到有些人抱怨的所谓为什么不学基础就直接上J2EE的理由是站不住脚的,你家穷的连养你两年都做不到吗?况且你可以做做兼职贴补一下,花两年这样好好学习一下绝对是值得的,两年后的你绝对是脱胎换骨的,而你在公司待两年的话绝对没有这么大的收获,因为当时在公司里你基础根本不好啊,所以即使有东西学到也无法领会啊~更何况有些公司对员工的培养根本不关心,你就更加学不到东西了,再加上技术的不稳定性,若干年后技术革新就会把你抛在后头。如果你扎扎实实学习过的话,有些东西是硬功夫,不会随着技术的变化而变化,有些设计思想也是一样,因此你学习新技术的成本也大大降低了,你就能跟上新的时代潮流了,成为永远在浪尖的弄潮儿~

好了,洋洋洒洒写了这么多,感谢大家耐心的看完,并衷心希望对你的学习能有所帮助,让我们一起努力吧!

搜索更多相关主题的帖子: Anstey 入门 
2004-08-15 11:35
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
得分:0 
好长,还没看完,先顶

版主很少写这么多的.

一定是很经典的东西.我保存好了,下去慢慢看

希望这么经典的帖子再入精华区.


特此感谢三位版主对小菜鸟长期以来的帮助 他们是 jellen(类痴狂人 ) tempnetbar(J湖散人 )和Anstey (排名不分先后) 呵呵,这些日子让小菜鸟受益非浅。 忠心的谢谢您们!
2004-08-15 17:14
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
得分:0 
读后感

读后感

我能说的: (1)关于速成:我猜很多人都想过要速称java,下面我引用WritingGal指导我的一句话.

"这世上并没有学习的捷径。所谓方法也是因人而异,往往都是每个人通过学习自己 积累起来的。速成的话,也是因为付出比其他人更多更多的努力,才能达到的效果。

方法总是次要,态度决定一切。"

我觉得说的挺对的.和J湖散人的 相信勤能捕捉 我都牢记在心.

(2)关于英语数学:呵呵,有高人曾进跟我说过,要学java,最重要的就是英语和数学. 其中计算机本身就是数学做出来的.用的语言全是英语,你一样不好编程也学不好. 这个高人本身是计算机系的.他还说他们学校数学系的编程就更厉害了.

(3)关于书籍...小菜鸟听人说过现在写书的好多都是copy...翻译...稍做改动...出版... 也听人说过好的书很难买,就算图书馆借,也很难接到,那些书要借通常几个月以后都被人预定了

(4)中西方存在文化差异...教育教学不同...这也没办法, 不过好像国内已经吸取了一些优秀的教学经验,只是步伐慢.教育制度的改革看来我是指不上了...

(5)看了您女同学坚持看完一书,很感动...同时感到她支持与恒的精神支持小菜鸟学习. ...同时有句话不知道该不改说...("女人的执着永远超过男人的想象...")呵呵.希望版主别生气,汗...

(6)我要学的东西还很多.我现在正好是开始.我不仅要补java还要补英语... 不过好在我还年轻.呵呵.

(7)小菜鸟觉得自己自学真的很难.对自身要求也很高.自学可能要人本身悟性极强.头脑灵活. 小菜鸟不行......不过现在好了,有了网络,有了论坛.呵呵.大家一起交流(旁人:"交流...你只会麻烦别人 ...")也是很好的方法.

呵呵,看完了...感觉收获很多.又让小菜鸟对学习有了新的认识 小菜鸟初学,看前辈门的经验能少走弯路,呵呵.

另注:菜鸟水平,菜鸟读后感,如语言有不当之处还请海涵.


特此感谢三位版主对小菜鸟长期以来的帮助 他们是 jellen(类痴狂人 ) tempnetbar(J湖散人 )和Anstey (排名不分先后) 呵呵,这些日子让小菜鸟受益非浅。 忠心的谢谢您们!
2004-08-15 18:10
jellen
Rank: 1
等 级:新手上路
威 望:1
帖 子:107
专家分:0
注 册:2004-5-3
收藏
得分:0 

哇,tempnetbar这是你自己写的?!佩服ing...


再见,理想!
2004-08-15 19:10
chaos
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2004-6-10
收藏
得分:0 

好文

java的生产力不是c++可以比的


2004-08-15 19:15
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 
哈哈,jellen过奖了,早上一时兴起胡诌了一篇,见笑了~

相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2004-08-15 19:24
Anstey
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2004-4-14
收藏
得分:0 

好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章好文章

tempnetbar版主+0000000分..你自己给自己加吧:p


Anstey. Cheers. I love CAPPUCCINO~~
2004-08-15 19:51
jellen
Rank: 1
等 级:新手上路
威 望:1
帖 子:107
专家分:0
注 册:2004-5-3
收藏
得分:0 
确实,Java的生产效率是很高的,比C++用着舒服。我用Java写了一个画图程序,实现了画图,移动,删除,保存等功能只用了700多行代码,而且不要什么debug,如果我用C++,真的不知道怎么下手。不过Java的运行效率问题也是不能回避的,和C/C++程序比是有差距,在一些比较要求反应速度的应用中需要慎重。还好现在的java编译器已经相当成熟了,一般的应用Java速度完全可以接受,还有Sun公司会持续改进Java的运行效率的,J2SE 1.5即将正式出版,Java的效率将会有脚大的提高。
对于程序设计的学习方法问题,我想说的是兴趣最重要,把编程当成一种乐趣,这样我们就会有动力和毅力学习下去。还有除了学习具体的编程语言(C/C++/Java)之外,我们还应当注意一下数据结构和算法的学习,说到底这才是最重要的。(知道了怎么解一元二次方程,我用什么语言实现不是都一样:)

再见,理想!
2004-08-15 20:07
ccnjava
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2004-7-13
收藏
得分:0 
这段话犹豫很久...不知道该不该加..它的确和java无关...但...身体也很重要...如果不

小菜鸟补充一点...... 学习工作努力固然是好事,但是要学会休息,可不要小看这点. 首先眼睛就要会休息.在好的显示器也费眼睛.最好在半小时休息一下眼睛 看看远处. 或者常做做运动锻炼身体. 这里我向大家隆重推荐"太极拳"

首先我自己练过半年太极拳,但半途而废了,很可惜 其次我要说一下,太极拳并非是老头专利...太极拳我练的是陈式 如果没记错的话,陈式讲究的是"松活弹抖"

太极拳有很多路,惭愧我半年只学了一套的2招而已.太极拳也分散打那种 ,那种是打架的.而我学的是健身的.就我学习半年以后的感觉,太极拳是让我 觉得唯一一种能充分活动锻炼身体,又不伤身体的运动. 其实像我们上学时期做的广播体操都伤身体,绝对不是胡说.想跆拳道啊. 柔之道啊,那些都是硬功夫更伤身体了.太极拳能让你充分运动身体的所有部位 而且都能活动开. 太极拳好像讲究的是以柔克刚,简单说比如别人用很重的拳打过来,而你要把他的 力气卸掉,这样让他感觉打在棉花一下.然后抓住敌人的忠心把别人击出去把.. 这很像柔道里面的偶落,也叫空气甩,或者叫角落摔.是柔道以柔克刚的好招.

但其实刚,柔都不占上峰,请记住 刚柔一体,才是武道家的正确姿势.(..汗..好像扯的没边了..)

当然,还有太极剑等等,都很有讲究.

其实我只是...向大家推广太极拳,真的能强身键体...有机会大家可以练练看. 毕竟保护好身体很重要...

又说了不少废话...又不敢光明正大走了...小菜菜告退...


特此感谢三位版主对小菜鸟长期以来的帮助 他们是 jellen(类痴狂人 ) tempnetbar(J湖散人 )和Anstey (排名不分先后) 呵呵,这些日子让小菜鸟受益非浅。 忠心的谢谢您们!
2004-08-15 21:04
tempnetbar
Rank: 2
等 级:新手上路
威 望:4
帖 子:582
专家分:4
注 册:2004-5-5
收藏
得分:0 

嘿嘿,说得我都想练了,不知道我们这里有没有练的


相信勤能补拙! 喜欢用好用的就永远学不到有用的。
2004-08-15 22:56
快速回复:[原创]嘿嘿,给入门者指个路,Anstey加分啊,呵呵
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017471 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved