老实说,自己从来没有对语言有排斥的看法,一直是选取对项目最优的语言,当然最优是从多方面,首先考虑的是人员问题,毕竟二八定律在任何语言都是显而易见的,任何语言都能满足日常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思想框架,不过总体来说,好玩,看着开心,写着舒心,本文仅仅作为茶余饭后闲聊,不参与任何语言格斗。。
作者:衍悔
来源:51CTO