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/