以武學(xué)的視角來戲說.NET程序員的倚天之術(shù)
2024-07-10 12:59:17
供稿:網(wǎng)友
一個(gè)好的程序員是不會(huì)只和一家大公司的技術(shù)綁在一起的﹐也不會(huì)只知道一種language。
這裡有很多.net程序員﹐我就拿.net程序員來舉個(gè)例子。.net是微軟的技術(shù)﹐這是與“不只和一家大公司的技術(shù)綁在一起“的原則相違背了﹐但只要你能有意識(shí)地去發(fā)覺programming的真諦﹐你仍然可以從禁錮中投得一些光亮﹐從而一窺“九陰真經(jīng)“。
我們看看﹐有什麼東西是.net程序員可以掌握並且可倚仗十年而不管微軟存在與否的技術(shù)呢?
1. xml。不是.net裡那些xml api﹐而是對(duì)xml﹐xml schema, xml dtd, dom, sax, xpath, xquery﹐甚至是xslt ...的掌握﹔
2. sql。不是說您對(duì)sql server有多熟悉﹐要熟悉的是sql語法﹐高級(jí)sql應(yīng)用﹐和pl/sql﹔
3. oop。通過學(xué)習(xí)c#﹐你對(duì)oop的優(yōu)點(diǎn)和缺點(diǎn)透徹掌握﹐以及近代oop新出現(xiàn)的概念﹐比如interface﹑property ...﹔
4. 開發(fā)流程。通過對(duì)visio﹐power point﹐sql server或vs.net等軟件的使用﹐了解一個(gè)軟件開發(fā)的大致流程。不是知道幾個(gè)名詞﹐而是要有親身經(jīng)歷過n次的感性認(rèn)識(shí)﹔
5. 軟件測(cè)試。通過使用nunit之類的工具﹐掌握一般軟件測(cè)試的方法﹐了解軟件測(cè)試的必要性﹐和何時(shí)需要何種軟件測(cè)試。(其實(shí)這一點(diǎn)應(yīng)該屬于第4點(diǎn)﹐但軟件測(cè)試在中國很不被重視﹐即使有也往往是拿來應(yīng)付人的﹐所以我把它單獨(dú)列出以示強(qiáng)調(diào))﹔
6. security。不管是.net還是j2ee都需要處理security的問題。security是個(gè)無底洞﹐但所使用的原理和技術(shù)很有連貫性﹐十年之前的東西現(xiàn)在仍然普遍在用。比起其它技術(shù)來說它相對(duì)穩(wěn)定﹐值得投入﹔
7. web services。不是怎麼用vs.net來用web services﹐而是要知道為什麼要用web services﹐web services的三大protocol --- wsdl, soap, 和uddi。通過web servies了解soa(servie oriented architecture)以及business logic layer的職責(zé)和位置﹔
8. 設(shè)計(jì)模式。這是這幾點(diǎn)裡最難學(xué)會(huì)的﹐也是最需要年數(shù)積累的??赐暌槐?lt;<設(shè)計(jì)模式>>就說自己懂了﹐根本就是在胡說八道。設(shè)計(jì)模式猶如“九陽真經(jīng)“﹐一開始即使能夠死記也不得其要領(lǐng)﹐只能靠日後多年實(shí)踐﹐才能逐漸明白其“九陽真經(jīng)“的奧妙。一旦練成﹐終身收益。是程序員邁向系統(tǒng)架構(gòu)師過程中的必修技。
一個(gè)有智慧的.net程序員﹐即使在被微軟操控的情況下﹐也應(yīng)該有意識(shí)的去琢磨琢磨以上的幾點(diǎn)。學(xué)習(xí)本質(zhì)﹐破除樊籬。
.net程序員和開源社區(qū)程序員之不同﹐猶如“劍宗“和“氣宗“之不同。練“劍宗“者﹐入門快速﹐由表即裡﹐前兩至三年成就高于練“氣宗“者。習(xí)“氣宗“者﹐追求本質(zhì)﹐由裡即表﹐入門艱辛﹐但五年後其功力強(qiáng)出前者。本來一個(gè)由裡即表﹐一個(gè)由表即裡﹐一正一反﹐何以有此差距? 原因在人的惰性﹐所謂“由儉入奢易﹐由奢入儉難“﹐易在前與易在後便產(chǎn)生功力的差異。
但事事因人而異﹐事在人為。.net程序員們當(dāng)自知其強(qiáng)﹐也當(dāng)自明其短﹐奮發(fā)圖強(qiáng)﹐還是大有一番出息的。這裡我送.net程序員六個(gè)字 --- 學(xué)其本﹐舍其華
大家共勉。