C# vs Java:北乔峰 vs 南慕容
其实关于java和C#的区别,很多人在很多的地方都做出了很好的总结的。前几个月在找实习的工作的时候,也经常有面试官会问到这样的一个问题。因为现在在工作机会上,或者是在学校的学习上,C#和java都算是两个特别大的选择的,基本的程序员不是玩java的,就是学C#的,玩其他语言的相对来说要少很多。
所以呢?我自己也要来总结一下,我自己对于C#和java的理解了。
其实想到,C#和java,我有意联想到了金庸笔下的北乔峰和南慕容,有点扯淡,但也确实有相似之处。
首先,我觉得C#像是北乔峰,因为乔峰会的武功不多,会的都是丐帮的一些绝学,当然会些其他的武功吧,但却是以丐帮的降龙十八掌和打狗棒法闻名天下,而且另外的,乔峰也不怎么用打狗棒法的吧(没见他老拿着那支牛逼的打狗棒),姑且认为他最牛逼的就是降龙十八掌了呗。而C#因为是微软的产物,虽然也是集了众家之长,但是闭源的(相对开源),就有点像降龙十八掌,还是够厉害的。乔峰因为丐帮成名江湖,C#也不是因为微软而成名的么?当然微软是不能相当于丐帮的,微软可不像丐帮那么穷。
另外,我觉得java像是南慕容,是因为java确实是很牛逼的,在很多的平台上能用,在服务器啊,中间件啊,各种网站啊,几乎是到处能用,随处可见。而我们看南慕容啊,“以彼之道,还至彼身”。好像是天下武功秘籍都是在慕容家的,他什么都会,而且还有自己的长处,学得更好,还能比别人厉害。java在另一方面,在开源上,要多得多,C#除了名的也就那个mono吧,.net的开源库吧。java似乎就是什么都能干了,用的人也挺多的,开源的各种java项目啊,多得要死了,看都看不完,当然也学不完啊。记得慕容家的武功秘籍慕容复也是没看完的吧,是被王语嫣能够全部背下来吧,但是java不能像王语嫣啊,她是不会武功的嘛。
这里呢,个人就觉得C#就像是北乔峰,java就像是南慕容。金庸的描述里,肯定喜欢乔峰的人是绝大部分的了,南慕容的话,多数人是厌恶吧,这里不再讨论他们的品行和人格;对于程序员来说,或许会少了些爱恨吧(相对生活来说,能赚更多的钱就好了),用java的人确实是比用C#的人多,另外的话,也好像也有多数嫉恶如仇的人,不大喜欢微软,当然这里各人有各人的原因,他人的喜怒哀乐,也于我无多大的关系。
另外,我忽然觉得每个学编程的人,有点像在练七伤拳,记得七伤拳的内功心法是“每人体内,均有阴阳二气,人身金木水火土五行。心属火、肺属金、肾属水、脾属土、肝属木,一练七伤,七者皆伤。这七伤拳的拳功每深一层,自身内脏便多受一层损害,所谓七伤,实则是先伤己,再伤敌。”
金庸的武侠小说看得不多,电视剧版的觉得挺好看的,当然这里大多数随便开开玩笑的,程序员也要寻找生活中的乐趣嘛。觉得不好不对,请大家见谅!