一個(gè)合格的軟件開發(fā)者,所需要學(xué)習(xí)的有哪些?
我個(gè)人只學(xué)了C語言,數(shù)據(jù)結(jié)構(gòu)。rnrn還有一點(diǎn)點(diǎn)的java基礎(chǔ),數(shù)據(jù)庫原理。rn但是我很迷惑,我想做一個(gè)很簡單的軟件,像掃雷,都不行。請問我的學(xué)習(xí)方式有錯(cuò)么。rn我的目的是達(dá)到軟件開發(fā),或者網(wǎng)頁制作,安卓應(yīng)用什么的。rn還有,C語言編程真正能做什么?怎樣制作網(wǎng)頁?用什么開發(fā)軟件制作?面向?qū)ο螅縂UI?asp?項(xiàng)目?去哪里接項(xiàng)目制作?這些詞匯太多了,我都搞不清楚學(xué)習(xí)的順序了。rn我是自學(xué),有時(shí)候碰到一些問題我會很迷茫,所以比較慢無目的。需要高人指點(diǎn)。rn需要看什么書,或者我該去做什么事。我也是學(xué)又想搞Java,然后又是asp。asp是.net的,Java中只有個(gè)JSP,是網(wǎng)頁。
這么說吧Java語言可以實(shí)現(xiàn)Javaweb就是網(wǎng)頁或者服務(wù)器端,然后是安卓開發(fā),是Java中的一個(gè)新方向延伸,不深究原理的話,比學(xué)Javaweb相對簡單一點(diǎn)。我是學(xué)Javaweb,個(gè)人感覺也不是很難。
.net就是你說的asp之類的了,這個(gè)我只學(xué)過一些窗體,做過一個(gè)酒店管理系統(tǒng)。方向不是這個(gè),所以我不說啥。
如果你想做項(xiàng)目,有點(diǎn)Java基礎(chǔ)的話可以做個(gè)出租車計(jì)價(jià)器或者年月日判斷輸出星期幾這樣的小玩意,有Javaweb基礎(chǔ)的話可以自己做一個(gè)項(xiàng)目了,比如最容易的圖書管理系統(tǒng)。你可以研究下數(shù)據(jù)庫,多接觸幾種尤其是oracle,研究下存儲過程,多表連接查詢之類的。研究網(wǎng)頁中的css樣式表和JS。研究面向?qū)ο缶幊趟枷搿D阏f的那本數(shù)據(jù)結(jié)構(gòu)挺不錯(cuò)的,里面有封裝,抽象之類的基礎(chǔ)概念,需要理解透徹。你沒有選擇一種語言來學(xué)嗎?
整個(gè)ACCP課程學(xué)習(xí)完成后,要求:
在開發(fā)技能上:
1. 核心技能:能夠參與到企業(yè)軟件開發(fā)項(xiàng)目的全部過程
2. 核心技能:運(yùn)用HTML/JavaScript/CSS技術(shù)實(shí)現(xiàn)標(biāo)準(zhǔn)、規(guī)范的客戶端靜態(tài)和動態(tài)效果
3. 核心技能:用JavaEE JSP/Servlet/JavaBean的結(jié)構(gòu)來實(shí)現(xiàn)MVC模式,把客戶的業(yè)務(wù)需求轉(zhuǎn)化為計(jì)算機(jī)中的Web應(yīng)用系統(tǒng)
4. 核心技能:基于Struts/Spring/Hibernate(SSH)集成框架技術(shù)開發(fā)多層企業(yè)級應(yīng)用
5. 核心技能:使用ASP.NET和組件技術(shù)開發(fā)和部署三層結(jié)構(gòu)的企業(yè)級應(yīng)用系統(tǒng)
6. 核心技能:在Java或者.NET環(huán)境中,能夠運(yùn)用Ajax提升客戶端效果、運(yùn)用WebService技術(shù)實(shí)現(xiàn)系統(tǒng)級調(diào)用
在職業(yè)素質(zhì)上:
1. 樹立正確的就業(yè)態(tài)度和良好的職業(yè)心態(tài)
2. 通過簡歷和面試推銷自己
3. 職業(yè)人必備素養(yǎng):職場禮儀、職場溝通和執(zhí)行力
能夠勝任的工作崗位包括:
Java(JavaEE)工程師
.NET軟件工程師
外包開發(fā)工程師
網(wǎng)站設(shè)計(jì)和開發(fā)工程師
數(shù)據(jù)庫工程師
ERP/CRM/OA/B2C開發(fā)應(yīng)用工程師
系統(tǒng)分析設(shè)計(jì)工程師
文檔工程師
歡迎追問
一個(gè)合格的軟件開發(fā)者,所需要學(xué)習(xí)的一部分有:
· 軟件工程
· SQL Server 高級應(yīng)用
· C#面向?qū)ο蟪绦蛟O(shè)計(jì)
· C#數(shù)據(jù)屬結(jié)構(gòu)與算法
· Windows 與WPF開發(fā)
· JavaScript與Jquery編程
· ASP.NET開發(fā)
· Oracle程序設(shè)計(jì)與開發(fā)
· UML 2.0
· 設(shè)計(jì)模式
· Java面向?qū)ο蟪绦蛟O(shè)計(jì)
· JSP 應(yīng)用開發(fā)
· JSP AJAX 框架
· JSP 綜合項(xiàng)目案例
· SSH與S2SH開發(fā)
· 軟件測試
· PHP程序設(shè)計(jì)與開發(fā)
軟件是一門技術(shù)行業(yè),熟能生巧,多寫多思考慢慢就好了
經(jīng)驗(yàn)跟實(shí)際
一個(gè)好的程序員至少應(yīng)該具備哪些條件?
樓上的幾位顯然誤會我的意思了,我并不是說不應(yīng)當(dāng)寫文檔加注釋注重團(tuán)隊(duì)精神,看看下面的一篇文章,那位三天就寫出UNIX的他需要寫文檔注釋和團(tuán)隊(duì)精神嗎,他用不著。哪個(gè)高手沒有一點(diǎn)傲氣和自信,他之所以敢對用戶說:拿到你想要的,然后滾蛋,你已經(jīng)很幸運(yùn)了!是因?yàn)樗羞@個(gè)資本。天才本就不循規(guī)蹈矩,那樣他就不叫天才了。
MIT BBS上說微軟電話面試的一道題就是“Who do you think is the best coder,
and why?”。我覺得挺有意思的,也來湊個(gè)熱鬧。排名不分先后。
Bill Joy, 前任Sun的首席科學(xué)家,當(dāng)年在Berkeley時(shí)主持開發(fā)了最早版本的BSD。他還
是vi和csh的作者。當(dāng)然,Csh Programming Considered Harmful 是另一個(gè)話題樂。據(jù)
說他想看看自己能不能寫個(gè)操作系統(tǒng),就在三天里寫了個(gè)自己的Unix, 也就是BSD的前
身。當(dāng)然是傳說了,但足見他的功力。另一個(gè)傳說是,1980年初的時(shí)候,DARPA讓BBN在
Berkley Unix里加上BBN開發(fā)的TCP/IP代碼。但當(dāng)時(shí)還是研究生的B伯伯怒了,拒絕把BBN
TCP/IP加入BSD,因?yàn)樗X得BBN的TCP/IP寫得不好。于是B伯伯出手了,端的是一箭封
喉,很快就寫出了高性能的伯克利版TCP/IP。當(dāng)時(shí) BBN和DARPA簽了巨額合同開發(fā)TCP/IP
Stack,誰知他們的代碼還不如一個(gè)研究生的好。于是他們開會。只見當(dāng)時(shí)B伯伯穿
個(gè)T-shirt出現(xiàn)在會議室(當(dāng)時(shí)穿T-shirt不象現(xiàn)在,還是相當(dāng)散漫的哈)。只見BBN問:你
怎么寫出來的?而B伯伯答:簡單,你讀協(xié)議,然后編程就行了。最令偶暈倒的是,B伯
伯碩士畢業(yè)后決定到工業(yè)界發(fā)展,于是就到了當(dāng)時(shí)只有一間辦公室的Sun, 然后他就把
Sparc設(shè)計(jì)出來樂。。。象這種軟硬通吃的牛人,想不佩服都不行的說。據(jù)Bill Joy的同
事說,一般開會的時(shí)候B伯伯總是拿一堆雜志漫不經(jīng)心地讀。但往往在關(guān)鍵之處,B伯伯
發(fā)言,直切要害,提出漂亮的構(gòu)想,讓同事們徹底崩潰。對了,他還是Java Spec和JINI
的主要作者之一。
John Carmack,ID Software的founder和Lead Programmer。上個(gè)月和一個(gè)搞圖形的師兄
聊天,他竟然不知道John Carmack, 也讓偶大大地暈了一把。不過也許搞研究的和搞實(shí)
戰(zhàn)的多少有些隔吧。想必喜歡第一人稱射擊游戲的都知道J哥哥。90年代初只要能在PC
上搞個(gè)小動畫都能讓人驚嘆一番的時(shí)候,J哥哥就推出了石破天驚的Castle Wolfstein,
然后再接再勵(lì),doom, doomII, Quake...每次都把3-D技術(shù)推到極限。J哥哥的簡歷上說
自己的專長是"Exhaust 3-D technology",真是牛人之言不我欺的說。做J哥哥這樣的人
是很幸福的,因?yàn)楦鞔髨D形卡廠家一有了新產(chǎn)品就要向他“進(jìn)貢"
,不然如果他的游戲不支持哪種卡,哪種卡基本就會夭折樂。當(dāng)初MS的Direct3D也得聽
取他的意見,修改了不少API。當(dāng)然,J哥哥在結(jié)婚前十?dāng)?shù)年如一日地每天編程14小時(shí)以
上,也是偶們凡人望塵莫及的。對了,J哥哥高中肆業(yè)(?),可以說是自學(xué)成才。不過
呢,誰要用這個(gè)例子來為自己學(xué)習(xí)不好辯護(hù),就大錯(cuò)特錯(cuò)了。那 Leonardo Da Vinci還
是自學(xué)成才呢(人是私生子,不能上學(xué))。普通人和天才還是有區(qū)別的。對了,其實(shí)偶們
叫“達(dá)分奇”是相當(dāng)不對的,因?yàn)閂inci是地名,而Da Vinci就是從Vinci來的人的意
思。換句話說,Leonardo Da Vinci就是“從Vinci來的Leonardo”的意思。叫別
人“Da Vinci”就不知所謂樂。嗯,扯遠(yuǎn)了,打住。
David Cutler,VMS和Windows NT的首席設(shè)計(jì)師,去微軟前號稱硅谷最牛的kernel開發(fā)
員。當(dāng)初他和他的手下在微軟一周內(nèi)把一個(gè)具備基本功能的bootable kernel寫出來,然
后說:“who can't write an OS in a week?",也是牛氣沖天的說。順便說一句,D爺
爺?shù)絅T3.5時(shí),管理1500名開發(fā)員,自己還兼做設(shè)計(jì)和編程,不改coder本色啊。
D爺爺天生脾氣火爆,和人爭論時(shí)喜歡雙手猛擊桌子以壯聲勢。 日常交談fuck不離口。
他面試秘書時(shí)必問:"what do you think of the word 'fuck'?" ,讓無數(shù)美女剎羽而
歸。終于有一天,一個(gè)同樣火爆的女面對這個(gè)問題脫口而出:"That's my favorite
word"。于是她被錄取樂,為D爺爺工作到NT3.5發(fā)布。
Don Knuth。高爺爺其實(shí)用不著偶多說。學(xué)編程的不知道他就好像學(xué)物理的不知道牛頓,
學(xué)數(shù)學(xué)的不知道歐拉,學(xué)音樂的不知道莫扎特,學(xué)Delphi的不知到 Anders Hejlsberg,
或者學(xué)Linux不知道Linus Torvalds一樣,不可原諒啊。為了讓文章完整,就再羅唆幾句
吧。高爺爺本科時(shí)就開始給行行色色的公司寫各種稀奇古怪的編譯器掙外快了。他賣給別
人時(shí)收一兩千美元,那些公司拿了code,加工一下賣出去就是上萬上十萬。不過也沒見高
爺爺不爽過,學(xué)者本色的說。想想那可是60年代初啊,高爺爺寫編譯器寫多了,順帶就搞
出了個(gè) Attribute Grammar和LR(k),大大地造福后人啊。至于高爺爺在CalTech的編程比
賽(有Alan Kay得眾多高高手參加)總是第一,寫的Tex到86年就code freeze,還附帶2^n
美分獎(jiǎng)勵(lì)等等都是耳熟能詳?shù)模季筒火埳鄻贰?
順便說一下,高老大爺是無可爭議的寫作高手。他給Concrete Mathematics 寫的前言可
謂字字鏗鏘,堪為前言的典范。他的技術(shù)文章也是一絕,文風(fēng)細(xì)致,解釋精當(dāng),而且沒
有學(xué)究氣,不失輕快跳脫。記得幾年前讀Concrete Mathemathics,時(shí)不時(shí)開懷大笑,讓
老媽極其郁悶,覺得我nerdy到家,不可救藥。其實(shí)呢,子非魚,安知魚之樂,更不知那
完全是高爺爺?shù)墓凇Uf到寫作高手,不能不提Stephen A. Cook。他的文章當(dāng)年就被我
們的寫作老師極力推薦,號稱典雅文風(fēng)的樣本。庫爺爺一頭銀發(fā),身材頎長,總是面帶
謙和的微笑,頗有仙風(fēng)道骨,正好和他的仙文相配的說。
高爺爺其實(shí)還是開源運(yùn)動的先驅(qū)。雖然他沒有象Richard Stallman那樣八方奔走,但他
捐獻(xiàn)了好多作品,都可以在網(wǎng)上看到,比如著名的Mathematical Writing,MMIXWare,
The Tex Book等,更不用說足以讓他流芳百世的Tex樂。
Ken Thompson,C語言前身B語言的作者,Unix的發(fā)明人之一(另一個(gè)是Dennis M. Riche
老大,被尊為DMR),Belle(一個(gè)厲害的國際象棋程序)的作者之一, 操作系統(tǒng)Plan 9的主
要作者(另一個(gè)是大牛人Rob Pike,
前不久被google挖走了)。Ken爺爺也算是計(jì)算機(jī)歷史上開天辟地的人物了。1969年還是
計(jì)算機(jī)史前時(shí)代,普通人都認(rèn)為只有大型機(jī)才能運(yùn)行通用的操作系統(tǒng),小型機(jī)只有高山
仰止的份兒。至于用高級語言來寫操作系統(tǒng),更是笑談。Ken爺爺自然不是池中物,于是
他和DMR怒了,在1969年到1970間用匯編在PDP-7上寫出了UNIX的第一個(gè)版本。他們并不
知道,一場轟轟烈烈的UNIX傳奇由此拉開了序幕。Ken爺爺在1971年又把Unix用C重寫,
于是C在隨后20年成就了不知多少豪杰的夢想和光榮。
Ken爺爺還有段佳話: 裝了UNIX的PDP-11最早被安裝在Bell Lab里供大家日常使用。很
快大家就發(fā)現(xiàn)Ken爺爺總能進(jìn)入他們的帳戶,獲得最高權(quán)限。Bell
Lab里的科學(xué)家都心比天高,當(dāng)然被搞得郁悶無比。于是有高手怒了,跳出來分析了UNIX
代碼,找到后門,修改代碼,然后重新編譯了整個(gè)UNIX。就在大家都以為“這個(gè)世界清
凈了”的時(shí)候,他們發(fā)現(xiàn)Ken爺爺還是輕而易舉地拿到他們的帳戶權(quán)限,百思不解后,只
好繼續(xù)郁悶。誰知道這一郁悶,就郁悶了14年,直到Ken爺爺?shù)莱鰝€(gè)中緣由。原來,代碼
里的確有后門,但后門不在Unix代碼里,而在編譯Unix代碼的C編譯器里。每次C編譯器
編譯UNIX的代碼,就自動生成后門代碼。而整個(gè)Bell Lab的人,都是用Ken爺爺?shù)腃編譯
器。
(6)Rob Pike, AT&T Bell Lab前Member of Technical Staff ,現(xiàn)在google研究操作系
統(tǒng) 。羅伯伯是Unix的先驅(qū),是貝爾實(shí)驗(yàn)室最早和Ken Thompson以及Dennis M. Ritche開
發(fā) Unix的猛人,UTF-8的設(shè)計(jì)人。他還在美國名嘴David
Letterman的晚間節(jié)目上露了一小臉,一臉憨厚地幫一胖子吹牛搞怪。讓偶佩服不已的
是,羅伯伯還是1980年奧運(yùn)會射箭的銀牌得主。他還是個(gè)頗為厲害的業(yè)余天文學(xué)家,設(shè)
計(jì)的珈瑪射線望遠(yuǎn)鏡差點(diǎn)被NASA用在航天飛機(jī)上。他還是兩本經(jīng)典,The Unix
Programming Environment 和 The Practice of Programming 的作者之一。如果初學(xué)者
想在編程方面精益求精,實(shí)在該好好讀讀這兩本書。它們都有中文版的說。羅伯伯還寫
出了Unix下第一個(gè)基于位圖的窗口系統(tǒng),并且是著名的blit終端的作者。當(dāng)然了,羅伯
伯還是號稱銳意革新的操作系統(tǒng),Plan9,的主要作者。可惜的是,Plan9并沒有引起多
少人的注意。羅伯伯一怒之下,寫出了振聾發(fā)聵的雄文 Systems Software Research is
Irrelevant,痛斥當(dāng)下系統(tǒng)開發(fā)的不思進(jìn)取,固步自封的弊病。雖然這篇文章是羅伯伯
含忿出手,頗有偏激之詞,但確實(shí)道出了系統(tǒng)開發(fā)的無奈:開發(fā)周期越來越長,代價(jià)越
來越大,用戶被統(tǒng)一到少數(shù)幾個(gè)系統(tǒng)上,結(jié)果越來越多的活動是測量和修補(bǔ),而真正的
革新越來越少。
就在羅伯伯郁悶之極的時(shí)候,google登門求賢來樂。如果說現(xiàn)在還有一家大眾公司在不
遺余力地把系統(tǒng)開發(fā)推向極致的話,也就是google樂。隨便看看google的成果就知道
了。具有超強(qiáng)容錯(cuò)和負(fù)載平衡能力的分布式文件系統(tǒng)GFS
(現(xiàn)在能夠用100,000臺廉價(jià)PC搭起一個(gè)巨型分布系統(tǒng),并且高效便宜地進(jìn)行管理的系統(tǒng)
也不多哈),大規(guī)模機(jī)器學(xué)習(xí)系統(tǒng)(拼寫檢查,廣告匹配,拼音搜尋。。。哪個(gè)都很牛的
說),更不用說處理海量并行計(jì)算的各式google服務(wù)了。Rob在System Software
Research is Irrelevant里蕭瑟地說現(xiàn)在沒有人再關(guān)心系統(tǒng)研究的前沿成果了。想不到
他錯(cuò)了,應(yīng)為google關(guān)心。google網(wǎng)絡(luò)了大批功成總是試圖吸取系統(tǒng)研究的最新成果。
想必Rob Pike在google很幸福。愿他做出更棒的系統(tǒng)。
Dennis M. Ritchie, 既然Ken Thompson是我的偶像,新聞組上人稱DMR的Dennis M.
Ritchie自然也是,畢竟兩人共同締造了UNIX,而Dennis幾乎獨(dú)力把C搞大(當(dāng)然,C的前
身是B,而B是Ken Thompson一手做出來的)。兩人1983年分享圖靈獎(jiǎng),是有史以來少數(shù)幾
個(gè)因工程項(xiàng)目得獎(jiǎng)的工程師(本來是唯一的一對兒,但Alan Kay才因?yàn)镾mallTalk得獎(jiǎng),
所以就成了唯二的樂) 一個(gè)人一生能做出一個(gè)卓越的系統(tǒng)已經(jīng)不易,DMR的C和UNIX長盛
不衰近30年,至今生機(jī)勃勃,DMR此生可以無憾的說。
D爺爺也算有家學(xué)淵源:他老爸在AT&T貝爾實(shí)驗(yàn)室工作了一輩子,并在電路設(shè)計(jì)方面卓有
成就,還出了本頗有影響的書The Design of Switching Circuits,據(jù)說在交換理論和
邏輯設(shè)計(jì)方面有獨(dú)到的論述。當(dāng)然,D爺爺和他老爸是不同時(shí)代的人:他老爸的研究成
形于晶體管發(fā)明之前,而D爺爺?shù)墓ぷ麟x了晶體管就玩兒不轉(zhuǎn)樂。:-D
不要看D爺爺搞出了C,其實(shí)他最愛的編程語言是Alef,在Plan9上運(yùn)行,支持并行編程。
Alef的語法和C相似,但數(shù)據(jù)類型和執(zhí)行方式都和C大大不同。說到語言,D爺爺對后來
人有非常中肯的建議:抱著學(xué)習(xí)的目的來開發(fā)你自己的語言,不要冀望于它被眾人接
受。這個(gè)建議不光對語言開發(fā)有用,也適用于其它大型系統(tǒng)的開發(fā)。別的不說,DMR后來
領(lǐng)導(dǎo)自己的團(tuán)隊(duì)在1995年和1996分別推出了Plan9和Inferno操作系統(tǒng),又用多少人知道
呢?其實(shí),D爺爺當(dāng)初也沒想過C會風(fēng)行世界。他開發(fā)C的初衷和Eric S. Raymond
在Cathedral and Bazaar里闡述的一樣,就是要消除自己對現(xiàn)有工具的不爽之處。誰
知D爺爺無心插柳,C竟然受到眾多程序員的狂熱擁戴,連D爺爺自己都大惑不解。在一次
采訪中D爺爺說大概那是因?yàn)镃的抽象程度碰巧既滿足了程序員的要求, 又容易實(shí)現(xiàn)。當(dāng)
然C一度是Unix上的通用語言也是原因。但不管怎么說,D爺爺對編程語言出色的審美意
識奠定了C廣為流傳的基礎(chǔ)。
最后八卦一下。D爺爺?shù)臉I(yè)余愛好和NBA大牛Karl Malone一樣:開卡車。不過D爺爺更喜
歡開NASCAR,而KM獨(dú)愛巨無霸。J D爺爺自稱心中不供偶像,如果一定要說一個(gè),那就
是Ken Thompson了。現(xiàn)在Ken爺爺退休當(dāng)飛機(jī)教練去了,而D爺爺當(dāng)了貝爾實(shí)驗(yàn)室系統(tǒng)開
發(fā)部的頭,整日忙于開支票。他倆合作20年,屢屢創(chuàng)造歷史。這段令人神往的佳話,也
就長留你我心中樂。
P.S., 很多人都以為Brian W. Kernighan是C的作者。其實(shí)BWK只是寫了那本經(jīng)典K&R C。
據(jù)D爺爺說,他,Ken, 和Kernighan三人中,Kernighan最能寫文章,他次之,而Ken寫
得最少;但說到編程,Ken爺爺才是當(dāng)之無愧的老大。
Edsger Wybe Dijkstra, 對,就是E.W. Dijkstra. 一提到EWD,很多人就會想起找最短
路徑的Dijkstra Algorithm,就好像一提到Sir. Tony Hoare,就想起Quick Sort一樣。
其實(shí)這些個(gè)算法不過是兩個(gè)牛人在他們職業(yè)生涯中最瑣碎的貢獻(xiàn)。比如Dijkstra算法,
無非是戴爺爺在1956年為了展示新計(jì)算機(jī)
ARMAC的計(jì)算能力,初試身手的成果,屬于他的算法處女作。據(jù)戴爺爺自述,他搞出最
短路徑算法的時(shí)候連紙筆都沒用。當(dāng)時(shí)他和他老婆在阿姆斯特丹一家咖啡廳的陽臺上曬
太陽喝咖啡,突然就把這個(gè)算法想出來樂。而且當(dāng)時(shí)的算法研究還比較原始,牛人們忙
著用計(jì)算機(jī)搞數(shù)值計(jì)算,對離散算法不屑一顧。那時(shí)連一個(gè)象樣的專注于離散算法的專
業(yè)期刊都沒有。戴爺爺于是推遲發(fā)表這個(gè)算法。直到1959年,他才把這個(gè)算法發(fā)表
在Numerische Mathematik的創(chuàng)刊號上,權(quán)為捧場。:-)
EWD在多個(gè)領(lǐng)域牛氣沖天,端的是理論和編程兩手硬的高手。只不過他的很多工作比較
深刻,學(xué)校的老先生們覺得本科生接受不了,不給本科生講而已。
戴爺爺大概因?yàn)樽疃搪窂剿惴ㄒ粦?zhàn)成名,于是有人請他參加另一臺計(jì)算機(jī)X1的設(shè)計(jì)工
作,并且把設(shè)計(jì)實(shí)時(shí)中斷系統(tǒng)的任務(wù)派給了他。現(xiàn)在看來實(shí)時(shí)中斷也許不算什么,但要
知到,X1前根本就沒有實(shí)時(shí)中斷的概念。實(shí)現(xiàn)它簡直就是一場豪賭。戴爺爺起初還不情
愿,但經(jīng)不住項(xiàng)目負(fù)責(zé)人Bram和Carel的輪番 “吹捧”:我們知道實(shí)時(shí)中斷讓您工作變
得非常困難,但象您這樣的牛人肯定能做出來的說。結(jié)果戴爺爺被糖衣炮彈徹底擊穿,
接下了這個(gè)燙手山芋。兩三年后,他不僅搞出了實(shí)時(shí)中斷,還圍繞這個(gè)寫出了自己的博
士論文,順利戴上博士帽。
讓戴爺爺真正成名立萬的還是在X1上開發(fā)的Algo60,最早的高級語言之一。戴爺爺沒日
沒夜地工作了8個(gè)月,就搞出了Algo60,也因此獲得了 1972年的圖靈獎(jiǎng)。因?yàn)锳lgo60,
戴爺爺發(fā)表了一篇石破天驚的文章:Recursive
Programming,于是人們才知道,原來高級語言也可以高效地實(shí)現(xiàn)遞歸,原來從此以后,
所有程序員都不可避免地和戴爺爺發(fā)明的一個(gè)詞(應(yīng)該說是概念)打交道:堆棧。
而且Algo60還讓戴爺爺深入地思考多道程序設(shè)計(jì)的問題,最終發(fā)明了每個(gè)系統(tǒng)程序員
都繞不開的概念:semaphore。當(dāng)然,戴爺爺總是把他發(fā)明的概念嚴(yán)格形式化,極具科
學(xué)家本色的說。和這些成就想比,他提出的吃飯的哲學(xué)家問題,也就沒什么好說的了。
說來好笑,當(dāng)時(shí)的大學(xué)(忘了哪所了)還是覺得戴爺爺沒有受過正統(tǒng)的數(shù)學(xué)訓(xùn)練,也不是
專門搞數(shù)值分析的,所以最后不太情愿地給了他一個(gè)教職。這種小挫折并不能妨礙象戴
爺爺這樣的牛人創(chuàng)造歷史。他一邊教數(shù)值分析(:-D) ,一邊開始開發(fā)一個(gè)新的操作系
統(tǒng),并培養(yǎng)計(jì)算機(jī)科學(xué)家。幾年后,THE Multiprogramming
System橫空出世。THE是第一個(gè)支持松散耦合,顯式同步的進(jìn)程并由此使得嚴(yán)格證明系統(tǒng)
沒有死鎖變得容易的操作系統(tǒng)。可惜戴爺爺任職的系不識貨,還強(qiáng)行解散了他的研究小
組(1972年戴爺爺給他的系主任說他得了圖靈獎(jiǎng),系主任的第一反應(yīng)是你們搞計(jì)算機(jī)就
喜歡亂發(fā)獎(jiǎng))。這讓戴爺爺相當(dāng)郁悶,得了抑郁癥。在極度郁悶之中,戴爺爺決定用寫作
來治療自己的抑郁癥。于是經(jīng)典就誕生樂:Notes on Structured Programming。戴爺爺
從此被尊為結(jié)構(gòu)化編程的奠基人,而且他的抑郁癥也被治好樂。
EWD太牛,結(jié)果他的故事也太多。先到這里吧。1973起,他的故事就在美國發(fā)生了。
Anders Hejlsberg,微軟.NET的首席架構(gòu)師,編程語言設(shè)計(jì)和實(shí)現(xiàn)的頂尖高手。他一手
做出了 Turbo Pascal, 也是Delphi, J++(尤其是WFC),C#, 和.NET的主要作者。這些作
品的名字足以為他立傳。作為一個(gè)程序員,我在這樣的大師面前實(shí)在無語。生子當(dāng)
如Anders的說。李維的<>里已詳細(xì)講述了Anders的傳奇故事,我就不用費(fèi)舌了:
http: //java.mblogger.cn/iexploiter/posts/1505.aspx
Artima上有Anders談C#的系列訪談。MSDN上有一段Anders導(dǎo)游的錄像 。有興趣可以去看
看牛人的豐采。
真正的程序員就是天才,因?yàn)橹挥刑觳挪拍苓_(dá)到本文這樣的水平。 ——引用
那你是不是天才?以上羅列的你能做到幾條?做不到?做不到就別在這里放P,誤導(dǎo)別人。
一條一條來講:
* Real Programmers dont write specs -- users should consider themselves lucky to get any programs at all and take what they get.
真正的程序員不循規(guī)蹈矩,他們對用戶說:拿到你想要的,然后滾蛋,你已經(jīng)很幸運(yùn)了!
你去超市買個(gè)面包,結(jié)果面包很難看,店員和你說:拿到你想要的,然后滾蛋,你已經(jīng)很幸運(yùn)了!
請問一下你此時(shí)的感想
* Real Programmers dont comment their code. If it was hard to write, it should be hard to understand and even harder to modify.
真正的程序員不寫注釋。難寫的程序天生難以理解、難以修改。
我寫一段20000行的代碼,不寫注釋,邏輯很簡單,就是把10000個(gè)變量來會賦值,你能看一眼就告訴我最后結(jié)果是多少的話,那我就承認(rèn)這條。
Real Programmers dont write application programs; they program right down on the bare metal. Application programming is for feebs who cant do systems programming.
真正的程序員不寫應(yīng)用程序。他們愛白手起家。只有不懂寫系統(tǒng)程序的軟弱者才寫應(yīng)用程序。
相信看過此篇大論的老板,沒有一個(gè)會把一個(gè)系統(tǒng)去交給這樣的程序員去寫。
* Real Programmers dont eat quiche. In fact, real programmers dont know how to SPELL quiche. They eat Twinkies, and Szechwan food.
真正的程序員不吃蛋卷。他們根本不屑也不懂拼“quiche(蛋卷)”這個(gè)詞。 他們吃twinkies和四川菜。 注:twinkies可能是某種用兩片面包片夾著的食物。
不知道你覺得這句話和一個(gè)真正程序員是否有關(guān)?如果你覺得有的話,恕小弟不才,解釋一下來。
* Real Programmers dont write in COBOL. COBOL is for wimpy applications programmers.
真正的程序員不用cobol寫程序。cobol是讓膽小鬼用的。
那請問真正的程序員用什么來寫程序?
* Real Programmers programs never work right the first time. But if you throw them on the machine they can be patched into working in "only a few" 30-hour debugging sessions.
真正的程序員總愛留些臭蟲。只有將他扔回電腦旁,他才肯低頭。他們只需幾次就能調(diào)試好程序,但每次“只”需要30小時(shí)。
可能你的中文學(xué)的不是很好,你完全沒有能好好的理解“天才”這個(gè)詞所包含的意思,你不覺得你在自相矛盾嘛?
* Real Programmers dont write in FORTRAN. FORTRAN is for pipe stress freaks and crystallography weenies.
真正的程序員不用fortran寫程序。fortran是讓科學(xué)怪人用的。
還是想請教一下所謂真正程序員用什么來寫程序?
* Real Programmers never work 9 to 5. If any real programmers are around at 9 AM, its because they were up all night.
真正的程序員不朝九晚五。如果你在早上見到一個(gè)象盲流一樣的程序員, 那是因?yàn)樗砉ぷ鳌?
如果說每天朝九晚五,還能寫出效率高,無bug的程序,那么我想告訴你,現(xiàn)在是9:33AM,你該醒醒了。
* Real Programmers dont write in BASIC. Actually, no programmers write in BASIC, after the age of 12.
真正的程序員絕不用basic。如果你只有十二歲,你只管用, 你真的只有十二歲?!!
類似的語句目前為止提出了3條,可以作為一個(gè)模版來用了。
* Real Programmers dont write in PL/I. PL/I is for programmers who cant decide whether to write in COBOL or FORTRAN.
真正的程序員不用PL/I。如果你竟在用cobol還是用fortran上猶豫, 那你干脆做個(gè)徹底的笨蛋算了--用PL/I吧!
既然你說不出的話,就別浪費(fèi)行數(shù),留給有自己思路的人來寫。以下的內(nèi)容里會屏蔽此類話題。
* Real Programmers dont play tennis, or any other sport that requires you to change clothes. Mountain climbing is OK, and real programmers wear their climbing boots to work in case a mountain should suddenly spring up in the middle of the machine room.
真正的程序員不玩需要換裝的運(yùn)動,比如網(wǎng)球。 登山是最好的了,他們工作時(shí)總穿著登山鞋,而且他們覺得會有一座山在機(jī)房中央隆起,然后他們就能方便地爬上去。
這段話很有趣,請大家記一下,下文中會出現(xiàn)作者自掘墳?zāi)沟膱鼍啊?br />
* Real Programmers dont document. Documentation is for simps who cant read the listings or the object deck.
真正的程序員不寫文檔。文檔是讓看不懂源程序的笨人準(zhǔn)備的,而他們不喜歡笨人。
不知道閣下是否聽說過維護(hù)這個(gè)詞,如果說我搞得到XP源代碼的話,真希望把里面注釋之類的東西全部刪掉,然后給你來開發(fā)個(gè)XXP,當(dāng)然,按照你的要求是不給你文檔的,只進(jìn)行口述。
* Real Programmers only write specs for languages that might run on future hardware. Noboby trusts them to write specs for anything homo sapiens will ever be able to fit on a single planet.
真正的程序員只為未來機(jī)器上用的語言寫標(biāo)準(zhǔn)。鬼才會相信有哪個(gè)星球會用他們的標(biāo)準(zhǔn)。
我記得標(biāo)準(zhǔn)之類的東西,似乎不是程序員的范疇。
* Real Programmers spend 70\% of their work day fiddling around and then get more done in the other 30\% than a user could get done in a week.
真正的程序員花70%的時(shí)間無事生非,然后用剩余的時(shí)間完成別人要一個(gè)星期才干完的事。
我相信一個(gè)合格的程序員就不會去把那么多時(shí)間浪費(fèi)在無事生非上。
* Real Programmers are surprised when the odometers in their cars dont turn from 99999 to 9999A.
真正的程序員很詫異于他們小車上的里程表不會從99999跳到9999A。
其實(shí)一個(gè)網(wǎng)絡(luò)游戲發(fā)燒友也會把游戲里面的一些術(shù)語和道具用到現(xiàn)實(shí)中來,只能證明他在這行干了很久,如果連現(xiàn)在處在哪個(gè)世界都分不清的話,我很懷疑這個(gè)人是否適合做程序員。
* Real Programmers are concerned with the aesthetics of their craft; they will writhe in pain at shabby workmanship in a piece of code.
真正的程序員很關(guān)心他們寫的代碼的藝術(shù)性。一小段蹩腳的代碼都會讓他們寢食不安。
這段話我倒是贊同的,誰都想寫出精簡,重用性高,可讀性強(qiáng),性能好的代碼。
* Real Programmers will defend to the death the virtues of a certain piece of
peripheral equipment, especially their lifeline, the terminal.
真正的程序員會捍衛(wèi)他們的生命線--網(wǎng)絡(luò)。
這只能說明他可能是一個(gè)超級網(wǎng)蟲。
* Real Programmers never use hard copy terminals, they never use terminals that run at less than 9600 baud, they never use a terminal at less than its maximum practical speed.
真正的程序員從不用慢modem。他們不用低于9600bps的modem,事實(shí)上, 他們不用任何低于極限速度的modem。
同上
* Real Programmers think they know the answers to your problems, and will happily tell them to you rather than answer your questions.
真正的程序員知道你所遇到的問題,他們不會等你發(fā)問。
我不知道你所謂的真正的程序員是否那么空,沒是去看著別人的屏幕,幫人家找錯(cuò)。
* Real Programmers wear hiking boots only when its much too cold to wear sandals. When its only too cold, they wear socks with their sandals.
真正的程序員愛穿涼鞋,就算天氣變冷,他們也只是再穿上襪子而已。 只有寒風(fēng)徹骨時(shí),他們才會換上跑鞋。
不知道是否有人記得剛才讓大家記住的那段話,一會兒說喜歡穿登山鞋,一會兒說愛穿涼鞋,第2次自相矛盾了。
* Real Programmers dont think that they should get paid at all for their work, but they know that theyre worth every penny that they do make.
真正的程序員并不奢求取得每一分該得的錢,但任何拿到手的錢都問心無愧。
在國外可能會有這種現(xiàn)象,但是國內(nèi)么,大家摸摸良心就知道了。
* Real Programmers log in first thing in the morning, last thing before they go to sleep, and stay logged in for lots of time in between.
真正的程序員每天只需記錄起床后的第一件事和睡覺前的最后一件事, 之間的一切照套模板即可。
那只能說明他是個(gè)枯燥無趣的程序員。
* Real programmers dont draw flowcharts. Flowcharts are after all, the illerates form of documentation.
真正的程序員不畫流程圖。流程圖是文盲寫的文檔。
這個(gè)問題上面討論過了,不再浪費(fèi)唇舌了。
* Real Programmers dont read manuals. Reliance on a reference is the hallmark of a novice and a coward.
真正的程序員不看使用指南。只有初學(xué)者和膽小鬼會百分百相信手冊。
如果這本使用指南是你寫的,那你可以不必去看,如果不是,那請你吹牛前打打草稿。
* Real Programmers dont write in FORTRAN. FORTRAN is for wimpy engineers who wear white socks. The get excited over finite state analysis and nuclear reactor simulations.
真正的程序員不寫fortran程序。fortran是讓畏縮的白領(lǐng)工程師用的。 那些人只鐘情于有限的狀態(tài)分析和核反應(yīng)堆模擬。
不知道發(fā)貼的那位是否現(xiàn)在在模擬核反應(yīng)堆?在研究的話還這么空來發(fā)個(gè)貼子???
* Real Programmers scorn floating point arithmetic. The decimal point was invented for pansy bedwetters who are unable to think big.
真正的程序員鄙視浮點(diǎn)運(yùn)算。十進(jìn)制是為蠢人而發(fā)明的。
請問1+1=?答不出來?連蠢人都不如。
* Real Programmers dont like the team programming concept. Unless, of course, they are the Chief Programmer.
真正的程序員不愛與人合作,除非自已是主程序員。
沒合作,沒交流,你讓他去踢足球,一個(gè)人對11個(gè)人。不行?哦,你也知道不行啊?
* Real Programmers have no use for managers. Managers are sometimes a necessary evil. Managers are good for dealing with personnel bozos, bean counters, senior planners and other mental defectives.
真正的程序員對經(jīng)理來說一無用處。但經(jīng)理卻是不可或缺的魔鬼。經(jīng)理能擺平那些有心智缺陷的人,比如那些資深的策劃者(他們很愛“教導(dǎo)”程序員們)。
該公司就4個(gè)人:經(jīng)理,資深策劃者,“真正的程序員”,程序員
* Real programmers ignore schedules.
真正的程序員不按日程表辦事。
如果他去旅游,估計(jì)會因非法滯留被遣送回國。
* Real Programmers dont bring brown bag lunches to work. If the vending machine sells it, they eat it. If the vending machine doesnt sell it, they dont eat it.
真正的程序員不帶午餐上班。有得吃就吃,沒得吃就餓著。
是程序員都這樣,大概除了你吧。
* Real Programmers think better when playing Adventure or Rogue.
真正的程序員在冒險(xiǎn)和滋事時(shí)腦子最聰明。
平時(shí)就是塊廢鐵?那叫真正的程序員?
* Real Programmers use C since its the easiest language to spell.
真正的程序員用C,因?yàn)镃是最容易拼的語言,只有一個(gè)字母。
額。。不知道怎么說你。。。“C是最容易拼的語言,只有一個(gè)字母。”這能作為理由?
* Real Programmers dont use symbolic debuggers, who needs symbols.
真正的程序員不用符號化的調(diào)試器,因?yàn)樗剐枰枴?
這句話不太理解,不做評論。
* Real Programmers only curse at inanimate objects.
真正的程序員只詛咒死氣沉沉的東西。
看完這張貼子,我反而覺得所謂的“真正的程序員”死氣沉沉。
世上本無好壞,樓上在胡說。
真有上面的程序員老板早就炒了他了。回
程序員本身的水平可以不用很答高,但是一定要有團(tuán)隊(duì)合作的精神。
我沒有罵你,只不過作為程序員我實(shí)在看不下去了。什么3年前后都不能當(dāng)程序員的鬼話,相信也沒有人聽。拿些洋文證明自己說的是對的?告訴你真正的程序員從來不會關(guān)注這些屁話的,這個(gè)“真正的程序員”我們早就看過了,只不過是老外拿來戲謔程序員的話,你還當(dāng)寶獻(xiàn)出來,臉紅啊~~~~~~~~~~,順便說一句我作程序員6年了,還在繼續(xù)做。
只要有毅力和學(xué)習(xí)能力就夠了
樓上怎么不去死呢,你知道什么是編程,你知道編程的真正意義嗎,純粹胡扯
一個(gè)合格的軟件開發(fā)人員應(yīng)該具備那些條件?
就現(xiàn)在世界的軟件技術(shù)而言 一個(gè)合格的軟件開發(fā)人員 一個(gè)合格的編程人員 應(yīng)該掌握哪些軟件開發(fā)工具或者語言? 應(yīng)該掌握哪些技術(shù)? 現(xiàn)在世界最強(qiáng)大最通用的軟件開發(fā)工具是什么? 謝謝 虛心求教!!!!!!!!!!!!!!!!!!!!!!!!您這也太籠統(tǒng)了把
就個(gè)人認(rèn)為,至少也得說明是面向企業(yè)應(yīng)用的
還是面向低層開發(fā)的
是純粹為了就業(yè)
還是僅僅為了掌握技術(shù)
相關(guān)推薦:
最高額保證法律依據(jù)(民法典后保證最高額擔(dān)保的規(guī)定)
中外合資經(jīng)營企業(yè)的資本(中外合資企業(yè)注冊資本金要求)
車輛抵押貸款(汽車抵押貸款需要什么條件)
國有企業(yè)設(shè)立的資料(國有企業(yè)注冊條件)
怎么注冊公司流程(公司注冊流程及需要的材料)