- 論壇徽章:
- 0
|
本帖最后由 donotblock 于 2011-02-21 13:03 編輯
看到很久前joel on software的一篇文章《對(duì)計(jì)算機(jī)科學(xué)專業(yè)畢業(yè)生的忠告》,覺(jué)得挺有意思,胡亂翻譯其中一段關(guān)于C語(yǔ)言的:
原文:
Learn C before graduating
Part two: C. Notice I didn't say C++. Although C is becoming increasingly rare, it is still the lingua franca of working programmers. It is the language they use to communicate with one another, and, more importantly, it is much closer to the machine than "modern" languages that you'll be taught in college like ML, Java, Python, whatever trendy junk they teach these days. You need to spend at least a semester getting close to the machine or you'll never be able to create efficient code in higher level languages. You'll never be able to work on compilers and operating systems, which are some of the best programming jobs around. You'll never be trusted to create architectures for large scale projects. I don't care how much you know about continuations and closures and exception handling: if you can't explain why while (*s++ = *t++); copies a string, or if that isn't the most natural thing in the world to you, well, you're programming based on superstition, as far as I'm concerned: a medical doctor who doesn't know basic anatomy, passing out prescriptions based on what the pharma sales babe said would work.
翻譯:
注意我說(shuō)的是C而不是C++。 盡管C已經(jīng)越來(lái)越少的被使用,但它仍然是程序員之間進(jìn)行交流的主要“外語(yǔ)”(意思是盡管他們可能也不用C工作)。 C是程序員與其他程序員共同的語(yǔ)言。 更重要的是它更貼近計(jì)算機(jī),比你們?cè)诖髮W(xué)里被教授的高級(jí)語(yǔ)言如ML,Java,Python,或者其他他們正在教的時(shí)髦的垃圾更加貼近。 你需要花至少一學(xué)期的時(shí)間來(lái)更好的理解計(jì)算機(jī),否則你永遠(yuǎn)無(wú)法使用抽象層次高的語(yǔ)言寫(xiě)出高效率的代碼, 而且你永遠(yuǎn)不能參與編譯器和操作系統(tǒng)方面的工作,而很多最好的編程工作恰恰是這兩個(gè)領(lǐng)域的。 你將永遠(yuǎn)得不到信任去為大規(guī)模項(xiàng)目做架構(gòu)。 我不管你對(duì)continuations(不知怎么翻譯,誰(shuí)幫忙補(bǔ)上),閉包還有異常處理知道多少: 如果你不能解釋為什么while (*s++ = *t++); 復(fù)制了一個(gè)字符串,或者這種方式對(duì)你不是很自然的事情, 那么,你就是憑直覺(jué)在編程,就像我擔(dān)心的那樣:一個(gè)醫(yī)生不懂基本的解剖學(xué),僅僅根據(jù)醫(yī)藥公司的銷售人員所描述的藥品功能來(lái)開(kāi)處方。
原文在這里 http://www.joelonsoftware.com/articles/CollegeAdvice.html
這是個(gè)很好的博客,相信很多人已經(jīng)知道了吧,不知道的可以看下 |
|