我越来越希望能掌握java。

语言当然不是决定性因素。刚毕业出来的时候,我频繁地更换开发语言,像foxpro,power builder,甚至oracle还有一门开发语言,叫什么developer,这些早已扫入历史垃圾堆的名词,现代程序员连听都没听说过的。所谓程序员吃青春饭,工作经验并不重要,大概说的就是这些吧。用了一大堆工具,积累的是使用这些工具的心得,最后工具都淘汰了,所谓的经验自然就没啥卵用了,说出来只能让人摇头发笑。搞计算机,要掌握原理,应用仅是浮云。

那么,固定使用一种语言,不用花费时间去学各种语法,是不是就能有所成就呢?我从03年开始用c#,到现在还在用,15年过去了,开发语言没变,结果也没见到搞出啥名堂,工资也上不去。妈的我就像遇到马克思主义之前的旧中国,各种救国道路都试了一遍,结果还是生活在水深火热之中。

十月革命一声炮响,砸来了java。java当然也只是一种语言,可能语法还比不上C#优美,它本身并不重要。重要的是,大概由于免费和开源,java受到了大多数程序员的追捧和参与,尤其是参与,大家的智慧在这里碰撞和迸发,各种新奇的思想和概念、产品层出不穷,有着最成熟的社区和生态环境。使用java,不仅仅是使用java这个工具本身,还能接触其背后一系列的思想和智慧。这才是最重要的。加入java阵营,就是加入了一个强大的大家庭。

我的感觉,java系列的各种工具和产品,不一定有多完善,盛名之下,有程序员吹捧的嫌疑,但是,它们胜在创新,什么思想和创意都能码上去,自由奔放,简直无法无天,多样性带来了成功和繁荣。相比之下,微软只是跟在java后面亦步亦趋,许多做法都是拾人牙慧,甚至画虎不成反类犬。很明显,一个公司再优秀,也只是一个公司而已,怎能与全世界浩如烟海的程序员的力量相比。

免费让多人使用;
开源让大家放心;
不完善(指不够傻瓜)让学习门槛提高,迫使程序员增强动手能力,了解底层原理,间接提升了开发效率。
这就是java的优点。

.net现在也逐步开源了,也开始跨平台了,但是,正如后来的bing比不过google一样,后发不一定会先至,我要搞开源和跨平台,我为啥不干脆就用已经被事实证明,并且一直被事实证明的java呢!