2005年5月13日
我的周围程序员太多了,他们有着占有一切语言的欲望。在如今的面向对象的年代更是对面向对象语言有着强烈的占有欲。他们通过一本书,熟悉IDE,帮助文档掌握。可我总觉得有些重要的东西给遗忘了,是什么?是对象本身,更重要的应该是如何利用对象构建软件。
幻想一下,如果有人给你一个建造房子的活(北京的房子大家应该知道是什么价吧),如果你知道建造房子的一些基本的技能(当然是假的)。你的客户告诉你建造房子所需的一切材料都是你的活。就在即将开工的日子,一辆大卡车开到工地倒下一堆蓝色,星状的,中间带洞的材料。你估计蒙了。你习惯用水泥,木材建造房子。对一对蓝色星状不知如何是好。
中国文化真是博大精深,午睡能拯救一下午的精神。午饭后小睡一会儿能够有效补偿人体脑力、体力方面的消耗,对于健康是大有裨益的。我的椅子真爽听说是1700一把,我的公司真有钱,要知道所以员工都是相同的椅子。可以当床睡,我建议华为公司也换成这种椅子,不要老睡在地上了。
从生理学角度而言,人体脑细胞的兴奋一般可以持续4~5个小时,之后便会转入抑制状态。特别是午饭后,消化道的血液供应明显增多,大脑的血液供应明显减少,从而导致随血流进入大脑的氧气和营养物质也相应减少,于是人体的生物钟出现一次睡眠节律,使人产生精神不振、昏昏欲睡的感觉。此时,身体需要进行短时间的调整,以消除疲劳,恢复体力,稳定神经系统功能的平衡。那么,怎样科学地进行午睡呢?
首先,午睡时间不宜太长,最好在1小时以内。生理学研究表明,人体睡眠分浅睡眠与深睡眠两个阶段。通常情况下,人们在入睡80~100分钟后,便逐渐由浅睡眠转入深睡眠。在深睡眠过程中,大脑各中枢的抑制过程明显加强,脑组织中许多毛细血管网暂时关闭,脑血流量减少,机体的新陈代谢水平明显降低。如果人们在深睡眠阶段突然醒来,由于大脑皮层中较深的抑制过程不能马上解除,关闭的毛细血管网也不能立即开放,势必造成大脑出现一过性供血不足,植物神经系统功能出现暂时性紊乱,人体会感觉非常难受。这种不适感觉大约要持续30分钟左右才会逐渐消失。可见,午睡时间不是越长越好,而应以1小时以内为宜,这样既能有效消除疲劳,又不至于睡得过沉而不易醒来。
其次,不宜饭后立即午睡。因为午饭后胃内充满尚未消化的食物,此时立即卧倒会使人产生饱胀感。正确的做法是吃过午饭后,先做些轻微的活动,如散步、揉腹等,然后再午睡,这样有利于食物的消化吸收。
第三,要讲究睡眠姿势。经常可见有些人午睡时坐在椅子或沙发上打盹儿,有些人干脆趴在桌子上睡。其实,这些做法都不科学。人体在睡眠状态下,肌肉放松,心率变慢,血管扩张,血压降低,流入大脑的血液相对减少。尤其是午饭后,较多的血液进入胃肠,此时若再坐着睡,时间久了大脑就会缺氧,使人产生头重、乏力、腿软等不适感觉。而趴在桌子上睡,会压迫胸部,妨碍呼吸,增加心肺负担。一般认为睡觉姿势以右侧卧位为好,因为这样可使心脏负担减轻,肝脏血流量加大,有利于食物的消化代谢。但实际上,由于午睡时间较短,可以不必强求卧睡的偏左、偏右、平卧,只要能迅速入睡就行。
In
synchronous receiving, while the server is waiting to receive data from a client, if the stream is empty the main thread will block until the request for data is satisfied. Hence, the server cannot do anything else until it receives data from the client. If another client attempts to connect to the server at that time, the server cannot process that request because it is blocked on the first client. This behavior is not acceptable for a real-world application where we need to support multiple clients at the same time.
In asynchronous communication, while the server is listening or receiving data from a client, it can still process connection requests from other clients as well as receive data from those clients. When a server is receiving asynchronously, a separate thread (at the OS level) listens on the socket and will invoke a callback function (specified when the asynchronous listening was commenced) when a socket event occurs. This callback function in turn will respond and process that socket event. For example, if the remote program writes some data to the socket, a "read data event" (callback function you specify) is invoked; it knows how to read the data from the socket at that point.
简而言之,同步是一对一的,异步是一对多的。我翻译的太牛了,这么多英文就让我一句话就概括了。
http://www.infoq.com/一大群以前在微软和ibm等顶尖公司的大牛人开的。
牛人有什么了不起的,让大家追捧的感觉一定不错吧,虚荣!!!我突然想到我以前上的中学,那时候没有把心思放到学习上,所以学习不好,感觉低人一等。其实我觉的是老师们有问题,他们没有好好引导我,没有把本来就不复杂的知识说清楚,现在看来他们知道什么?所以我鄙视迂腐的老师们,他们能跟上时代的脚步?拜托,我还记得当初给我评的全校三差生。靠,现在想起来还历历在目。
http://www.javaalmanac.com
Java开发者年鉴一书的在线版本. 要想快速查到某种Java技巧的用法及示例代码, 这是一个不错的去处.
http://www.onjava.com
O'Reilly的Java网站. 每周都有新文
http://java.sun.com
官方的Java开发者网站 - 每周都有新文章发表
http://www.developer.com/java
由Gamelan.com 维护的Java技术文章网站
http://www.java.net
Sun公司维护的一个Java社区网站
http://www.builder.com
Cnet的Builder.com网站 - 所有的技术文章, 以Java为主.
http://www.ibm.com/developerworks/java
IBM的Developerworks技术网站; 这是其中的Java技术主页
http://www.javaworld.com
最早的一个Java站点. 每周更新Java技术文章
http://www.devx.com/java
DevX维护的一个Java技术文章网站
http://www.fawcette.com/javapro
JavaPro在线杂志网站.
http://www.sys-con.com/java
Java Developers Journal的在线杂志网站.
http://www.javadesktop.org
位于Java.net的一个Java桌面技术社区网站.
http://www.theserverside.com
这是一个讨论所有Java服务器端技术的网站.
http://www.jars.com
提供Java评论服务. 包括各种framework和应用程序
http://www.jguru.com
一个非常棒的采用Q&A形式的Java技术资源社区.
http://www.javaranch.com
一个论坛,得到Java问题答案的地方,初学者的好去处。
http://www.ibiblio.org/javafaq/javafaq.html
comp.lang.java的FAQ站点 - 收集了来自comp.lang.java新闻组的问题和答案的分类目录.
http://java.sun.com/docs/books/tutorial/
来自SUN公司的官方Java指南 - 对于了解几乎所有的java技术特性非常有帮助.
http://www.javablogs.com
互联网上最活跃的一个Java Blog网站.
http://java.about.com/
来自About.com的Java新闻和技术文章网站.
java是一个类似.net的一个东西,是竞争的结果还是他们早有预谋。看似对手,其实是搞联合垄断。看来最后还是回归到写机器码的时代
我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过。我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天。像我这样老式的学习方式,显然和现在的快餐主义背道而驰。从许多读者的来信和学生的反应中,我发现大多数的人对于Java的学习历程都差不多是:因为公司需要使用Java来进行服务器的计画,所以急急忙忙地学习Java语言,然后就开始使用J2EE的API,开始写起程序来了。如此急就章的学习方式,程序员基础能力根本就不够,对于对象导向精髓不能掌握,对于Java语言内部的运作机制毫无所悉,对API的整体连贯性懵懵懂懂。
当然,我们也不好因此责怪程序员,毕竟软件技术变动得太快。公司不可能给程序员足够的训练之后才开始做计画。程序员一下子被指派使用A技术,还没弄懂A技术是怎么回事,又被指派使用B技术,而且都是缝缝补补的方式边学边用,每次都像是全新的开始,遑论技术能量的累积。
我很庆幸的是,我不太有这样的困扰。因为我是资讯工程系出身(而且我大学时上课一向很认真),所以理论基础稳固,学习新技术对我来说不是难事。我就读大学时,周遭许多同学都瞧不起数据结构、程序语言、操作系统这些所谓「学院派」的课程,以为这些课程一点都不实用。他们认为到了外面公司,这些信息科系所学的一切都派不上用场,「只要会Visual Basic和数据库就够了」。这种偏差的心态,恐怕会使得他们在知识经济时代吃足了苦头。
另外还有一派同学很瞧不起程序设计工作,他们告诉我,像我这样会写程序的人,未来进了社会「还不是被他们这些走管理的人踩在脚下」。所以,他们很轻忽理工课程的学习,甚至还有人相当热衷「成功学」,认为这是迈向成功的快捷方式,却因此把学校的课业弃之不顾。我不敢相信有人竟然如此地本末倒置。
前一类的人太过于短视近利,后一类的人太过于好高骛远。我一直很不能理解这些人的想法为什么会这样,或许是因为社会环境的风气使然。我很庆幸我到目前还没被社会的大染缸给玷污了(最好这辈子都不要)。我不认为我的学习方式是一种典范,但是一路走来,倒也颇有进展。许多读者来信问我的学习历程,虽然我个人的学习方式不见得适用于每个人,但或许还有一些参考价值(特别是对于那些有志进入信息行业的年轻学子),我想透过本文简短地叙述一下。
我一向是采用先深后广(也称为Bottom-Up,Deep-First)的学习方式。比方说,当我在学A技术的时候,学到一半发现需要B技术的基础,我会到书局找出一两本B技术的书,然后把A先搁着,开始看起B技术的书。甚至,我在技术书籍上看到不太熟悉的英文句构时,我会找出一本英文文法书详细读过。这种先深后广的学习方式,适合学生时代全面地自我能力提升,但不适合业界人士。试想,老板要你开发的ERP系统已经延迟了,你怎有空研究J2EE原文书中的英文文法。先深后广的好处是,学习很扎实;缺点是有时候会偏离主题太多。有一次我发现我原本是要学某软件技术,几次「先深后广」下来,我居然看起老子的道德经了。
在技术上,我一直都是一个喜新厌旧的人,很少有软件技术能让我持续研究半年以上,我几乎每隔几个月就要换一次领域。Java 能让我持续这么久,也正是因为Java的领域广。透过Java,我的技术视野变开阔了。这些年来,我换过的 Java 相关领域包括了:虚拟机器、数据库、企业运算、多媒体、2D/3D图学、网络.…..等。
我的学习完全是兴趣导向的,所以压力并不大。因为有兴趣,所以我会很想充分理解一切细节。又因为理解,所以许多原本片片断断的知识都可以渐渐互相融会贯通,累积技术能量,理论和实务之间的藩篱被打破了,学习效率倍增。
我多年来的学习触觉很敏锐,我常常会抢先一步学好有前瞻性的技术。比方说,Java还在beta时、UML还在0.8时、XML还在draft时,我都已经透过网络下载技术文件回来每天抱着猛读了。而在Java、UML、XML当红之后,我已经差不多把这些技术都摸熟了。
至于该学什么技术,我的判断方式是以技术的优劣来决定。优秀而有独到之处的技术是我的最爱,虽然这类的技术不见得会在市场上胜出,但学习这些技术所得到的启发,对于技术能量的累积与能力的提升会有相当大的助益。至于技术差,但市场需求甚殷者,我还是懒得碰。(好吧!我承认我曾因为市场需求的缘故而学过MFC。越清楚MFC的技术细节,越是讨厌它,这真是个不堪回首的经验。)
我通常只看英文技术资料,毕竟大部分第一手的技术信息都是以英文来传播。所以我很早就开始阅读英文技术资料。读英文技术资料的好处是,就算没有学到书中的专业知识,至少也累积培养了英文阅读能力,我一直都是抱着这样的态度。一开始是正襟危坐的看英文技术书籍,字典、翻译机随侍在侧;几年下来,现在是躺着看、趴着看、很随性地看英文技术书籍,因为看英文技术书籍变成一种习惯了。现在,我可以用很快的速度吸收英文技术书籍的知识(有人叫我「吃书的机器」,我把这称号当作是一种恭维)。
近年来,我花在写程序的时间不多,因为时间对我来说很宝贵,而写程序很浪费时间。对初学者来说,大量地写程序是必要的,但过了某个阶段之后,写程序所带来的技术能力成长已经到了极限,还不如多花一点时间看书,学新技术和新观念。
我从国小时期开始学习写程序,迄今已有近十八年的时间;采取上述的方式密集学习,迄今也有近十年的光景。迩来数年,我接触的领域越来越广,而且学习速度正在加快,我认为是以前那些努力植下的根苗开始成长了。看看现在的我,或许你会觉得羡慕,但回顾这段学习的岁月,何尝不是一条漫长的道路。
毫无疑问计算机网络——因特网是外语学习的有用工具,通过环球网和电子邮件我们能获得大量英语学习和教学的新信息和许多网上交流机会,为了帮助英语爱好者通过因特网学习英语,笔者在网上收集了其中的一部分英语学习和教学资源,希望它们对英语学习有所帮助。
I.环球网资源
环球网有大量的英语学习方面的资源,包括英语学习,参考资料,文化背景,出国学习等方面。
1.国外英语学习教学网页
如果你想访问更多的网页,可通过搜索引擎来进行查寻,如:雅虎(Yahoo),你可以键入象:"TESL", "ESL", "TEFL", "EFL", "English learning",“English Study", "Distance learning"等单词和短语进行搜索,你会找到你想要的英语学习和教学信息和资料。
i)国外现英语学习网站
1) 流行的英语学习网站
(1) BBC English
(2) Learn English British Council
(3) Englishclub
(4) English-Zone
(5) English Page
(6) ESL Cafe
(7) English Baby
(8) Parlo
(9) Adam Rado's English Learning Fun Site
(10) English Practice
2) http://www.eslcafe.com/ Dave ESL咖啡屋,英语学习好网址。
3) http://www.tesol.net/tesl.html Kristna Pfaff 语言和言语学习和教学
4) http://www.aitech.ac.jp/~iteslj/ESL.html 英语网站链接
5) http://www.u-net.com/eflweb/ EFLWEB 主页
6) http://www.nceltr.mq.edu.au/ 因特网上ESL
7) http://eleaston.com 丰富实用的英语学习和教学的网页.
8) http://www.study.com/resources.html 英语学习资源
9 )http://www.teachingenglish.org.uk 英语教学
10) http://www.unex.ucla.edu/online/ 英语在线课程
11) http://www.nll.co.uk 英语在线学习
12) http://www.stuff.co.uk/wicked.htm Wicked Stuff英语语言学习
13) http://www.planetenglish.com 世界英语语言资源中心
14) http://www.study.com Comenius 免费网上学校
15) http://edvista.com/claire/internet-esl.html Claire Bradin 个人网页
16) http://www.schackne.com Steve Schackne 英语教师资源网页
17) http://www.lapasserelle.com/lm/ Michael A. Riccioli交互性和非交互性英语练习网页
18) http://www.esl-lab.com/party/partscr1.htm Randall学生英语测试网页
19) www.eslpartyland.com PartyLand ESL
20) http://teflchina.com/ 在中国的老外讨论英语教学
21) http://www.online-english.britishcouncil.org/ 在线课程
22) http://www.internetesl.com/ 儿童英语
23) http://marksesl.com Mark EST 世界
24) http://www.nelliemuller.com ELT Projects
25) http://teachers.teach-nology.com/index.html for teachers
26) http://abcteach.com/index.html ABC teach
27) http://literacynet.org/cnnsf/home.html learning resources
2 .英语听力
1) http://www.aitech.ac.jp/~iteslj/links/search.cgi?query=Listening
2) http://www.esl-lab.com/ Randall ESL 听力室
3) ftp://149.2.140.10/realaudio/voa/english/ VOA FTP
3 .英语考试
3.1 TOEFL 托福
1) http://www.stuff.co.uk/toefl.htm TOEFL 练习
2) http://osu.orst.edu/~larsonan
3) http://www.testwise.com/review.html
3.2 GRE
1) http://www.gre.org GRE 考试
3.3 IELTS 雅思
1)http://www.britishcouncil.org.cn/english/education/exams/new.htm 中国雅思考试
2) http://www.ielts.org/ 雅思
4 .英语在线字典
1) http://dictionary.cambridge.org/ 剑桥在线字典
2)http://www.m-w.com Mreeiam-Webster 在线字典
3) http://www.linguistics.ruhr-uni-bochum.de/ccsd/ Collins-Cobuild 学生字典
5 .英语语法
1) http://www.edunet.com/english/grammar/ 英语语法在线
2) http://www.aitech.ac.jp/~iteslj/quizzes/grammar.html 英语语法测试
6. 语言与背景知识
1) http://www.refdesk.com/ 虚拟参考资料信息台
2) http://www.nhmccd.edu/contracts/lrc/kc/decade90.html 美国历史文化背景
3)http://www.night.net/kthanks.html 关于感恩节
4) http://www.educationuk.org.cn/ 英国教育文化
5) http://carla.acad.umn.edu/intercultural.html 文化与语言学习
7. 英语图书馆
1) http://www.ipl.org/ 网上公共图书馆
2) http://the-tech.mit.edu/Shakespeare/ Shakespeare 作品
3) http://www.encarta.msn.com/encartahome.asp Encarta 百科全书
4) http://www.adventure.com/encyclopedia 知识探索百科
5) http://classics.mit.edu/ 经典名著文库
8. 英语学习游戏
1) http://www.aitech.ac.jp/~iteslj/links/ESL/Games/ 英语学习游戏
2) http://www.wuziegames.com/index.html
9. 故事
1) http://www.CandlelightStories.com/ 故事之旅
11. 期刊和杂志
1) http://www.well.com/www/sokolik/ TESL 电子杂志
2) http://www.ling.lancs.ac.uk/staff/visitors/kenji/referenc.htm ELT和语言学
3) http://www.its-online.com/ 英语学习者的报纸
4) http://learning.turner.com/newsroom CNN 新闻
5) http://www.guardian.co.uk 卫报英语教师资料
10. 电影和电视剧
1)http://www.script-o-rama.com/ 剧本网站
2) http://us.imdb.com 电影数据库
3)http://www.hollywood.com/ Hollywood
11. 英语歌词
1) http://www.lyrics.ch/
12. 交英语笔友
1) http://www.epals.com/ 课堂笔友交换
2) http://keypals.com/ 笔友
3) http://www.wfi.fr/volterre/keypals.html 笔友连接
13. 英语学习软件
1) http://www.shareware.com/ 软件库
2) http://207.236.117.20/orlac/ ESL 资源
14. 出国学习
1)http://studyusa.com/ 到美国学习。
2)http://www.collegenet.com/ 美国大学网。
3)http://www.arels.org.uk/ 英国文化委员会承认的200所院校和所设课程。
4)http://sabmac.studyabroad.com/simplehtml/languages/english_canada.html 到加拿大学习。
15.写作
1)www.powa.org
2) www.esc.edu/write
3)www.artsedge.kennedy-center.org
16. 成语俚语
http://home.t-online.de/home/toni.goeller/idiom_wm/index.html
ii. 国内英语学习网页
你想获得更多的国内英语学习网页,用中文yahoo和sohu 进行搜索,键入这些关键词“英语学习”“学习英语”“英语教学”“英语口语”“英语考试”“英语阅读”“英语听说” “英语翻译”“英语资源”“英语资料”等
A) 综合网站
1. 中英合作英语通 in2english.com.cn
2. 旺旺英语 www.englishww.com/
3. 英语角 www.cycnet.com/englishcorner/index.htm
4. 英语之声 www.english.ac.cn
5. 英文锁定 www.Icansay.com/
6. 英语中国 www.englishchina.com/
7. 英语在线 www.englishabc.com/
8. 天天英语 english.chinaschool.net/
9. 时尚英语 www.oh100.com/huayuan/english/
10. 网络英语 www.englishlover.net/
11. 英语麦当劳 english23.6to23.com/
12. 搜狐在线学习 learning.sohu.com/lan/
13. 新东方教育在线 www.neworiental.org/
14. 中华网英语在线 edu.china.com/zh_cn/elearn/index.html
15. 庄子英语频道 www.zhuangzi.com/en/index.asp
16. English Town www.englishtown.com/master/home/
17. 洪恩在线 www.hongen.com/eng/index.htm
18. 空中英语教室 www.studioclassroom.com
19. 英语直通车 www.englishfree.com.cn/
20. 英语辅导报 http://www.ecp.com.cn/ecp/index.htm
21. 数码英语 http://www.englishabc.com/index.htm
22. 世博英语 http://www.360abc.com/
23. 英语园 ymw.myrice.com
24. Tom http://language.tom.com/
25. 百灵网校 http://edu.beelink.com.cn/73187891991281664/index.shtml
26. 锐角英语 http://www.aasky.com/english/index.asp
27. 52abc http://www.52abc.com/
28. English 4u http://www.english4us.com/
29. 英语时空 http://www.yysk.net/
30. 英语杂货铺 http://vip.6to23.com/sentry/
31. 英语即时通 http://www.dreye.com.cn/english/index.html
32. 征服英语 http://www.sen21.com/
33. 万千英语族 http://www.iselong.com/
34. 粱容英语 http://www.lrenglish.com
35 英语周报 http://www.ew.com.cn/wsxyy/wsxyy.htm
B)
英语听力
听力快车 http://www.listeningexpress.net/
英语听力 http://www.putclub.org/
普特英语听力 http://www.putclub.com/resource.htm
听世界 http://www.broadcastenglish.com/
C)
儿童英语
儿童英语乐园 http://www.etyyy.com/
儿童英语星空 http://www.yeworld.net/index/CP/
看图学英语 http://www.ah163.net/goldsun/English/flash01.htm
外研社儿童英语乐园 http://www.ewonderland.com.cn/
少儿英语学习中心 http://www.xinzhitang.com.cn/learning/200301/index.htm
儿童英语 http://www.165net.com/tower/child/child0.htm
Kiz Club http://www.kizclub.com/index.html
Kids Space http://www.kids-space.org/index.html
Seasamestreet http://www.sesameworkshop.com/sesamestreet/
Kids http://pbskids.org/lions/
Funbrain http://www.funbrain.com/
PBSkids http://pbskids.org/
ABCtooncenter http://www.abctooncenter.com/
Story Pop http://www.web-pop.com/musicpopstephen.html
Kidclick http://sunsite.berkeley.edu/kidsclick!/
D)
商贸英语
商务英语 http://www.ceeyee.com/
商业英语新天地 http://www.steglish.com/
E)
英语考试
浩然考试网 http://www.hrexam.com/
中国考试网 http://www.sinoexam.com.cn/
F)英语教学
教师频道 http://www.k12.com.cn/teacher/sub_edu/english/
G)
其它网站
法律英语 http://www.lawspirit.com/
iii. 国内外国报刊杂志推荐
1.中国国际广播电台 http://www.cri.com.cn
2.中国日报 http://www.chinadaily.com.cn
3.人民日报英文版 http://english.peopledaily.com.cn/home.html
4. 21世纪报 http://www.21stcentury.com.cn/index.php
5. 时代文摘 http://www.timedigest.com/
6.南华早报 香港最大的英文日报 http://www.scmp.com/
7.今日美国 彩色版全国性日报 http://www.usatoday.com
8.《时代》周刊 美国最大的新闻周刊 http://www.time.com
9.《新闻周刊》美国第二大新闻周刊 http://www.msnbc.com
10.《读者文摘》美国发行量最大的普及综合性文摘月刊 http://www.readersdigest.com/
11.美联社 http://www.ap.org
12.ABC新闻 http://www.abcnews.com
13.财富 http://www.fortune.com/
14.金融时报 英国著名财经日报 http://www.ft.com
15.国际先驱论坛报 http://www.iht.com
16.纽约时报 美国一大报纸 http://www.nytimes.com
17.华盛顿邮报 美国第二大报 http://www.washingtonpost.com
18.洛杉矾时报 美国西部最大的日报,美国的第三大报 http://www.latimes.com
19.华尔街日报 美国金融界权威的专业报纸 http://www.wsj.com
20.《基督教科学箴言报》美国很有影响的周报 http://www.csmonitor.com
21.泰晤士报 英国著名报纸 http://www.the-times.co.uk/
22.卫报 英国著名日报 http://www.guardian.co.uk/
II. 电子邮件
通过它不仅可以书信交流,还可以参加网上英语专题讨论组和预订免费电子邮件杂志。
i. 订阅英语学习和教学的专题讨论组和免费电子邮件杂志
1. 你可以发一封电子邮件给此地址:LISTSERV@CUNYVM.CUNY.EDU 只在信体上写上:SUB TESL-L 你的名,你的姓。该讨论组是关于英语学习和教学的。
2. 你可以发一封电子邮件给此地址: LISTSERV@LISTSERV.KENT.EDU 只在信体上写上: SUBSCRIBE ESL 你的名,你的姓。该讨论组是关于英语的。
3. 你可以发一封电子邮件给此地址:MAJORDOMO@COE.MISSOURI.EDU 只在信体上写上: SUBSCRIBE ENGLISH-L 该讨论组是关于英语爱好者的,可以询问学习英语中碰到的问题,交换学习英语的体会,交天下朋友。
4. 你可以发一封电子邮件给此地址:MAJORDOMO@LISTS.BBC.CO.UK 只在信体上写上:SUBSCRIBE BBC-ELT 该讨论组是关于英语学习教学的。
5. 你可以发一封电子邮件给此地址:VU47-REQUEST@BURGER.FORFREE.AT 只在信体上写上:SUBSCRIBE VU47 你的电子邮件地址 该讨论组的目的帮你提高英语,每周发给你一课新内容。
6. 你可以发一封电子邮件给此地址:TRIVIA@MAILBITS.COM 你就会每天收到一封电子邮件,对英语的一个词或一个表达形式做解释说明或说出来历和典故。
7. 你可以发一封电子邮件给此地址: up-to-date-idioms-subscribe@onelist.com 你就会每个工作日收到一封电子邮件,每次一个美国成语解释并举例。
8. 你可以发一封电子邮件给此地址:LISTSERV@CUNYVM.CUNY.EDUL 只在信体上写上: INDEX RORUM。这是教师论坛,你可以查到你所感兴趣的有关英语学习和教学的文章。
9. 你可以发一封电子邮件给此地址:lesson-subscribe@mlm.englishlearner.com 即可收到初级语法、中级阅读和高级阅读等资料。
10. 你可以发一封电子邮件给此地址:mrbob-subscribe@egroups.com 你可收到美语会话、谚语大全、词汇仓库、美国俚语和特别英语等。
11. 你可以发一封电子邮件给此地址:majordomo@msl.e-lists.com.cn 只在信体上写上:subscribe seniorenglish 你可收到英诗欣赏、外台介绍、美国之音特别英语词汇和文章阅读等。
12. 你可以发一封电子邮件给此地址: majordomo@ms.e-lists.com.cn 只在信体上写上:subscribe e_humor 英语幽默。
13 你可以发一封电子邮件给此地址:subscribe-guardian-world@send.memail.com 信体不写任何东西,你可以每天收到当天的世界新闻摘要。
14.你可以发一封电子邮件给此地址:teflchinaLIFE-subscribe@topica.com 信体上输入你的电子邮件地址 该组是在中国的老外谈英语教学的。
15. 你可以访问该网页,http://www.cn99.com 订阅“免费英语邮件杂志。
16. 你可以发一封电子邮件给此地址:vocabulary-builder-subscribe@onelist.com 关于英语单词的构成和解释。
17. 你可以发一封电子邮件给此地址:listserv@list1.britishcouncil.org 只在信体上写上:sub eltecs-chi-l 英国文化委员会的英语教学讨论组。
18.访问该网站,通过电子邮件订阅每日一词:http://www.startsampling.com/sm/wod/register.iphtml
19. 访问该网页,注册后,订阅每周一俚语:http://www.startsampling.com/sm/wod/register.iphtml
20. 你可以发一封电子邮件给这个地址:订阅么每日一个笑话:join@jokeaday.com
21. 访问该网站,通过电子邮件订阅和多免费学习内容 http://gt.sodamail.com/cgi-bin/gt/subscribe.htmlbin/gt/subscribe.html
22. 你可以发一封电子邮件给这个地址:订阅么免费名人名言和格言:todays_quote-subscribe@yahoogroups.com
23. 访问该网站,通过电子邮件订阅免费俚语:http://www.peakenglish.com/slang/dailySlang.jsp
24. 访问该网站,通过电子邮件订阅免费学习内容:http://www.englishlover.net/
25. 你可以分别发一封电子邮件给这两个地址:WORLDSERVICE.LETTERS@BBC.CO.UK 和LETTERS@VOA.GOV 你可以索取BBC 和VOA 的最新节目时间表。
ii. 参加专题讨论组注意的事项
不同专题讨论组的订阅方法有所不同,当你发出预订专题讨论组的电子邮件后,一般你会收到两封信,一封是你被通知成功地加入到讨论组里,另一封信是说明该组目的、使用方法以及主管人和单位的名称和地址。有的需要让你发一封按它要求的回信,有的让你读该组的章程和规定。你同意后,发回一封署名的邮件。这里笔者要说明一下,有两个重要地址,一个是发给全体专题讨论组成员的地址,该地址可以提出问题和就别人提出的问题发表你的观点, 如果该组有1千人的话,这1千人都能看到你的问题和观点。还有一个地址是发给该组主管人的,如你有什么技术问题或想退出该组,可以发给该地址,一定不要发错。
III. 结束语
为了方便学习者,笔者愿意把最新的资源信息,通过电子邮件发给对英语学习感兴趣的网民,请寄电子邮件来索取,你将收到有超级链接的网址和电子邮件地址的电子邮件,用鼠标击网址和电子邮件地址,即可直接上网或发电子邮件,无须输入网址和电子邮件地址,操作简单,使用方便,准确无误。
To the top(回页首)
如何利用电脑网络学习英语
赵宝斌
随着电脑网络的发展,电脑辅助语言学习(CALL)得到进一步的应用,通常我们通过各种手段来辅助英语学习,但利用因特网学习英语同其他的手段相比,它有许多优点,如:信息量大, 因特网上的信息可以说是一个取之不尽的“信息海洋”;交互性强,使用电脑可以让你在一个比较实际的语言环境中进行相互交流;知识更新快,网络上的语言,同实际的语言发展同步;趣味性强,电脑软件采用的多媒体技术。这些特点可以更好地辅助我们学习英语,在因特网上,我们通过下面这些方法辅助我们学习英语。
1. 访问英语学习网页:
有些网页提供了各方面大量的英语学习信息和资料,象听、说、读、写、语法、测试、背景知识等,这些资料,包括一些声象资料都可以下载下来,下面推荐三个国外英语学习网页,
1) http://eleaston.com/english.html
2) http://www.eslcafe.com
3) http://www.aitech.ac.jp/~iteslj/
如果你想访问更多的网页,可通过搜索引擎来进行查寻,如:雅虎(Yahoo),你可以键入象:"TESL", "ESL", "TEFL", "EFL", "English learning",“English Study", "Distance learning"等单词和短语进行搜索,你会找到你想要的信息和资料。
2. 参加网上的在线英语学习新闻组:
通过网上的英语学习新闻组,交流学习英语方面的经验,询问学习英语中碰到的问题。现推荐一个国内新闻讨论组的服务器。1) 济南万千 news.webking.com.cn 首先设置好新闻服务器,然后从讨论组中找到谈英语学习的新闻组。你可以看到大家在网上正在讨论的英语学习问题,通过向新闻组发送电子邮件,你可以发表你的意见,也可以提出英语学习方面的问题,有人会给予答复。
3. 利用电子邮件参加英语学习讨论组:
这种方法和在线新闻讨论组形式差不多,但这种方法更经济,而缺点是没有前一种答复问题快。因特网上有许多英语学习讨论组,象英语精读讨论组、科技英语讨论组、英语写作讨论组、在华英语外教英语教学讨论组、亚洲人讨论英语学习和教学讨论组等,现推荐三个国外讨论组,
1) 英语作为外语教学讨论组,你可以发一封电子邮件给此地址:listserv@cunyvm.cuny.edu 只在信体上写上:sub TESL-L 你的名,你的姓
2) 英语学习爱好者讨论组,你可以发一封电子邮件给此地址:Majordomo@coe.missouri.edu 只在信体上写上:subscribe English-L。
3) 英国广播公司(BBC)主办的英语学习讨论组你可以发一封电子邮件给此地址:Majordomo@lists.bbc.co.uk 只在信体上写上:subscribe BBC-ELT。
不同专题讨论组的订阅方法有所不同,当你发出预订这些专题讨论组的电子邮件后,一般你会收到两封信,一封是你被通知成功地加入到讨论组里,另一封信是说明该组的目的、使用方法以及主管人和单位的名称和地址。有的需要让你发一封按它要求的回信,有的让你读该组的章程和规定。你同意后,发回一封有你署名的邮件。这里笔者要说明一下,有两个重要地址,一个是发给全体专题讨论组成员的地址,该地址可以提出问题和就别人提出的问题发表你的观点, 如果该组有1千人的话,这1千人都能看到你的问题和观点。还有一个地址是发给该组主管人的,如你有什么技术问题或想退出该组,可以发给该地址,一定不要发错。
4. 参加电子布告栏系统(BBS)英语学习讨论:
电子布告栏就象一块大公告板,你可以把有关英语学习的问题粘贴到上面,有人会作出答复,现推荐一个电子布告板,搜狐(Souhu)BBS "英语论坛”进入搜虎论坛网页http://forum.sohu.com/forum/index.html,首先进行用户注册,要求你起一个名字,设一个密码,并要求你填一些其他有关内容,如:通信地址,电子邮件地址和电话等,然后进入布告栏。如果你想访问更多的电子布告栏系统,可通过搜索引擎来进行查寻,你可以键入“BBS"进行搜索。
5. 在网上交国外笔友:
通过电子邮件我们可以同他们进行交流沟通。因特网上有很多交笔友的网页,在这些网页上,你可以看到来自各国的人打出的征友广告,你可以选择你要交的朋友,你也可以打出你自己的征友广告,很快你会收到同你交友的邮件,现推荐三个交笔友的网址:
1).http://www.wfi.fr/volterre/keypals.html
2). http://deil2.lang.uiuc.edu/penpals/
3) http://www.linguistic-funland.com/addapal.html
如果你想访问更多的交友网址,可通过搜索引擎来进行查寻,你可以键入“penpal"和"keypal" 进行搜索,你会找到更多的网址。
6. 免费订阅英语学习杂志:
因特网上有许多免费的英语学习杂志和定期发给你的有关英语学习方面的电子邮件。现推荐几个免费的电子邮件杂志,
1. 你可以发一封电子邮件给此地址:vu47-request@burger.forfree.at 只在信体上写上:subscribe vu47 和你的电子邮件地址,每周发给你一封有学习英语词汇、短语和语法内容的电子邮件。
2. 你可以发一封电子邮件给此地址:trivia@mailbits.com 你就会每天收到一封电子邮件,对英语的一个词或一个表达形式做解释说明或说出来历和典故。
3. 你可以发一封电子邮件给此地址: up-to-date-idioms-subscribe@onelist.com 你就会每个工作日收到一封电子邮件,每次教你一个美国成语,给予解释并举例。
4. 国内的免费电子邮件杂志“英文天地”,请发电子邮件给该地址:list@soim.com 主题上写:subscribe English 每周收到三封有关英语学习的电子邮件。
7. 利用因特网上的聊天室(chat room)进行英语方面的交流学习。现推荐雅虎聊天室,进入雅虎网页http://events.yahoo.com/netevent/Chat_Rooms/ 首先进行入室注册,要求你起一个名字,设一个密码,并要求你填一些其他内容,如:通信地址和电子邮件地址等,然后进入聊天室。还有你可以下载网上寻呼(ICQ)软件并注册并得到你自己的ICQ号,你可试一试随机聊天,你可以随意找到你想谈的人。随后如果你想同某人直接用麦克风谈话,你下载Buddyphone即可。如果你想访问更多的聊天室,可通过搜索引擎来进行查寻,你可以键入“chat"进行搜索。
8. 利用因特网可以查寻各方面英语学习方面的信息和资料:
因特网上有许多查寻系统,如:字典,百科全书,图书馆等。现推荐几个查寻系统。
1) http://www.m-w.com/dictionary 在线英英Mreeiam Webster字典。
2) http://www.ipl.org/ 网上公共图书馆。
3) http://clever.net/cam/encyclopedia.html 网上百科全书。
4) http://www.chinadaily.com.cn/highlights/language/index.html 帮你翻译字典中查不到的汉译英的表达形式。
学习英语需要一个英语环境,但是我们不可能经常和英语是母语的人直接面对面地交流。因特网可以说从空间上拉近了世界上的人与人之间的距离,把世界变成了地球村,给世界上的人们提供了更多、更方便的交流的机会,利用网络学习英语可弥补一般方法的不足,这必将大大提高英语学习效果。(本文发表在1999.10《光明日报》上,略有改动。)
诸位,咱当电子工程师也是十余年了,不算有出息,环顾四周,也没有看见几个有出息的!回顾工程师生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们师弟师妹们提个醒,希望他们比咱们强!
[1]好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手!
[2]可以做技术,切不可沉湎于技术。千万不可一门心思钻研技术!给自己很大压力,如果你的心思全部放在这上面,那么注定你将成为孔乙己一类的人物!适可而止为之,因为技术只不过是你今后前途的支柱之一,而且还不是最大的支柱,除非你只愿意到老还是个工程师!
[3]不要去做技术高手,只去做综合素质高手!在企业里混,我们时常瞧不起某人,说他“什么都不懂,凭啥拿那么多钱,凭啥升官!”这是普遍的典型的工程师的迂腐之言。8051很牛吗?人家能上去必然有他的本事,而且是你没有的本事。你想想,老板搞经营那么多年,难道见识不如你这个新兵?人家或许善于管理,善于领会老板意图,善于部门协调等等。因此务必培养自己多方面的能力,包括管理,亲和力,察言观色能力,攻关能力等,要成为综合素质的高手,则前途无量,否则只能躲在角落看示波器!技术以外的技能才是更重要的本事!!从古到今,美国日本,一律如此!
[4]多交社会三教九流的朋友!不要只和工程师交往,认为有共同语言,其实更重要的是和其他类人物交往,如果你希望有朝一日当老板或高层管理,那么你整日面对的就是这些人。了解他们的经历,思维习惯,爱好,学习他们处理问题的模式,了解社会各个角落的现象和问题,这是以后发展的巨大的本钱,没有这些以后就会笨手笨脚,跌跌撞撞,遇到重重困难,交不少学费,成功的概率大大降低!
[5]知识涉猎不一定专,但一定要广!多看看其他方面的书,金融,财会,进出口,税务,法律等等,为以后做一些积累,以后的用处会更大!会少交许多学费!!
[6]抓住时机向技术管理或市场销售方面的转变!要想有前途就不能一直搞开发,适当时候要转变为管理或销售,前途会更大,以前搞技术也没有白搞,以后还用得着。搞管理可以培养自己的领导能力,搞销售可以培养自己的市场概念和思维,同时为自己以后发展积累庞大的人脉!应该说这才是前途的真正支柱!!!
[7]逐渐克服自己的心里弱点和性格缺陷!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。。。这些工程师普遍存在的性格弱点必须改变!很难吗?只在床上想一想当然不可能,去帮朋友守一个月地摊,包准有效果,去实践,而不要只想!不克服这些缺点,一切不可能,甚至连项目经理都当不好--尽管你可能技术不错!
[8]工作的同时要为以后做准备!建立自己的工作环境!及早为自己配置一个工作环境,装备电脑,示波器(可以买个二手的),仿真器,编程器等,业余可以接点活,一方面接触市场,培养市场感觉,同时也积累资金,更重要的是准备自己的产品,咱搞技术的没有钱,只有技术,技术的代表不是学历和证书,而是产品,拿出象样的产品,就可技术转让或与人合作搞企业!先把东西准备好,等待机会, 否则,有了机会也抓不住!
[9]要学会善于推销自己!不仅要能干,还要能说,能写,善于利用一切机会推销自己,树立自己的品牌形象,很必要!要创造条件让别人了解自己,不然老板怎么知道你能干?外面的投资人怎么相信你?提早把自己推销出去,机会自然会来找你!搞个个人主页是个好注意!!特别是培养自己在行业的名气,有了名气,高薪机会自不在话下,更重要的是有合作的机会...
[10]该出手时便出手!永远不可能有100%把握!!!条件差不多就要大胆去干,去闯出自己的事业,不要犹豫,不要彷徨,干了不一定成功,但至少为下一次冲击积累了经验,不干永远没出息,而且要干成必然要经历失败。不经历风雨,怎么见彩虹,没有人能随随便便成功!
主题:[分享]程序员真实故事系列@个人特别推荐阅读@
标 题: 一个人的奋斗历程
这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公
开,希望能够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我
当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们
一点点帮助。 一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过
MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内
核和IC相关开发,这中间走了很多弯路,也吃了不少苦。
我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好
也就没有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,
大一开学前的假期我就开始了学习,记得我买的第一本书是《计算机基础DOS3.0》
,大家别吓着了,其实当时已经普及了DOS6.22了,只是我在书店里看到了DOS4.0,
5.0,6.0的书,以为像英语那样是第四、五、六册,记得当时到处找DOS1.0,现在
想想也幸好我没有找到:)开学前我学完了PASCAL,那时既没有计算机也没有人可
以请教,我连程序是什么的概念都没有, 只好死记硬背代码,然后拿纸写,我一直
到大三才有了一台486,在这之前用纸写了多少程序我也记不清楚了,只知道最长的
一个我拿A4大小的草稿纸写了30多页,我的C语言、C++ 、VC都是在这样的条件下入
门的。所以说条件是可以克服的,希望我的经历多少给条件艰苦的同学们一点信心
。第一次上机是在我姐夫的机房,我的心情激动的无与伦比,但是一上机我立刻傻
了眼,他们用的是英文版的Win3.1,我的那点DOS知识都见了鬼,上机提心吊胆的一
阵瞎摸,一不小心把Word弄成了全屏,怎么都还不了原,当时真是心急如焚,我以
为机器被我弄坏了。第一个C语言程序,就是那个经典的HelloWorld,我调了几个星
期,上机机会非常少,也没有书告诉我开发环境(TC2.0)需要设置,而且开始我都
不知道有编译器,我甚至自作聪明把写好的程序扩展名从.c改成.exe,结果可想而
知。大一学完了C、X86的汇编、数据结构、C++。由于精力都花在自学上了,大一下
四门课挂了彩,三类学校就是这点好,挂上一二十门也照样毕业。不过扯远点说,
我那么刻苦都及不了格,可见我们国家的计算机教育有多死板。
大二准备学VC和BC,当时难以取舍,后来选了VC,不为别的,只为书店里两本
书,VC 那本便宜6块钱。我的努力在班上无人能及,学的日夜不分,大三有了计算
机后更是如此, 很多次父亲半夜教训我说我不要命了,我一直觉得自己基础差,记
忆又不行,条件也不好 ,所以觉得只有多花点时间才能赶上别人。居然后来有许多
朋友说我有学计算机的天赋, 让我哭笑不得。我用的是486,16M内存,1G硬盘,当
时同学们的配置都是P166MMX,我安装 一个Windows NT4.0需要一个通宵,编译一个
BC5.0向导生成的程序需要近两个小时,我的显示器是个二手的,辐射非常大,开机
屏幕冒火花,看起来很酷的:),有一次程序写的太久,觉得怎么白色的编辑器背
景变成了紫色,以为显示器坏了,后来才发现眼睛不行了,不过说来也奇怪,到今
天我的视力还能保持1.5,真是个奇迹。但是就是那台破机器陪伴了我两年,让我学
会了VC、Delphi、SQLServer等。后来那台机器给我阿姨打字用,据她说一天她正打
的开心,一股青烟夹着火苗从显示器钻出来,之后它才寿终正寝。
大三假期找了个机会在一个计算机研究所实习,与其说实习不如说是做义工,
工作了两个月一分钱没有拿。但是这两个月对我的发展帮助很大,让我早一步了解
了社会,刚去的时候我当然是一窍不通,在那里我熟悉了网络,学会了Delphi和Or
acle。由于工作很认真, 得到了比较好的评价,在一位长者的引荐下,我开始和他
们一起做项目,这使我在大三大四就有了自己的收入,大四又找了两家MIS公司兼职
,虽然钱不多,但是在学生期间有1000多的收入我已经非常满足了,我终于用自己
赚的钱把计算机换了。大四下开始找工作,这时我的工作经验已经比较多(当然现
在想想非常幼稚),开始听父母的想去那个研究所, 实习过那个部门也希望我能去
,但是不知道为什么最后不了了之,这种单位就是比较官僚 ,我一气之下就到了我
兼职的一个公司做MIS的TeamLeader。在大三到毕业一年的时间,做过了各种MIS,
从煤气、烟厂、公安、铁路、饮食到高校,什么有钱做什么,工作也很辛苦 ,经常
加班和熬通宵,从跟客户谈需求到设计、编码、测试、交付都要上。那时觉得很有
成就感,觉得自己还不错,现在想想真是很肤浅。
刚走上工作岗位的学生很容易被误导,各种开发工具让人眼花缭乱,同时也觉
得很受 公司器重,但这样工作永远是一个低层次的开发者。不要跟我说什么系统分
析有多么多么重要,多么多么难。你以为自己跟用户谈需求做设计就是系统分析和
设计了吗,国内又有几个公司能够做的很到位很规范?我是ISO9000内审员,也在R
ational公司受过多次培训,拿了4个证书,还有一个公司让我去做CMM。这些我听过
很多,但是很多事情到国内就变了性质,一个公司不是通过了ISO9000或者CMM就能
规范了,我现在在一家有几十年历史的外企工作,里面的管理不是一般国内企业能
及的。作为一个毕业不久以前没有步入过社会的学生,几乎不可能在很短的时间掌
握系统分析和设计,面向对象、UML只是一个工具,关键是人本身的思想,不是说你
熟悉了C++、Rose就能够做出好的设计,相反如果你具备了很高的素质,你可以用C
写出比别人用C++更加模块化的程序。
话说远一些,国内软件开发行业有一个怪圈,很多人觉得VC > Delphi > VB,
真是很搞笑。这几个软件我都做过开发,说白了他们都是工具,应该根据应用的需
要选择采用哪个,而不是觉得哪个上层次。如果你因为用某个开发工具很有面子而
选择的话,只能说明你很浅薄。如果说层次,那么这些工具都不上层次,因为它们
用来用去都是一些系统的API,微软的朋友不会因为你记住他们多少个API或者多少
个类就会觉得你很了不起,你永远只是他们的客户,他们看重的是你口袋里的银子
。我也做过系统内核,我也封装过很多API,同样我也不会看重那些使用这些API做
二次开发的客户,除非他能够作出自己独到的设计。
至于有人认为C++ > C那更是让人笑掉大牙,不妨你去打听一下,现在有几个操
作系统内核是用C++写的,又有几个实时系统用的是C++,当然我也不是说C++不好,
但是目前的内核和实时系统中C++还无法与C匹敌,至于说C++适合做应用系统的开发
那是另外一回事。所以我的观点是不在于你用什么工具和语言,而在于你干什么工
作。你的设计体现了你的技术层次。
这样干了一年我觉得非常苦闷,做的大多数都是熟练工种的活,个人技术上没
有太多 的提高也看不到方向。所以决定离开这个城市去上海,寻求更好的发展,并
且打算放弃我以前的MIS转到通信行业。
写到这里不能不提到我女朋友,我们是在来上海前半年认识的,她大四在我公
司实习,公司派她给我写文档,我们的感情发展的很快。她告诉我很多事情,她家
原本是改革开放的第一批暴发户,她母亲爱打牌,输掉了几百万,还欠了很多债,
她有男朋友,但是她对他没有感情,只因为他给了她母亲两万多块钱,后来还强迫
她写了四万块的借条,她男朋友背叛过她并且不止一次打她,现在逼她结婚不然就
要她还钱。这人居然还是一个高校的老师!她母亲把父亲给她的学费花了,因为拖
欠学费她没有办法拿到毕业证。她母亲现在有病需要钱,我拿出了自己的一点积蓄
并且跟朋友们接了一些,替她交了学费并给她母亲看 病(后来才知道看病的钱又不
知所终,就连她母亲是不是有病我都不知道,但她也是没有办法)。这个时候我家
知道了一些事情,坚决反对我和她在一起,她原来的男朋友也极力破坏。无奈之下
我们决定早一定离开这个伤心的城市,并且瞒着我们家。由于时间仓促,我只准备
了4000块钱,她仅有的几百块钱也被她母亲要去了,我买了三张票,一张是中午的
,两张是晚上的,中午我的家人把我送上船,他们一离开我就下了船,我和她乘坐
晚上的船离开了这个我和她生活了很多年的城市,带走的只是一身债务。没有来过
上海的我们两个性倔强,都不愿意去麻烦同学和朋友。来到上海是傍晚6点半,我们
都不知道该去哪里,我们找了一个20块钱的旅馆,这个房间连窗户都没有,7月份的
天气酷热难耐,房间里非常闷热。第二天我们开始租房子,因为身上的钱不多,我
们基本都是步行,花了一个星期时间,不知道在浦东转了多少圈后找到了一个400块
的房子,但是我们都不了解上海是付三压一,还要付半个月的中介费,买了一些锅
碗瓢盆后,我们身上只有800块钱了,工作都还没有着落,这800块钱要支持到我们
拿到第一个月工资,为了省钱我们自己做饭,每天买菜只花两块钱,她非常喜欢吃
(也可能她在大学经常挨饿的愿意),看到她现在这样省吃俭用我真的很不忍心。
她以前的男朋友也没有放过她,经常打电话来骚扰,并且来上海看她,还说了不少
恐吓她的话,她过于善良,说他以前毕竟帮助过她,叫我不要与他一般见识。以后
的每天在家就是苦等面试通知,原本我想迅速找一家MIS公司解决眼前的困难,但是
她坚持让我不要放弃自己的理想,终于功夫不负有心人,我找到了一家通信公司,
4000块的工资虽然赶不上MIS公司给我开出的价位,但也够在上海生存。她也找到了
工作,第一天上班她哭了,这是她来上海第一次流泪,我心里很难受也很感动。
由于是全新的行业,我把自己降到了零点,我学的VC、Delphi、数据库派不上
用场, 摆在我面前的是嵌入式、协议、信令一些我从未接触过的知识。我知道我没
有退路,于是拼命的学习,我把自己当做一个应届毕业生一样,一分努力一分收获
,半年过去我终于熟悉了工作,并且得到了公司的表彰,薪水也加了一级。后面的
日子里我们省吃俭用,把欠朋友的1万多块钱还了,日子终于上了正轨。这时女朋友
告诉我她想考研究生,我也很支持,于是她辞职在家备考。
另外,在这里我要感谢我的ProjectManager,他原来是一个大通信公司的产品
经理, 对人非常和善,我从他那里学到了很多知识,而且他也给了我许许多多无私
的帮助。在工作上他给我充分的空间和信任。记得公司安排我维护一个接入服务器
软件,由于代码量不算太小(5万行),资料和文档都不齐全,我维护起来非常吃力
,所以想重新把它做一遍, 公司领导不太支持,可能觉得工作量太大,但是他极力
支持我,私下里他让我放手去做, 我的维护工作他挤时间做。在他的支持下,我花
了半年时间完成了接入服务器的软件,并且实现了一个相对完整的TCP/IP协议栈。
在这里我学会了嵌入式系统设计、驱动开发、TCP/IP和很多通信的知识,我花了一
年时间终于使自己从MIS开发转到了通信行业,并且站稳了脚跟。我的开发大量是对
硬件的直接操作,不再受微软的操作系统,VC、Delhpi这些开发工具的约束,我终
于看到了另外一片天空。
我做事情喜欢追根问底,随着开发的深入,软件开发与硬件联系越来越紧密,
硬件知 识的匮乏又对我的发展产生了障碍,而且芯片技术基本上掌握在国外公司的
手里,这对做系统级设计是一个非常大的制约,一个新产品出来,第一道利润(也
往往是最丰厚的利润)常常都被IC公司如Intel、Motorola赚去了,国内的厂商只能
喝点汤。所以我决心解决自己的硬件技术障碍,并打算离开通信行业,进入IC设计
相关领域。
当然我明白如果我对硬件了解的非常少,没有哪家IC公司会仁慈到招我这样一
个一窍不通的人来培训。所以我必须努力打好基础,学一些相关知识为以后做准备
。就像我开始从MIS转到通信一样,我看过大量通信方面的书,并且给一个ISP做过
RADIUS计费分拣台,在这样的背景下这家通信公司才给了我这个机会。我在的通信
公司是做系统设计的,有不少PCB Layout硬件人员,平常我就注意向他们学习,由
于我做的是软件,在公司看硬件资料不好意思,所以开始只好在家看,刚来上海工
作我连续一年都在加班,后来不加了,因为我要挤出时间学习,通常我12点左右睡
,第二天5点半起,我上班比较早,地铁上如果人不多我也用来看书。学习当然不会
是一帆风顺的,有些实在不懂的问题就积累起来问硬件人员,他们的帮助使我学习
进度快了很多,因为在没有人点拨的情况下自学,我的一半时间是花在解决疑难问
题上,但这种问题经常是别人的一句话就可以让我豁然开朗,我非常庆幸我有这样
的学习环境。在后面的一年里,我学会了看硬件原理图,学会了简单的硬件设计(
模拟电路方面还有不小的差距),事情就是这样的,当你安安份份做软件,别人永
远认为你是软件开发人员,在你开始学习硬件时别人未必会认同,有位中兴通讯的
朋友还对我说过,一个人不可能把所有东西都学完。我也明白这一点,但我希望自
己做的更好。但当你熟悉硬件后大家又会觉得你好像原本就是软硬件都懂的,同事
们也都习以为常了。这个时候我可以把硬件资料堂堂正正的拿到公司看,没有人再
大惊小怪了。 让我比较自豪的是我通过自己的努力做了一个IAD(软交换的终端设
备)系统方案,包含软硬件的选型、设计等内容,这个方案得到了公司和同事们的
认同,让我感到非常欣慰。
技术是相辅相成的,当我的硬件有了一定的进步后,我的软件设计也有了很大
的提高 ,我可以从更深层次理解问题,我做的接入服务器CPU是Motorola PowerPC
860,熟悉的朋友都知道860 QMC与软件的批量数据传输通常采用BD表的方式,硬件
人员做驱动的时候习惯采用固定BD表,每接收或发送数据都将数据从BD表拷贝到用
户Buffer,或从用户Buffer拷贝到BD表,由于理解的比较深入,我自己重新实现了
这个过程,采用动态BD表的方式,驱动从一个网口接收数据,提交给我的软件进行
三层交换,直至从另外的接口发送出去,没有进行一次拷贝。这样的设计大大提高
了性能,使系统的指标接近理论值。软硬件的结合使我的设计水平上了一个台阶。
我现在写的这个操作系统,编译后我把程序反编译成汇编,找出其中不优化的代码
,然后在C程序中进行调整。举个例子,很多CPU没有专门的乘法指令,这个大家应
该都知道,在这种CPU上进行一个乘法操作常常会花费大量的指令周期, 有的朋友
会说这个我知道,我会尽量避免采用×号,但是事情往往不是那么简单,你知道
C语言中数组的下标操作是怎么实现的吗?仔细看看反汇编的代码你就会明白,同样
是通过下标的定位操作,C编译器会有时候会产生位移指令,但有时候会用乘法实现
,两者效率往往是天壤之别,所以明白这些问题你才能将系统性能提升到极致。?
些问题就不多说了,有兴趣的话以后可以共同探讨。
话说远一点,我由衷的希望在软件上做的比较深入的朋友们有机会学学硬件以
及其它 相关知识,尤其是做底层开发和嵌入式设计的。这对软件技术的提高有非常
大的帮助,否则很多事情你只知道该这样但不会明白为什么该这样。我这个观点在
我现在的IC公司Project Manager那里也得到了验证。他告诉我们公司现在的802.1
1芯片产品的软件经理原本是做该芯片硬件设计的,某某某原本是做软件的,现在在
做IC,类似的例子还有很多,只是在国内这样的风气不是非常流行。
我有一些心得体会与大家分享,只有当我干好本职工作后,我才会学习与工作
关系不 大的技术,这样公司的上司才不至于反感,在入门阶段的问题我通常不去问
那些资深人士 ,而是问一些资历比较浅的朋友,比如刚毕业不久的学生,因为他们
往往会跟你详细的讲解,而资深人士通常觉得你的问题太简单,所以回答的也很简
单,我又不好意思多问。等技术上了一定的层次后我才会问他们,他们也能给你比
较深入的回答。另外,有些朋友说我机会比较好,他们也希望能从事新的工作可惜
没有机会,我听了只有苦笑,我的机会了解的人都应该知道,我没有出生在什么IT
世家:)也没有谁一路提拔我,所有的路都是自己走出来的,我母亲去世比较早,
我的后母(我叫她阿姨)看着我努力过来的,一次她看我大年30还在写程序,她说
像我这样努力木头都能学出来。
我的最终目的是IC而不是PCB,所以我下一步的准备开始学习IC设计的知识。公
司的同事没有懂IC设计的,后面的路又要靠自己了,我买了不少相关的书,在网上
也查了很多的资料,我花了大量的时间去学习VHDL,并且用软件进行了一些简单的
设计和仿真(没有设计ASIC,只是针对FPGA),随着学习的深入,我渐渐明白了IC
设计的基本流程,同时也明白了这条路的艰辛。这个时候我已经做好了跳槽的准备
,我向一家业界又一定知名度的IC设计公司投了简历,并通过了漫长的面试(4个多
小时)。其他的一切我都比较满意,唯独薪资差强人意,我也明白原因,因为我是
这个行业的新人,我没有经验,我再一次将自己清零了。公司老板问我6000多一个
月能不能接受,我知道他也是照章办事。想想我通信行业的朋友们,基本上都是年
薪10万以上,月薪过万的也比比皆是,朋友们也帮我介绍了不少待遇不错的公司,
我该怎么选择,当时我很犹豫,我热爱我的事业,我向往我的追求, 但我也是一个
普通的人,我也需要养家糊口,我也想早一点买房买车。生活给我出了一道难题。
爱因斯坦在63岁时说过“一个人没有在30岁以前达成科学上的最大成就,那他
永远都不会有。”这句话给了我很大的压力和震动,我马上就26岁了,离30只有四
年时间,我必须抓紧这几年宝贵的时间,努力达到我技术上的最高峰。为了这个理
想,为了能离自己的梦更近一些,我选择了这家IC公司,我明白自己的薪资和公司
刚进来的硕士研究生相差无几, 但为了今后的发展只能忍受,一切又得重新开始。
换行业是一个非常痛苦的过程,尤其从一个春风得意的位置换到一个陌生的岗位,
感觉象从温暖的被子里钻出来跳进冰水中,让人难以接受。在原来那家通信公司,
我是唯一两年时间涨了五次工资的员工,公司和同事都给了我极大的认可,工作上
也常常被委以重任。但现在这一切都成了过去,在新的公司我只是一个新人,没有人
知道也没有人在意我过去的成绩。我决定重新开始,我把自己看作新毕业的学生,
我要用自己的努力得到公司的认可。进入新的行业是非常痛苦的,我告诉自己必须
忍受这一切,虽然外面有很多诱惑,但是既然作出了选择我就不允许自己轻易放弃
。
我现在已经在这家新公司上了一个多月的班,开始非常艰难,现在慢慢适应了
。第一 个月结束时,Team Leader找我谈话,说我是新进员工中最优秀的一个,我
心里很欣慰,这也算对我努力的一个肯定吧。在这里还要感谢我的女朋友,她给了
我很大的支持和鼓舞, 每次在我动摇的时候她都在鼓励我,让我坚持自己的理想,
刚来上海是她让我不要勉强去做MIS,这次也是她让我顶住了月薪过万的诱惑,没有
她我可能不会有今天的成绩。 现在的公司有自己的操作系统,自己的CPU、DSP和其
它芯片,在这里我能学到世界上最先进的技术,我们的设计开发不再完全依赖别人
的硬件和系统,这让我很开心。我打算等工作步入正轨后,全力学习新的知识,实
现我的理想。
在后面的两年里我给自己定下了几个目标:
一.努力做好本职工作,在工作上得到公司和同事们的认同;
二.努力学习IC硬件设计知识,多向同事请教,并利用一切机会多实践;
三.实现我的实时操作系统的主要部分,完成TCP/IP协议栈模块,并免费发布源代码
;
四.和我女朋友结婚并买一套小房子,这是最重要的,因为我明白事业是可以重来的
,但是珍贵的感情很难失而复得。
在这里提一下我现在开发的操作系统,它是一个实时嵌入式系统,目前支持以下特
性:
a.支持时间片轮转调度和基于优先级调度,最多64个优先级;
b.抢占式实时内核;
c.为了便于移植,主体用标准C实现;
d.汇编代码非常少,不到100行;
e.支持任务管理,各任务有独立的堆栈;
f.进程同步和通信目前完成了Semaphore,Message Queue正在调试;
g.实现了定时系统调用;
h.可以在windows上仿真调试
我还打算下一步实现优先级反转保护,Event Flag,Data Pipe,内存管理(以前实
现过)、驱动接口等。 在这之后我还会努力完善它,比如加入文件系统,协议栈、
调试接口等。希望朋友们提出自己的意见和建议,在此不胜感激!
后记:
就像有的朋友说的,我的经历或许会给一些朋友产生误导,在这里我必须说明
一下。 我来上海以前学习过于拼命,常常晚上只睡3个多小时,我身高1米71,那时
只有108斤(我现在130多),家人也说我这样拼命活不过60岁,但是当时的我太固
执,我对他们说只要能实现理想活50岁我就够了。那时的拼命使我的身体受到了影
响,有一次早上突然腰肌剧痛难忍,痛的我倒在床上站不起来。虽然我现在已经比
较注意,但有时候还会隐隐作痛。后来在女朋友说服了我,来上海以后我不再如此
。我经常引用父亲的一句话“身体是革命的本钱”。
而且我也发现拼命不是办法,我可以熬一两个通宵,最多的一次我连续工作了
三天三夜, 但是我半个月都没有恢复过来,这样是不是得不偿失?学习工作应该是
一个长期的过程, 像马拉松而不是百米冲刺。我现在非常注意调整学习和工作的强
度,我要保证每天尽量有相对充沛的精力,一些年轻的朋友觉得自己也应该拼命努
力,这让我多少有些担心,如果我的故事能让你在学习工作上多一点兴趣,我会感
到很开心,但如果误导了某些朋友,让你做一些不值得的付出,我会感到很内疚。
技术没有贵贱之分,我以前换行业是因为自己的兴趣所致,而不是对哪个行业
有什么偏见。我希望我的经历不要给朋友一个错误的导向,觉得我始终向更高的技
术发展。其实各行各业做到顶尖都是很困难的。话又说回来虽然技术没有贵贱,但
是门槛是有高低的, 无论如何,做IC的门槛要比做网页的高,这一点无可否认。国
家各种人才都是需要的,但是作为个人奋发向上的想法还是应该有的,努力在自己
喜欢的行业上做的更好,而不应该停留在比较肤浅的层次上。
我是一个自己觉得比较有自知之明的人,或许我最大的优点就是知道自己有很
多缺点 :)。我的故事中很多的曲折和错误都是由我的缺点造成的,希望大家用审
慎的眼光看待我的经历,不要被我的“花言巧语”所迷惑。我学习有些随心所欲,
这给我带来了无尽的麻烦,也大大阻碍的我的发展。记得我小时候成绩比较出色,
但是后来学习严重偏科,导致我中学成绩一再滑坡,也没有考上什么好的学校,小
时候的一个朋友,当时的成绩和我相仿,但是没有我这个缺点,她上了清华,后来
在去了美国深造,在一个著名导师手下研究理论科学,这未尝不是一条更好的出路
。另外我的学习方法也是在不断改善中的,过去 的学习过于讲究数量和时间,那样
学习既苦而已效率不高,现在我非常注意学习的效率和技巧,这样才是学习的捷径
(当然不是指投机取巧),比如说学一相对陌生的技术,如果有条件,不妨问一问
有经验的人,不需要问很多,往往他不经意的几句话会给你非常大的帮助,甚至超
过你看一个星期的书。带着这样的思想再去学习你会节省很多时间,这样何乐不为
呢?这些年中我学了不少的东西,由于开始非常盲目,所以学的东西杂乱无章,现
在回想起来让我啼笑皆非,我把大量的时间浪费在一些没有必要深入了解的知识上
,毕竟一个人的精力是有限度的。很多朋友很我一样都背过五笔字形,的确它是个
不错的输入法,但是对一个研发人员它绝对不值得你去背,你的时间应该花在有价
值的地方。我这样的事情还做过很多,我背过CCED、WPS的命令和快捷键,在dBase
基本退出历史舞台后我还花了很多时间去学习它的使用。所以我的学习在前期缺乏
规划,没有明确的短期目的、中期目标,只有一个虚无飘渺的长期的理想。这就像
做设计一样,好的设计是从需求抽象到代码有很多过程,而不能得到了需求就立刻
开始开始编码。
当然这么些年的学习和工作多多少少有些收获,下面我说说我的一些学习的心
得,这 些方法未必正确,我也在不断探索和改进中。我的学习和工作有相对明确的
目标,我不会一时心动而去学习某一技术,在下决定之前我会考虑很多,包括长期
的发展,个人路线的规划,需要付出的代价、可能遇到的困难及解决的办法等等,
在决定后还会制定更加明确的计划,包括短期、中期和长期的,身边可以利用到的
资源(包括好的书籍、资料、软硬件环境,也包括有经验的朋友或者师长),以及
每一个阶段是怎么过渡到高一阶段的计划,往往在一个学习阶段一旦上路后会走的
相对顺利,但是跨阶段通常比较麻烦,比如从学习基础知识转到实践。另外我买书
也有自己的方法,现在世面上高质量的书远不如低质量书多,对于一个陌生的技术
,往往在第一次买书会选择错误,即使买到一本好书但是它的方向也未必适合你,
所以我通常会先在网上查找一些该技术的介绍,有了一点点概念后再去买一本比较
薄、相对便宜并且内容相对泛泛而谈的书,这是国内作者最善于写的书:) ,再把
它浏览一遍后我就会基本明白这门技术的要点,后面买书和制定计划就会明确的多
。否则一开始就想找本好书往往比较困难,而且买回来后努力学习,有时候学了一
半才发现是本低质量的书或者是相对过时技术,让人非常懊恼。另外让有经验的人
帮你介绍,通常也是一个不错的选择。
有些朋友想学通信、嵌入式开发,但总觉得自己没有软硬件环境,我就按我的
了解给 大家介绍一下怎么建立这样的环境,当然我了解的只是我学习和工作的方向
。通信我做的是数据网方面的工作,包括TCP/IP、二三层交换、对接入网、H.323和
软交换也有一点认识。这些软硬件环境都是可以在PC上构建的。你甚至可以在一个
没有网卡的PC上建立一个包含多个路由器、接入服务器、VoIP网关、网守、主机等
的仿真网络环境,而且与实际的网络相当接近,当然这需要你有清晰的网络概念和
一定的网络知识,我一直在努力开发一套软件将这个过程简化,目前试验已经做完
,我可能会将它融入我的操作系统外围扩展软件中。这样的方法我无法用简单的语
句讲的很清楚,我可以说一下大概的思想,就是在PC上实现仿真网卡,(知道Wind
ows怎么在没有网卡的机器实现虚拟网卡技术的朋友都应该会明白),然后每一个仿
真网卡对应一个虚拟设备,如路由器或者主机。你也可以借助第三方工具完成部分
工作,如VmWare等。我现在就是利用一个仿真网卡做自己的开发的。
至于嵌入式开发环境更加容易实现,PC就是一个非常大的硬件平台,现有的嵌
入式操 作系统通常都支持X86,你可以在上面做开发,通过软盘Boot或者使用虚拟
机装载,我用VxWorks做了试验,在一台PC上跑Windows和VxWorks两个系统。另外W
indows上的兼容DOS的16位仿真X86环境也为很多操作系统提供了绝佳的试验环境,
我的操作系统在Windows上就是这样实现的。Linux在嵌入式中应用也比较广泛,它
在网上有大量的资料,而且也相对比较容易实践。同时很多完善的嵌入式开发环境
支持软件仿真,如Tornado、WinCE等。
风中玫瑰于2004-11-7 21:50:25编辑过
阅读次数:209 发表时间:2004-8-17 18:57:15 [转移] [收藏] [回复] [编辑] [去精华] [解固] [删除]
用户注册 使用说明 功能说明
收费方式 点歌窍门 歌曲列表
回复主题:程序设计师真情忏悔录
风中玫瑰 | 发贴:11| 魅力:4 | 给他留话
标 题: 程序设计师真情忏悔录
前言:
不久前,蔡学镛先生发表了两篇分别叫做"程序与香鸡排","再论香鸡排"的文章,受
到的回响之大,据说连作者本人都接到该文的转寄。足以见得该文的内容道出了台
湾程序设计师心里最深处的想法。所以,本文想针对台湾程序设计师来做讨论,看看
身为一个程序设计师,究竟犯了什么过错,导致大家宁愿卖鸡排也不愿再继续写程
序。璩美凤小姐为自己惊动台湾社会的行为写了真情忏悔录,我们也该真诚地检讨一
下自己。
本文:
在台湾,大部分的人都有个认知,就是"搞硬件的比搞软件的要好赚","做SA/SD比
coding地位要高"。那些做ID Design的家伙待的公司所发的股票,永远比搞Softwa
re Design的人待的公司发的还多,股价也高出好几倍。搞SA/SD的人,在公司地位
好象也比单纯写程序的人高。于是我的父亲有一次问我:"是不是搞硬件的人智商比
较高?","是不是搞分析设计的人比较有地位?"事实上,在学生时期我就认识不少人
,有的人因为程序写不过别人,所以转换跑道专攻硬件;也有人觉得每天面对示波器
和逻辑分析仪让他们头痛,工程数学也学不过人家,所以转行搞软件。到了实际上
面对许多前来接受教育训练的学员之后,发现有人是因为写十几年BIOS和driver,
觉得乏味而没有前途,所以想试看看应用程序的开发;有人则是因为受不了客户每天
改需求,而且写IOS和driver的人好象比较少,价格比较高,因此想学习如何撰写系
统软件。询问那些上高阶课程的朋友,有的人发现自己只会胡做SA/SD唬烂老板和客
户,所以希望重新打好基础,从基本的coding做起;有的人则因为写程序写太久,觉
得应该往上走向SA/SD的路子,毕竟老了程序就写不动了。这个世界上什么样的人都
有,绝对不能以小羡大。就很像搞政治的老是骗我们台湾只分成外省人和本省人;搞
帮派的人告诉我们警察是带着枪的流氓。实际上,每个族群大家在没有被分化之前
都相处的和乐融融,而虽然有警察掳妓勒索,上班时间跑去聚赌,但是也有开我们罚
单时酌情轻罚的警察,和保护我们身家性命的警察。即使如此,身为一个程序设计
师还是要问,那为什么写程序的好象地位就是比较低? 笔者认为,这是进入门槛的
问题。会做相同事情的人多了,就会削弱那样技能的价值。就很像考过MCSE/MCSD证
照的人,通常比起考过SCJP/SCJD证照的人要来的没价值,前者因为考过的人实在太
多,而后者考过的人少,仅是如此而已。但是绝不是代表考过MCSE的人,素质就比
考过SCJP的人要差,也不代表考过SCJP的人,实力真的比较高段。相信求学的时候
您一定遇过一种人,他实力也不怎样样,可是考试的时候他x的就是考的比我们高,
怎么我们心里就是不服,可是大多数老师偏偏就是比较喜欢分数高的人。因此,满
坑满谷的人自称会写程序,老板不愁找不到可以做project的人,你要求的薪水和价
格很高? 没关系,找个学校刚毕业的小子,写的比你快,写的比你好,用的技术比
你新,更重要的,价格比你这个老屁股便宜一
半。所以程序设计师在雇主心中的地位日益低落,自然有迹可循。"那么,为什么写
程序的进入门槛比较低?"在各位信息从业人员的身边,非科班出生的比率非常高(当
然没还卖鸡排的高),科班出生的学生,搞不好在老板眼中的地位,还比不上一个半
路出家的自学者。那位
自学者会ASP、JSP、PHP、C++、C+、Java、Linux、Windows、Oracle...等,十八般
武艺样样精通。而我们科班出生的学生,只会离散数学、数据结构和算法,Visual
Basic搞不好没有用的没人家熟,网站的架设搞不好也没人家熟,更何况科班出生
的学生,他的基础学问搞不好根基也不扎实(问看看您身旁的科班学生),难怪最常
见的就是很多非科班的"高手"看不起科班的学生,觉得他们无三小路用,连个Wind
ows操作都比他们差,甚至有的还大言不惭的说:"我这辈子写程序从没用过书上的数
据结构和演算法,读那些干啥?"。长期下来,科班的学生也开始质疑自己的所学,
甚至考虑转行,当然,也有曲高和寡,孤芳自赏之人。总之,没办法受到老板垂青
,薪水永远那么少,想卖鸡排的念头就开始萌生。之所以会有这种情况,笔者个人
认为有两种主要原因,一是技术的流通性,二是台湾软件市场的需求。为什么技术
的流通性可以产生大量半路出家的非科班生? 这都要感谢台湾大量作者,写出大量
的入门书籍,大幅减低的进入程序设计领域的门槛。即使在各位眼中,繁体中文的
烂书很多,而且非常。但是,大家眼中的烂书,常常是再版多次的入门书,对某些
人认为是垃圾的东西,常常是另外一批人进入信息业的最佳踏脚石。不信各位到书
店看看,是"24小时学C++"、"快快乐乐学Java"的书比较多,还是"轻轻松松学微分
方程式"、"21天学复变"、"电子学不求人"的书多? 两者的差距是 N:0。是微分方程
序和复变比++,Java难学吗?笔者两个都学过,至少我可以发誓,就一个有基本学习
能力的人来说,难度是一样的,学成所需要的时间和功夫也是一样的。再看我们的
公开讨论区(BBS或Forum),我们可以看到大量的软件技术讨论区,却看不到硬件技
术讨论区(喔,请别跟笔者说那些每天问哪家主机板比较好,哪台烧录器较稳定、或
者说CPU时脉越高速度就越快越好,或是说x86的Out-Of-Order Executon是"故障执
行" 这一类浑话的讨论区和我说的硬件技术讨论区是一样的喔!)书籍和讨论区促进
知识的流通,造成了大量的软件人才,更何况,学习设计软件只要一台PC就能写出好用
的软件,而学习硬件设计,需要的设备更是天价。
更重要的一点,就是学软件的人,充分发挥儒家分享的精神,只要不是在BBS上冒充
小妹妹想要骗取大哥哥的同情来帮你写程序作业,只要不是很差劲的乱问一通,通
常至少会有热心人士愿意留下一个URL,让我们可以找到参考文件,更具热诚的,如
新竹师院BBS站Java版的TAHO先生,还擅用很多生动的比喻让初学者体会技术的真义
。在这种知识充分流通的环境下,当然产生出非常多的信息从业人员,每买一台PC
,上头各种软件的需求是无穷无尽的,每天都有各行各业的人需要各种软件,所以
程序设计师的需求有一定的量。难怪有人说:"写程式的人饿不死,但是也不会发大财
。"再来就是台湾软件市场需求所引发的问题.一般我们把软件分成系统软件(Syste
mSoftware)和应用软件(Application Software). 编译器,组译器,除错器,操作系统
,驱动程序,都是属于系统软件的一部分.台湾除了硬件厂商,IC Design House之外,
甚少有撰写驱动程序的需求.前几年Linux被炒的热时,也有许多高手投入操作系统,
编译器以及简化标准函式库的研究.而台湾所需求的软件,极大多数是属于应用软件
,这些需求的应用软件其中很大比例是和数据库有关系的(其实不只是台湾,其它地方
也是约略相同的情形).所以VB,Delphi和PowerBuilder这类IDE大行其道,因为他们容
易上手,可以快速开发数据库应用程序,相关入门书籍很多,会的人更多. 因此符合我
们前面所说的:"会的人越多,价值就越低"的理论.但是别忘了,系统软件有部分是偏
向应用软件的,比方说开发软件用的JBuildr和Visual Studio;制图用的AutoCAD;一
套IC Design用的Xilinx或Altera;做OOA/OOD的Rational Rose和TogetherJ,笔者习
惯称这些软件叫做"软件的软件"(MetaSoftware).在一般程序设计师眼中,这类软件
"理所当然"地认为都是由国外所发展.
这类软件有极高的进入门槛,所以国外这类软件公司的获利率很高,所以该公司的程
序设计师可是身价非凡. 要知道,先前在媒体上有报导过,能够让Microsoft买软件来
用的公司,只有Rational Rose(当然,不可能只买Rose来用). 如果做IC Design的人
没有你的软件就没办法做事,身为一个程序设计师,你会觉得你的身价和地位比做IC
Design的人低吗? 如果你做的软体像SoftICE或DriverWorks那样被做硬件的工程师
大量地倚赖,你会觉得搞硬件的人比你厉害吗?问题是,知道该如何设计一套这类软件
的人,恐怕才是真正的异数. 而且需要跨领域的专才.要不是许多OpenSource的proj
ect(例如:KDeveloper)正在进行,恐怕很少人知道该如何设计一套IDE. 既然会制作
这类软件的人在国内少之又少,那么他们的身价高吗?很抱歉,台湾没有公司发展出足
以和国外大厂竞争的开发工具. 举IDE为例,国内早期有家公司开发出一套名为DBto
ols的产品勉强可以算的上是这类产品,旗标也曾为它出版过入门手册,可是使用这套
软件的人好象...没看过(如果该产品有不错的占有率,请原谅我是井底之蛙),没有市
场,公司无法赚钱,即使你是少数能做制作某类型产品的高手,公司最后关门大吉了,
您也只能算是"少数能让公司赔钱的程序设计师"罢了.所以我大胆假设, Games Gol
sing或Anders Hejlsberg如果学李敖一样50年不离开这个小岛,大概早饿死了.以上
的讨论,真正优秀的高手看了之后,或许会产生有时不我予,不得已必须远渡他乡的想
法. 程序设计师的价值就如同书的价值一般,国内和国外有不同的看法.国内教科书
比较便宜,应用的书比较贵.国外教科书比较贵,应用的书比较便宜. 国外重内容,薄
薄一本How Debuger Work可以卖44.99美金.而国内,都是看页数来计价(侯俊杰先生
的书有努力在打破这个页数的迷思,也做的蛮成功).有很多原因导致这两种文化之间
的差异,但是,市场因素肯定是其中重要的一项.
阅读次数:27 发表时间:2004-8-17 19:00:29 [转移] [收藏] [回复] [编辑] [加精华] [固顶] [删除]
回复主题:一对夫妻程序员的故事
风中玫瑰 | 发贴:11| 魅力:4 | 给他留话
标 题: 一对夫妻程序员的故事
发信站: 兵马俑BBS (Thu Jun 24 12:28:52 2004), 本站(bbs.xjtu.edu.cn)
我刚结的婚,老公是大学同学,都是计算机专业的,毕业之后双双来到深圳,热情
洋溢的工作,期望着靠两个人的努力建立一个温暖的小窝,希望永远相爱过幸福的
日子,毕业一年以后还是男朋友的老公突然被查出来患上了乙肝,很快老公被原来
公司解雇了,而且他们也没有给我老公办理任何医疗保险,同时,我也因为化验单
上出现了三个加号而被公司辞退了,医生说,我刚刚被感染,可能会产生抗体,也
可能会抵抗不了病毒而患病,和我本来同住的女孩子趁我不在的时候搬走了,当我
看到空白的床铺时,觉得命运真是会捉弄人,深圳,第一次让我觉得很冷漠,没有
了工作,搬离了原来的公司集体宿舍,男友因为打击而失落的样子让我觉得难过极
了,第一次,我没有任性的哭,而是在街上溜达半天对男友说:没有关系的,我们
好歹还有点积蓄,我们去租个房子,我去找工作,你好好养病,会好起来的。很幸
运,我在一周之内找到工作了,并在单位附近租了一套房子,那年时内存涨价的时
候,但我怕我不在家的时候他会闷,我们还是花了6400买了一台电脑,花了1580开
通了ISDN,就这样,我工作,男朋友开始了艰难的求医之路,他白天在家里睡觉,上
网,到医院打针,我每天下班回家做饭,打干扰素很贵,每次都是几千块钱,因为
刚到新公司工资不高,原来的积蓄我不敢随便乱用,准备全部用来支付药费,所以
在一年的时间里我没有买过新衣服,没有买电视,我可是个超级电视迷啊,我上大
学之连自己的内衣都是我妈洗的,现在想想都不知道那个时候自己是怎么坚持下来
的,我本来是个任性的女孩子,爱笑也爱哭,可自从我男朋友病了,我却很少当着
他的面哭了,想哭我就偷偷一个人哭,记得有一次,老公拿回化验结果,一点都没
有好转的迹象,他终于忍不住哭了起来,看到他的样子我伤心极了,可我没有哭,
拼命的逗他笑,可晚上我一个人在洗手间边洗脸边哭,现在想想还有点难过,我发
誓我一定要我男朋友重新开心起来,最终有一次,我们从医院回来,看到化验单上
的结果医生将病毒复制的数量标注为微量的时候,我终于忍不住在公车上落泪了,
很奇怪,现在回想这些往事,好像不是发生在自己身上的。
努力的工作,终于让我得到了高薪和高职位,而男友的身体也没有那么差了,可
因为他长时间的与外界脱节,而我却见多了成熟有魅力的大好青年,不免觉得他幼
稚,从此矛盾就产生了,我们吵架,任性的指责他,然后和好,终于我们大吵了几
次,当我真的想离开他的时候,想起了我们一起度过的日子,我爱他,一如既往,
呵呵,写到这里,不免要说还是书读多了就是有好处,读书让我们明白事理,知道
讨论和沟通的的重要性,我们开始谈心,谈我们之间性格的差异,谈我们因为环境
而造成思想上的差距,最终我们接受了这些,我们承诺对方:我们一起努力。老公
不喜欢交际,除了我,他最喜欢的就是游戏,他是计算机的忠实热爱者,而我喜欢
玩,是个活泼开朗整天唧唧喳喳的的小女人,终于想明白,思想单纯也没有什么不
好,我工作压力大,但看到老公就觉得自己因为这些琐事生气幼稚极了,所以老公
让我可以快快乐乐的工作。
不写了,因为我追看的韩剧开始了,经过8年的风风雨雨,我们结婚了,现在准
备买房子了,好高兴的,我不知道我老公是否能看到这个帖子,无论看到与否,我
都想对他说:亲爱的老公,我爱你,希望因为有我你可以感到幸福,我会努力的,
努力让我们更幸福。
很想对天下所有正幸福或者正在经历不幸的人说:不要被不幸吓倒,只要热爱生
活,积极的争取,幸福会来临的。
因为愿望是真诚的,所以一定会实现。
今天上班很无聊,喊了老公在sina里聊天,因为他们单位禁了QQ和MSN,我说我
现在觉得很无聊,老公建议我和他一起写个小游戏然后我们两个玩,真让我。。。
晕倒!
其实生活和我刚毕业时梦想的差距很大,而且我付出的努力也应该比其他的女孩子
更多,老公身体不好,被公司辞退,和别人合伙做生意,不仅被骗了三万块钱,还骗了
他的全部心血,曾很多时候,我很迷茫,是退缩,还是勇敢的面对一切,我比男孩子
仅有的的一点优势就是我是女的,而且我不属于恐龙,我可以嫁个有钱的,而不必
这么辛苦,我很少对朋友讲过因为老公的身体不好而带给我生活的的压力,因为当
我决定担负我们生活重担的时候,我就知道没有人可以替代我自己,所有的帮助都
是有限的,如果想让自己幸福,就一定要坚强,要努力,经历了这么多,真的觉得只
要够坚强,没有什么大不了的,我曾经是个程序员,我老公现在也是,所以我知道做技
术很辛苦,也知道做技术的男孩子感情生活也不太多姿多彩,可是,如果热爱计算机就
努力的工作吧,规划好自己的发展方向,然后努力,会有丰厚的回报的.
还有,希望社会不要歧视乙肝患者,我老公曾经是严重的乙肝患者,我们生活在一
起,我很健康,而我老公曾经因为身体的缘故找工作都成了问题,这些曾给我老公带来
了很大的压力,给我们的生活制造了很大的阻力,其实我老公聪明能干,对此我很气愤
,很想骂人,不过不知道该骂谁好,呵呵. 希望每个人都能够善待自己,善待别人.祝
福所有喜欢计算机的人,都生活的快乐,幸福.
^-^,第一次将自己的生活感受无所顾忌的写出来,感觉真好.
阅读次数:47 发表时间:2004-8-17 19:01:53 [转移] [收藏] [回复] [编辑] [加精华] [固顶] [删除]
回复主题:一个还不太老的程序员的体会
风中玫瑰 | 发贴:11| 魅力:4 | 给他留话
标 题: 一个还不太老的程序员的体会
软件以程序员为本(《程序员》)
谨以此文献给所有想当程序员的朋友
(一) 文章由来及个人经历
我是一名计算机专业的本科毕业生,毕业已经1年多了。毕业后从事的是软件编程工
作,经常有其他专业的朋友想从事软件编程工作,向我请教如何,因为我自觉涉行
不深,不敢信口开河,无奈朋友信任,我不得不郑重考虑一下这个问题了,来帮助
朋友选择和回报朋友的信任。
这也就是此文的由来。
还是先谈谈我个人的经历吧。(是不是有点俗套,但我觉得了解我的经历,有助于
理解我话的含义;我一向认为不了解古龙的生活经历的,不会真正读懂古龙的作品
和古龙笔下的英雄的)我本科就读于南方一所著名的高校(因为自己的不成气,愧
谈母校名谓),学的就是计算机专业。上本科时,几乎没有认真的听完一门专业课
程,上课看报纸睡大觉,下课看录像看小说看球赛,临考抱佛脚,每次考试和课程
设计都是蒙混过关。(于之相对是,我选修的工商管理和经济贸易方面的课到是听
得不亦乐乎,考的分数颇高,也许这才是我的真正兴趣所在。)
总而言之,大学是混过来了,对专业的理解和掌握程度,应该没有达到毕业要求的
合格水平。(也很后悔,但是有什么用呢,当时不知道珍惜;如果上天再给我一次
机会的话,我一定会抓住,多看点美国大片少看点港片;现在,重回校园是我的一
大理想)但是大学的学习使我有了一个简单的知识框架(总算学费没白交),我对
一个朋友这样形容过我的这个知识框架,“它不是钢筋铸的,是稻草扎的”,哈哈
哈,不要笑,真的,我敢说很多本科毕业的朋友的本专业的知识框架也只不过是“
稻草扎的”。直到现在,我一直觉得自己的基础知识还是很薄弱,一直想抓点时间
,把基础书本好好的温习一下。(此项任务正在计划和实施中)
毕业后,分配到某研究所工作。当领导让我选择自己以后的工作方向时,我毫不犹
豫的选择了软件(也不知道到底是对还是错,但我决不后悔)。此研究所主要是以
硬件为核心搞通信控制设备的研发生产;软件是辅助,所以也不受什么重视,很多
搞软件的人都跳槽走了,留下来的大都是一些已经废掉和行将废掉的“伪/萎”程序
员(名副其实的“软件人员”)。在这里感觉不到什么高紧张和高技术程度的研究
和开发;软件开发的技术含量极低,以致于大部分人只有半年的学习和开发经验,
以后都是这些知识和经验的重复利用。(我问过其他到研究所工作的同学,他们说
都一样,呜呼,我们的国防科研开发呀)对于软件的开发,领导的意志和老掉牙的
经验在新课题的技术采用和开发中起了决定性作用,没有明确的需求,没有明确的
开发计划和进度,大家在一天一天一周一周的浪费着宝贵的时间,最后开发出来的
东西修来改去,直至它变成垃圾。 我越来越认识到一点,要么象那些废人一样废掉
,要么自己去努力寻求出路,反正别指望从工作中得到什么高明的经验了(教训倒
也许有)。期间发生了一些感情上的纠纷,严重的影响了学习计划和效果,直到现
在浮躁的心仍然有些浮躁。
期间,我读了一些书,看了一些文章,编过一些小例程,搞了一些没有什么技术含
量的开发工作,也和一些前辈和高手们谈过聊过。 我一直在思考几个问题;如何学
习软件开发?如何搞软件开发,国外的软件开发到底其秘诀在何处?为何我们的软
件业一直在低水平徘徊?我们难道真的离了Microsoft就活不了?我们的程序员到底
在浪费时间干些什么?软件开发到底是如何分类的?我们如何走自己的民族软件之
路?
我想了很久,一些想通了,一些还在想。但我知道有一点是肯定的,那就是我们一
定要靠我们自己走出自己的软件之路!跟在别人屁股后面永远受制于人!
好了,关于经历和牢骚就先写这些吧,该进入我们的正题了。
(二) 你适合当程序员吗,你知道编程序是怎么回事吗?
1、 程序员意味着要编程序。(如果你仅仅想得到一份高薪水的工作,喝喝咖啡就
等老板发薪水,我奉劝你还是另找一份更合适的工作,譬如练摊,真的,兄弟,这
份工作不适合你)
2、你是学文的还是学理的,编程序也许需要浪漫,但更需要逻辑和严谨。(说坦白
点就是,在你没有找到乐趣以前,它很枯燥)
3、你有对新技术追求的热情吗?你有刨根问底的探索精神吗?(热情绝对是最重要
的!你仔细思考一下自己的性格适合当程序员吗?)
4、当程序员决不是什么好差事,时刻需要学习,需要思考。(直到你成为那个可以
引导别人去学习和思考的人,你才可以偷偷的嘿嘿笑,又一群傻蛋)
5、程序员的未来很迷茫。(但我认为关键看你自己!我希望你是一个有追求的人,
不仅仅是混碗饭吃。因为真正的乐趣在于创造;如果你能改变软件业的历史,那才
是英雄;不想成为Bill Gates,不想成为Dennis Ritchie和 Bjarne Stroustrup,
我会说你没有追求。有个关于程序员未来的笑话,也许你还没听过,你该听一听,
摘抄如下:
一个程序员对自己的未来很迷茫,于是去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问Lippman,他现在领导的程序员的队伍可能是地球上最大
的”
于是他去问Lippman。
Lippman说“程序员的未来就是驾驭程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问Gates,他现在所拥有的财产可能是地球上最多的”
于是他去问Gates。
Gates说“程序员的未来就是榨取程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝说“我的孩子,你去问侯捷,他写的计算机书的读者可能是地球上最多的”
于是他去问侯捷。
侯捷说“程序员的未来就是诱惑程序员”
这个程序员对这个未来不满意,于是他又去问上帝。
“万能的上帝呀,请你告诉我,我的未来会怎样?”
上帝摇摇头“唉,我的孩子,你还是别当程序员了”)
6、当程序员还是很有乐趣的。(当你学到新知识时,当你有新的思想见解时,当你
有新的产品问世时,和知己探讨你的成果时…我问你,觉得这些是乐趣吗?)
7、当程序员不易也不难。(世间事有难易乎?为之…;不为…。你有决心和信心吗
?)
8、你真的要当程序员?是你自己的想法?
9、你舍得花钱买书吗?(读好书绝对是学习编程的最佳捷径。你一定会说,现在电
脑书籍真***贵,没法子,谁让知识和技术在人家的脑袋,在人家的书里呢;等你写
书时可以把价格定低一点,记着还有好多没钱但想买书的兄弟很困难呀。要舍得买
书,买好书,不好的的书不如不读,其害大于其益,关于买什么书,你可以问高手
或看候捷的书评;准备一个小本子记录你想买的书的名字,逛书店时看看,如果好
就买下,记住要读,别光买不看。) 10、我告诉你,程序就是:任何有目的的、预
想好的动作序列,它是一种软件。
11、编程序就是编写程序。
12、你想好了吗?(如果你想好了还是决定要当程序员,可以继续往下读;否则,
你可以继续寻找别的出路了。)
(三) 一个程序员应该具备的基础知识和概念
1、计算机是有什么组成的,CPU是什么东西,其工作原理是什么。(对于这些以及
下面将要提到的概念我不会告诉你什么答案,你可以看相应的教材,关于教材我会
在下一部分详述,记住理解最重要!)
2、机器语言和微指令集的概念。
3、程序的概念。
4、汇编语言是低级语言但不是机器语言。
5、高级语言主要有那些?(C,C++,Basic,Pascal,Fortran,C#,Java等等;
如果你是中国软件业的英雄,你也写一门语言,最好不用英语) 6、编译程序和解
释程序的概念和其原理。(编译器是高手和专家编写的)
7、HTML、XML等是标识性语言。
8、Prolog是人工智能语言。
9、操作系统OS的概念和原理。(Windows98,Windows2000,Windows NT,UNIX,L
inux,等等都是OS,还有一些实时OS,嵌入OS,编这些的绝对是高手)
10、Windows编程说白了就是Windows API的调用。(中国的程序员很多只是会编wi
ndows程序,用的是VB,我的建议是这些程序员顶多只是低级编码员,我称其是cod
er)
11、VC++、VB、BC、BCB、Delphi、VF等都只是编程的工具和环境,不是编程语言
。
12、面向结构的设计概念。
13、面向对象的概念。(好好理解,兄弟,这个东西还是很重要的)
14、软件工程的概念和原理。(如果你想当老总就需要好好研究了,系统分析员比
编码员要高一个等级,薪水也高哟)
15、数据库的概念。(要熟悉一些著名的数据库系统和语言的名字,如Orcle,SQL
,DB2,DyBase等)
16、了解网络概念。
17、了解多媒体概念。
18、熟悉和掌握数据结构和基本算法。
19、是不是要求太高了,别着急慢慢来,进步在不知不觉之中。(一旦开始学习,
一个月以后你就会有一个基本的概念;两个月以后你就会感觉自己有了全面的基础
知识;当你知道编程序是怎么回事时,说明你已经入门了。也有很多人编了很多年
程序还没有入门呢,你不会希望自己步其后尘吧。要有信心和耐心。沉不住气怎么
能成大事?!)
(四) 教材推荐
――-推荐的教材主要还是针对概念来的,最好选用名校的教学用书。
1、《计算机组成原理》(熟悉)
2、《数据结构》(掌握)
3、《操作系统》(了解->熟悉)
4、《The C language》(掌握)
5、《编译原理》(了解原理)
6、《汇编语言》(了解)
7、《计算机网络》(了解)
8、《软件工程》(了解)
9、《关系数据库》(熟悉)
10、《The C++Languege 》(掌握)
11、《面向对象设计》(掌握;结合C++学习)
(五)一些经验和体会
1、真正的程序员用C++;(一位专家说的)
2、动手去编程序;
3、动脑去思考;
4、要有良好的编程风格;
5、读书,读好书,尽量读原版书!(我反复强调这一点,读书要有选择,坚持读好
书,名家出的经典书,不要浪费实践在一些粗制滥造的书上面;坚持博览群书)
6、有自己的学习计划;
7、总结自己的经验教训;(准备一个笔记本,记录错误和心得)
8、不要怕学新东西;
9、要有软件工程的思想;
10、善于发现问题,然后去寻找答案;
11、向高手请教;(要虚心直到你成为高手)
12、和同行交流;(不善于交流肯定不行)
13、懂得软件的实质,不要被千变万化的表象所迷惑;
14、真正要学习用的是编程语言和方法,不是什么库,什么类,什么工具;(学用
那些什么库都比较简单,但光会这些库,我觉得还远远不够)
15、学习wiodows编程主要是学习windows OS和win32 API;
16、有空了解一下嵌入式开发;
17、有空了解一下PDA软件开发;
18、了解一下.NET框架和C#语言,也许它是你新的衣食父母;
19、要有耐心,不要作浮躁的人; 20、对程序加注释,并保留你的老程序;
21、学到的东西越多,了解的越多,你就越接近专家;
22、有空去逛逛CSDN,那里有你很多知己;
23、要有信心成为一个优秀的程序;
(六)一些好书的推荐
1、《The C Programming language》 (Keinighan & Dennis Ritchie 1988)
2、《The C++ Programming Languague》(Bjarne Stroustrup 1997)
3、《Inside The C++ Object Model》 (lippmans)
4、《Effective C++》 (同上)
5、《More Effective C++》 (同上)
6、《Exceptional c++》
7、《C++面向对象高效编程》
8、《设计模式》
9、《Thinking In C++》
10、《The Standard C++ Bible》(一般推荐)
11、《The Art of Computer Programming 》
12、《Programming Windows》 (Charles Petzold)
13、《VC++5.0技术内幕》
14、《MFC 深入浅出》
15、《软件需求》
16、《Advanced Windows》
17、《C++ primer》
18、《win32程序员参考手册》
19、《用TCP/IP进行网际互连》
20、《COM 本质论》
(七)学习计划
――-这个学习计划是我个人定的,也共享给大家参考一下,共同进步吧。 1、《
计算机组成原理》
2、《操作系统》
3、《数据结构》
4、《汇编语言》
5、《 C 》
6、《 C++ 》
7、《VC 技术内幕》
8、《Programming Windows》
9、《深入浅出MFC》
10、《Advanced Windows》
11、《Inside The C++ Object Model》
12、《Thinking in C++》
13、《Effective C++》
14、数据库
15、网络
16、嵌入式OS和编程
17、硬件单片机
18、.NET和C#
19、软件工程
20、UNIX和Linux
(八)后记
一年来浪费了大量的时间去摸索,去思考,走了很多的弯路,直到现在我还觉得自
己是个编程的门外汉。我把我的一些体会和想法说出来(当然,很多都不一定正确
,欢迎大家指正和讨论),也许对一些想加入程序员行列的朋友有一些建议和帮助
。希望能帮助这些朋友顺利走上编程之路,成为高手。
如果真能如此,我也就很高兴了。欢迎有兴趣的朋友给我发E_mail(sjpsky@163.n
et);我这个人有两大业余爱好,其一就是读武侠小说,其二就是结交英雄侠士。
后记:此文我用analyster的名字登录,发表在“csdn-程序人生”上了,有很多网
友看了,回了,还收到几个网友发来邮件,和我探讨,我很感谢大家对我的信任和
鼓励。
我要说明的就是我的这篇小文,主要是想给“一些想成为程序员”的朋友一些建议
,帮他们寻找一条自我培训的捷径,(其实世界上没有什么捷径的,我觉得一切都
在于悟性,师傅领进门,修行在个人,譬如我就修行不够)少象我一样作大量的无
用功。还有,主要就是一个程序员应该具备的基本功(个人看法),有人称其为“内
功”,我觉得很对。没有扎实的基本功,我们如何能够做到游刃有余的编写高质量
高性能的优秀程序呢?
让我们共同努力,振兴我们的民族软件业!
最好的Java程序员免费学习材料
最好免费的Training 和Tutorials资源:
Java Programming Resources
19 Free Java Courses from IBM
Introduction to Programming Using Java -Full TOC -PDF version
Studying for Java Certification on the Web
Thinking In Java, by Bruce Eckel, 2nd Edition
Richard Baldwin's Java Tutorials, plus Javascript and XML
Jyothi Krishnan Java Certification Study Site
Java Certification & Training by Michael Thomas
Sun Certified Java Programmer (Java 2) Study Guide) (register here)
Another Java 2 Programmer Study Guide
Further Java, University of Cambridge
The Java Boutique: The Ultimate Java Applet Resource: Articles: Tutorials
The Developer's Guide to Understanding Enterprise JavaBeans Applications (pdf)
Mastering_Enterprise_JavaBeans and the Java 2 Platform (zipped pdf)
Java Bean Tutorial from Sun
A Walking Tour of JavaBeans
Advanced JavaBeans
Java Servlet Articles from Webreview.com
Java Servlet Tutorial from Webmonkey
Servlet and JSP Tutorial
Servlet Essentials from Novocode
Java Tutorials from JSPInsider.com
Introduction to JSP Tutorial
The Advanced Java/J2EE Tutorial
Sun JFC Swing Tutorial
Java Lecture Notes
Java Programming Course at Gamelan.com
Java Technology Zone at IBM DeveloperWorks
100% Pure Java (portability) -100 Percent Pure Java Cookbook JavaPureCheck
Java Book Series from Sun
Sun Certified Programmer Examination Revision Book
Web Developer Java Tutorials
Many Java Resources at Cetus-Links
Sun's Java Certification Page
免费的Java电子书籍和技术文章:
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html
Java语言规范 - 第二版 - This book attempts a complete specification of the syntax and semantics of the language. We intend that the behavior of every language construct is specified here, so that all implementations will accept the same programs.
http://www.artima.com/objectsandjava/webuscript/index.html
对象与Java:使用Java来构建面向对象的,多线称的应用程序 - by Bill Venners - this free book is a work-in-progress.
http://books.iuniverse.com/viewbooks.asp?isbn=15834821801&page=1
Java1.1的面向对象程序设计原理 - The Practical Guide to Effective, Efficient Program Design. (free book)
http://books.iuniverse.com/viewbooks.asp?isbn=05951350051&page=fm1
Java 与Internet 安全- This book offers you introductory and advanced discussions of the hottest security technologies for developing and understanding successful e-business applications. (free book)
http://readingroom.elpress.com/readittoc.jsp?Book=0077094603
Java: 一个面向对象的程序设计语言 - free book. By Michael Smith, publication date: 1999, number of pages: 494.
http://readingroom.elpress.com/readittoc.jsp?Book=0471258415
Java设计模式,第 2卷 - free book. By Mark Grand, publication date: 1999, number of pages: 368.
http://books.iuniverse.com/viewbooks.asp?isbn=15834821721&page=fm1
VB程序员到Java - Java is really quite easy to learn if you have some Visual Basic experience. Furthermore, it gives you a powerful way of moving from standalone Windows programming to GUI programming of web pages and interactions of client and server processes across networks. (free book)
这是一本非常好的书,在书店需要你$50.00美金
精通Enterprise Java Beans和Java 2平台,
http://theserverside.com/resources/books/ejb-book-roman.zip
This is a Free electronic download for viewing Ed Roman's book, 'Mastering Enterprise Java Beans'. This book costs almost $50.00 at the bookstores, but is now available for free. This is a must have book for those learning and understanding EJBs.
来自Oreilly的免费书籍章节:
http://fatbrain.oreilly.com/catalog/javacook/ch18.html
Web Server Java: Servlets and JSP -chapter from Java Cookbook
http://fatbrain.oreilly.com/catalog/javaxml2/ch12.html
SOAP -chapter from Java & XML, 2nd Edition
http://fatbrain.oreilly.com/catalog/javaxslt/ch05.html
XSLT Processing with Java -chapter from Java and XSLT
http://fatbrain.oreilly.com/news/javaxslt_0801.html
Top Ten Java and XSLT Tips -by Eric M. Burke, author Java and XSLT
http://www.oreilly.com/catalog/javanut3/chapter/ch04.html
The Java Platform -chapter from Java In a Nutshell, 3rd Edition
http://www.oreilly.com/catalog/jfcnut/chapter/ch03.html
Swing Programming Topics -chapter from Java Foundation Classes in a Nutshell
http://www.oreilly.com/catalog/jentnut/chapter/ch04.html
Java IDL -chapter from Java Enterprise in a Nutshell
http://www.oreilly.com/catalog/jenut2/chapter/ch19.html
XML -chapter from Java Examples in a Nutshell, 2nd Edition
http://www.oreilly.com/catalog/jservlet2/chapter/ch12.html
Enterprise Servlets and J2EE -chapter from Java Servlet Programming, 2nd Edition
http://www.oreilly.com/catalog/jservlet/chapter/ch03.html
The Servlet Life Cycle -chapter from Java Servlet Programming
http://www.oreilly.com/catalog/jserverpages/chapter/ch05.html
Generating Dynamic Content -chapter from JavaServer Pages
http://www.oreilly.com/catalog/javadc/chapter/ch03.html
Distributing Objects -chapter from Java Distributed Computing
http://www.oreilly.com/catalog/jthreads2/chapter/ch01.html
Java Distributed Computing -chapter from Java Threads, 2nd Edition
http://www.oreilly.com/catalog/javabeans/chapter/ch01.html
Introduction -chapter from Developing Java Beans
http://www.oreilly.com/catalog/javadata/chapter/ch04.html
Database Access Through JDBC -chapter from Database Programming with JDBC and Java
http://www.oreilly.com/catalog/javasec/chapter/ch01.html
Java Application Security -chapter from Java Security
http://www.oreilly.com/catalog/javacrypt/chapter/ch06.html
Authentication -chapter from Java Cryptography
http://www.oreilly.com/catalog/jswing/chapter/index.html
4 Free Chapters from Java Swing
http://www.oreilly.com/catalog/entjbeans2/chapter/ch04.html
Developing Your First Enterprise Beans -chapter from Enterprise JavaBeans, 2nd Edition
http://www.oreilly.com/catalog/javanp2/chapter/ch11.html
Sockets for Servers -chapter from Java Network Programming, 2nd Edition
http://www.oreilly.com/catalog/javaio/chapter/ch05.html
Network Streams -chapter from Java I/O
http://www.oreilly.com/catalog/java2d/chapter/ch04.html
Painting and Stroking - chapter from Java 2D Graphics
http://www.javasoft.com/docs/books/tutorial/index.html
Java指南- This is a practical guide for programmers with hundreds of complete, working examples. The Tutorial is organized into trails--groups of lessons on a particular subject.
http://chichi.snm.emu.id.au/~scott/java/servletdoc/
Java Servlet 文档
Chapter 1 - A Revisionist History of Programming - from Java Principles of Object-Oriented Programming
http://www.empowermentzone.com/thinkjav.zip
Java编程思想
http://www.empowermentzone.com/java_age.zip
使用VisualAge 编写Java 程序
http://www.empowermentzone.com/javatalk.zip
Java Speech API 开发者指南
http://www.empowermentzone.com/java_tut.zip
Sun Microsystems 的Java指南
http://www.empowermentzone.com/javahelp.zip
Collection of Java help files
http://www.empowermentzone.com/jdk11doc.zip
Java1.1 开发包完全开发文档
http://www.empowermentzone.com/java28dy.zip
28天自学Java
http://www.empowermentzone.com/java_use.zip
使用Java
http://www.kaposnet.hu/books/javabyexample/index.htm
http://screech.cs.alfred.edu/~fogelmdj/JavaBook/index.htm
Java例子by Clayton Walnum
http://www.kaposnet.hu/books/hackjava/index.htm
Java 专家解决方案by Mark Wutka
http://www.kaposnet.hu/books/javaunleashed/htm/toc.htm
Java 1.1??????by Macmillan Computer Publishing
http://www.kaposnet.hu/books/javabeans/index.htm
介绍 JavaBeans by Michael Morrison
http://www.kaposnet.hu/books/profiapplet/index.htm
开发专业的Java Applets by K.C. Hopson and Stephen E.Ingram
http://tango.ce.cctpu.edu.ru/java/JavaUnleashed/httoc.htm
Java ??????
http://tango.ce.cctpu.edu.ru/java/Internet%20Game%20Programming%20with%20Java/
Internet游戏???序21天自学通
http://freebooks.by.ru/view/JavaDevelopersGuide/index.htm
Java 开发手册
http://freebooks.by.ru/view/JavaQuickReference/ewtoc.html
Java 快速参考
http://linux.manas.kg/books/java_michael_morrison/
Java 第二版
http://linux.manas.kg/books/java_1.1/htm/toc.htm
Java 1.1 发布版
http://www.docs.rinet.ru:8080/langspec-1.0
Java 1.0 官方规范
http://www.docs.rinet.ru:8080/jdk1.0/api
JDK 1.0 手册
http://www.docs.rinet.ru:8080/Javalocale
Java Locale
http://www.docs.rinet.ru:8080/vmspec
Java虚拟机规范
http://www.docs.rinet.ru:8080/JavDev
Java 开发者手册
http://www.docs.rinet.ru:8080/Jintra
Intranet With Java
http://www.docs.rinet.ru:8080/UJ11
使用Java 1.1
http://www.docs.rinet.ru:8080/Marimba
Marimba
http://www.docs.rinet.ru:8080/OLDui/OLDui
使用java.awt 创建用户界面
http://www.docs.rinet.ru:8080/KofeynyyPrimer
Java 例子
http://www.docs.rinet.ru:8080/JSol
Java专家方案
http://www.docs.rinet.ru:8080/JWP
使用Java开发Web程序
http://www.docs.rinet.ru:8080/langenviron
Java语言环境
http://www.docs.rinet.ru:8080/Jtuta
Sun Microsystems 的Java手册
http://www.docs.rinet.ru:8080/jdk1.2/docs
JDK 1.2 手册
http://www.docs.rinet.ru:8080/codeconv
Java代码书写习惯
http://www.docs.rinet.ru:8080/WebApp
使用Java 创建Web Applet
http://www.docs.rinet.ru:8080/JaTricks
Java 技巧
http://www.docs.rinet.ru:8080/JavaBeans
介绍Java Beans
http://www.docs.rinet.ru:8080/SexJava
探索Java
http://www.dcs.napier.ac.uk/~bill/jbook.html
6章在线免费, 精通 Java
ftp://dl3.51soft.com:8384/jav028.zip
21天自学java (389 KB, html format) - This book teaches you all about the Java language and how to use it to create applets and applications. Here is another download.
ftp://dl3.51soft.com:8384/jav025.zip
介绍Java Beans (201KB, html format) (#695)
ftp://dl3.51soft.com:8384/jav007.zip
Java 开发者指南(1181 KB, html format)
tp://dl3.51soft.com:8384/jav008.zip
Java 开发者参考 (2574 KB, html format) (#699)
ftp://dl3.51soft.com:8384/jav006.zip
Java 例子 (3769 KB, html format) (#697)
ftp://dl3.51soft.com:8384/jav003.zip
开发专业Java Applets (1244 KB, html format) (#981)
ftp://dl3.51soft.com:8384/jav001.zip
使用Java创建Web Applet (4860 KB, html format) - We hope that this book will begin to show you what Java is and what Java is not.
ftp://dl3.51soft.com:8384/jav004.zip
使用 Java开发 Intranet应用程序 (1687 KB, html format) - After reading this book, you should have a good understanding of programming Java applications and how to apply that toward creating applications of your own.
ftp://dl3.51soft.com:8384/jav002.zip
???? Java??? Intranet??????? 1627 KB (#983)
http://www.nopayweb.com/computerbook/java.shtml
更多免费的在线书籍
Java常见问题:
Java FAQ (www-net.com)
JavaSoft FAQ Index
Java eZines:
Java World
Java Pro
Mining Company - Focus on Java
Java Developer's Journal
Java Report Online
NC World Archives
Servlet Central
Java Programming Standards:
Java Programming Standards (.rtf, 338 kb))
The JavaBeans 1.01 Specification
Enterprise JavaBeans Specifications
Code Conventions for the Java Programming Language
AmbySoft's. Java Coding Standards (pdf)
Java Documentation:
Java 2 SDK, Standard Edition Documentation - Version 1.3
Enterprise JavaBeans 2.0 Documentation
Enterprise JavaBeans 1.1 Documentation
JavaBeans API Definitions
Java 2 Platform, Standard Edition, v1.2.2 API Specification
Related Java APIs
面向对象:
Don't Fear the OOP
Techniques for Object Oriented Analysis and Design
The Essence of Object Oriented Programming
Object Oriented System Development (book)
Cetus Links - Object-Orientation
OOSE Articles
Object-Oriented Software Engineering Tutorials and Links
Object-Oriented Programming Concepts from Sun
Object-Oriented Information Sources - Teaching
Object-Oriented FAQ
Java 白皮书:
Java White Papers from Sun
Java 2 Technology White Papers from IBM
Scott Ambler's Online Writings
Javageeks.com White Papers
JBuilder and Java White Papers from Borland and more of same
ITworld.com White Papers and Analyst Reports Database: Search Results for Java
Wireless Java Presentations and Papers
Java Technology for Business Intelligence (free registration)
JavaBeans and EJB Primer
J2EE vs. Microsoft.NET - A comparison of building XML-based web services - In this whitepaper, we will make a powerful comparison between the two choices that businesses have for building XML-based web services.
Bean Connect: Using Java Objects To Implement Crossware Programs - Describes a new Java program model for creating crossware applications that support multiple Java objects running in the same execution space.
J2EE and JDBC: Foundations for Enterprise Computing (.pdf) - Explains how JDBC fits into an enterprise Java architecture.
Designing Performance-Optimized JDBC Applications (.pdf)- How to use various design and implementation methods so your JDBC applications run more efficiently and generate less network traffic. Includes code examples.
Does training influence the quality of the software development process? (Peer Publishing)
Stepping Up to Java 2, Enterprise Edition (Industry Articles)
The Essence of OOP using Java, Classes (Industry Articles)
The Essence of OOP Using Java, Objects, and Encapsulation (Industry Articles)
JTable (FAQs)
To EJB...or Not (Industry Articles)
Are There Limits to Software Estimation? (Industry Articles)
The Secure World of Tomcat 4 (Industry Articles)
Implementing Status Accounting (Peer Publishing)
Windows, Panes, and Frames (Vendor Papers)
作者Blog:http://blog.csdn.net/fasttalk/