▲ Software Program
摘要: 據說漢語編程打破了西方對計算機語言的壟斷,使中國人擁有了完全自主知識產權的程序設計語言。據說隨著漢語編程的興起,將極大地推動中國信息化建設的進程。據說漢語編程已經得到了部分省市有關部門的大力支持,很快就會形成一門發展潛力巨大的產業。然而當不少人在了解到漢語編程后,卻懷疑它不過是某些別有用心之人泡制的謊言。那么漢語編程究竟是一項劃時代的技術呢,還是一則經不起任何推敲的的傳聞?
閱讀全文
摘要: Using Microsoft Windows XP, you can now define the visual style or appearance of controls and windows from simple colors to textures and shapes. You can control each defined part of a control as well as each part of the nonclient (frame and caption) area of a window. The user can then use the Appearance tab in the Windows Control Panel to switch between the classic visual style and other available styles.
閱讀全文
摘要: 程序里許多上下文中經常出現的0。雖然編譯系統會把它轉換為適當類型,但是,如果我們把每個0的類型寫得更明確更清楚,對讀程序的人理解其作用是很有幫助的。例如,用(void *) 0或NULL表示C里的空指針值,用‘\ 0’而不是0表示字符串結尾的空字節。也就是說,不要寫:
閱讀全文
摘要: 名字的合理選擇可以幫助讀者理解程序,同樣,我們也應該以盡可能一目了然的形式寫好表
達式和語句。應該寫最清晰的代碼,通過給運算符兩邊加空格的方式說明分組情況,更一般的是
通過格式化的方式來幫助閱讀。這些都是很瑣碎的事情,但卻又是非常有價值的,就像保持書桌
整潔能使你容易找到東西一樣。與你的書桌不同的是,你的程序代碼很可能還會被別人使用。
閱讀全文
摘要: 人們看到最好的作家有時并不理會修辭學的規則。還好,當他們這樣做雖然付
出了違反常規的代價,讀者還經常能從句子中發現某些具有補償性的價值。除非作
者自己也明確其做法的意思,否則最好還是按規矩做。
William Strunk和E. B. White,《風格的要素》
閱讀全文
摘要: 世界上并沒有成為高手的捷徑,但一些基本原則是可以遵循的。
1、扎實的基礎
數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握它們,很難寫出高水平的程序。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本算法的時候可能也會束手無策。因此多讀一些計算機基礎理論方面的書籍是非常有必要的。
閱讀全文
摘要: 程序員都是聰明人,沒有誰愿意干重復勞動這樣的傻事,因此,程序中出現重復代碼是程序員的恥辱。就算不能消除重復代碼,至少也可以對于相同的功能,用不同的代碼來實現所以發明新輪子的程序員才會那么多。
面向對象作為一種橫空出世的新技術,首先承諾的就是“更好的重用性”,而“重用性”這樣一個閃閃發光的詞,也的確能夠吸引程序員的實現,那么多新的理論、新的技術、新的方法、新的框架、新的思想,用來說服別人接受的一個最大的理由,就是“更好的重用性”。然而,OO以及一直以來不斷發展的 OO相關技術,對于重用性的提高,作出了多大的貢獻呢?
閱讀全文
摘要: 面向過程的世界是完整的,統一的,也是容易理解的——對于程序員來說——或者說他只需要一種理解能力。這個世界雖然值得懷念,卻不值得再回去。因為,我們不再像當年的程序員那樣,只開發那些簡單的軟件了。很多人崇拜那些早起的“大牛”,其實平心而論,我們現在面對的問題的復雜程度,在他們當年可以說幾乎無法解決。需求的復雜程度也不是他們當年能夠設想到的。
閱讀全文
摘要: 關于編程語言的爭論雖然此伏彼起,但事實上很少有人真的在做編程語言的比較,同時許多無價值或錯誤的觀點卻在真實的誤導著許多程序員的認識,為此我決定寫這篇文章。
本文后述觀點是基于這樣一種前提:只關注語言特性,而忽略標準庫和其他各種商業框架(雖然這些更大程度上決定著人們對語言的選擇)。這必將使這篇文章的觀點更具有理論意義,而非現實意義。但語言特性是編程語言的根本,無論是做語言比較,還是評論語言,都應該以此為出發點,否則將導致討論范圍的無限增大,進而導致討論的無結果。為避免有人找碴,必須預先聲明的一點是,由標準庫實現的語言特性將被看作語言特性,進而列入考慮的范圍。同時這里說的編程語言是指一些通用目的的高級編程語言,比如C/C++,Java,Python,Perl等。
閱讀全文
摘要: 劍道, 只是我從小到大從各種各樣的媒體中得出的印象.
因為喜歡劍術, 所以想做一個劍客. 在還沒有做劍客時, 就想像自己有一把好劍, 威風凜凜地站在風中, 身邊的樹葉飄飄......, 一幅很酷的樣子. 做了劍客后發現, 想找一把好劍不容易, 于是, 行俠江湖的幾年中, 在找一把好劍.
終于過了幾年, 有點胡子了, 有個和尚或老道看你有幾分仁義的樣子, 指了個好劍的方向. 結果, 你以前做夢都在想像的舉劍一睹出現了, 當然, 是給自己看的, 注意, 要披一件大衣, 找個風口, 別忘了邊上該有很多枯葉.POS擺完, 也該練點真功夫了, 要不真浪費了這么多年的追求, 又被別人數落個"金玉其表"的評價. 于是你練呀練呀, 總算有一天, 有一個你不認識的人叫了你一聲"高手". 聽第一遍時你還以為他在叫別人. 那天晚上你睡覺都在偷笑.
閱讀全文
摘要: Charles:但是在C#中做不到這樣,你不能選擇一些函數,然后就執行它們。
Anders:講錯臺詞了(譯者注:Anders開玩笑,因為C#是微軟的招牌,Anders暗指Charles這樣講不合適),實際上,這個東西我們也可以考慮一下(把它加到C#中),是的,這僅僅也只是工具方面的事情。
Herb:這是工具而已,從內部來說,實現它并沒有什么障礙。這僅僅是工具的問題。你想要這東西嗎?有投資嗎?這東西對程序員重要嗎?符合這種語言的側重點嗎?要考慮的是這些問題。
閱讀全文
摘要: Herb:我想,我們有必要在“函數型”編程領域做一個進一步區分,將其劃分成兩個部分。我非常同意Anders和 Erik的意見。我不太同意的是這樣的措辭:我們之所以繼續使用“命令型”編程語言,是因為這是大家目前所能理解的;通用程序員目前的工作并未取得巨大的成功;市場對于“所有的東西都是表達式,所有的語言都應該是表達式類型的語言”這樣的理念已經非常接受了;“函數型”語言是“串行執行”的好藥方。
閱讀全文
摘要: 視頻在Channel 9,鏈接http://channel9.msdn.com/Showpost.aspx?postid=273697。
名字為Anders Hejlsberg, Herb Sutter, Erik Meijer, Brian Beckman: Software Composability and the Future of Languages
大家可以找來看看。
個人感覺這些大牛高屋建瓴,有點有面地談到了多個語言的發展和語言的相互關系,對于我們開拓視野非常有幫助。由于只能靠聽來翻譯,篇幅又長,只能分段慢慢來。而且,水平所限,難免錯誤,請大家指正。
閱讀全文
摘要: 在一個有效的組織中,必定擁有杰出的一線人才。軟件設計也是一樣的,一線人才的素質決定了軟件的質量。從敏捷的觀點來看,代碼是檢驗軟件過程是否有效的最終標準。目前為止,以及在短時間的未來,我們都不太可能完全脫離代碼進行軟件設計。所以,軟件過程中的任何一個活動都是為了能夠產出優秀的代碼。所以,代碼才是核心。
閱讀全文