老實說,自己從來沒有對語言有排斥的看法,一直是選取對項目最優的語言,當然最優是從多方面,首先考慮的是人員問題,畢竟二八定律在任何語言都是顯而易見的,任何語言都能滿足日常80%的開發。
不過,偶爾也會調侃調侃一些稀奇的地方,比如今天,做緩存的時候打算祭出HashTable,這樣強大的東西.net不可能不實現,沒必要自己搞,果然微軟不負所望,於是自己寫出功能代碼:
很普通很普通的代碼,不過仔細一看,心里瞬間有種想大笑的感覺,按了F12進去后看到它的內部是這樣:
這個東西太熟悉了,因為在很多年前剛學java的時候用到Hashtable的時候比較好奇為什么第二個t是小寫,這不符合sun的風格啊,整個jdk都是標准駝峰,於是帶着這個疑問翻過 很多書,看多很多資料,最后的結論是:
Hashtable的第二個t小寫是sun的失誤,很多書都提到這個問題,很多人都給sun提過建議修改過來,后來sun也確實討論過這個t的問題,但是由於Hashtable是jdk1.0的產物:
盲目的替換會導致很多老的系統根本無法兼容,於是sun決定保留這個小寫的t,讓它繼續不合理的存在,當時沒有太大的在意,直到看到c#這邊的Hashtable的時候,心里有點樂開花的感覺,於是大概的翻了很多c#的類,其實和java一樣,是標准的駝峰,唯獨Hashtable很例外,不過也可能是我理解的很膚淺,沒有理解深入的地方。
C#和java有太多相通的地方,從ORM到IOC,AOP,何曾的相似,相似到到連Hashtable的t都要小寫,想想就有點開心。
在目前遍地開花的編程語言中,很多語言都逐漸的開始慢慢的或多或少的靠齊,記得最開始需要將一個j2ee的改造成.net的時候,為了方便直接走.net的orm和ioc,於是標准的java pojo類只需要修改下后綴為cs就能在net里完美運行了,hibernate的東西不用改,直接丟過去,完美。當時還和同事開玩笑說我可以做一個工具直接把c#的工程轉換成j2ee的,后來一次google發現還真有這樣的工具,還不少。或許微軟這樣是方便java程序猿的平滑遷移也說不定
在今天,每種語言,都在默默的像對方靠齊,就像java也搞出了play這樣類ror和django思想框架,不過總體來說,好玩,看着開心,寫着舒心,本文僅僅作為茶余飯后閑聊,不參與任何語言格斗。。