作为一个有20多年编程经验的码农,自从用上了C#,就再也没喜欢上别人。
网上也有很多关于C#的传说,今天给大家整理一下,抛砖引玉吧,有说得不对的地方,大家评论指出,我虚心改正。
说起C#的来历,就不得不提及在它诞生之前,各大公司之间的纷争。
1975年微软公司成立,刚开始它并不是做操作系统的,而是做PC编程软件的,我们熟知的BASIC,就是比尔盖茨把它移植到了PC上。记得80年那会小霸王学习机上还有BASIC。
1980年,IBM选择微软为其编写操作系统,当然很大原因是因为盖茨他妈是IBM的董事会成员。这以后微软的BASIC一直就是PC编程界的老大,直到Borland公司的出现。
1983年,Philippe Kahn和Anders Hejlsberg,这两个来自丹麦的天才小伙一起在美国创办了Borland公司,研发了Turbo Pascal,能够在极少的RAM中常驻执行,又提供闪电般的编译速度。当时PC是什么配置啊,内存最大只有64KB。所以一经上市,迅速获得市场的认可,一举成为了编程界的老大。盖茨的编程水平肯定没法跟Anders Hejlsberg比啊,我打不过还跑不过吗?老子不跟你玩了,于是专心搞操作系统,也就是后来的windows 95了。而Borland有了钱,Borland C++、Delphi、Borland C++ Builder等等开发工具也陆续开发出来。
这以后编程市场和编程工具基本上都是Borland公司的天下。我2001年参加工作,Borland公司的产品我都还用过两个。
1991年,一家成立于1982的Sun公司,由于业务原因经常需要在各种硬件上做开发,用C++又过于庞大,于是对C++ 进行了改造,形成了Oak语言,然后就忽悠其他硬件厂商都来用这个。但是后来硬件厂商一听,这不是拿我们做小白鼠吗,万一有问题算谁的?结果也就不了了之了。
1994年,Borland公司因为这些年有了钱,早就不满足于开发工具的领域了,不断地收购、扩张,但是微软也不是吃素的,最终做开发工具的还是没干过做操作系统的,Borland公司的财务状况不断恶化,创始人Philippe Kahn也辞职了。另一位创始人Anders Hejlsberg也随之受到了排挤。
1995年,互联网兴起。为了能让网页能够在各种硬件平台上动起来,急需一种能够跨平台运行的程序。这时Sun突然想起来我们不是有个Oak语言可以跨平台吗?再拿出来改改。结果正好赶上互联网大潮,Java顺势而起。于是Java逐渐成为了企业级应用系统开发的首选工具,越来越多的C/C++应用开发人员转向了Java的应用开发。
微软一看,你跨平台做起来了那我windows还能算老几啊?这不断了我财路吗!也是机缘巧合,此时的Anders Hejlsberg在Borland公司也郁郁不得志,据说在Dephi 3的开发中,Anders Hejlsberg这位Delphi之父竟然说得不算,这对一名技术大牛来说简直就是侮辱!在这种形式下,微软不惜重金把这位编程界第一牛人挖到了手,开价300万美金!想想1996年的300万美金是什么概念,3000万人民币,当时上海的房子才多少钱一套?当然人家Anders Hejlsberg也不缺钱,但是开出的价格代表了一个企业对一名人才的重视程度,从这点来看微软还是相当有诚意的,也是相当有魄力的。微软的目标也很简单,就是要在阻止Sun的扩张。
Anders Hejlsberg一到微软就被任命为首席架构师,上任以后就主持了Visual J++的开发。所谓的J++,意思就是Java++。
1997年,微软发布Visual Studio 97,Visual J++包含在其中。
1998年,微软发布大名鼎鼎的Visual Studio 6.0,这个到今天应该还有人在用。Anders Hejlsberg确实展现了他非凡的能力,Visual Studio在他到任不到2年的时间里由1.1升到了6.0。这绝不仅仅是数字上的变化,集成在Visual Studio 6.0中的Visual J++ 6.0的确有了质的变化,不但虚拟机(JVM)的运行速度大大加快,而且增加了许多新特性,同时支持调用Windows API,这些特性使得Visual J++成为强有力的Windows应用开发平台,并成为业界公认的优秀Java编译器。微软其实也很鸡贼,知道现在用Java语言的人多,那我就在Java语言的基础上进行改进,但是用J++编译出来的程序不支持跨平台,只能在我的windows平台下跑,靠开发者绑架用户。也正是微软这个版本的成功,让Sun公司感觉到了危险,MD!你小子不厚道!用了我的东西还断我的财路!微软觉得委屈,怎么地?我听你说话好听学你说话还犯法吗?Sun说,学说话可以,但是你要学就都学,别光学骂我啊!结果俩公司争执不下,就闹到了法院。
2001年,法院的态度也比较明晰了:微软未能完全遵守Java规范,违规;Sun是Java的商标拥有者,支持。其实这种案子都是背后的利益在较劲,对与错的界限不容易分得那么清楚。于是Sun和微软达成庭外和解,微软停止J++项目,Sun目的达到了也就不追究了。
微软也很郁闷,老子辛辛苦苦研发好几年,就因为你一句话,几百万美元打水漂了,这口气我怎么咽得下去?你给我等着!你不让我学说话,老子就新开门派!Java是不可能再用了,C/C++还是天下第一,那老子要做一个比C/C++还NB的语言,叫C++++!可是C++++太长了,英文读:C plus plus plus plus,别人不知道的还以为是磕巴呢!那还不简单!把四个+摞在一起,不就是#的图案吗!
当然上面那段是我杜撰的,至于为什么叫C#,微软官方也没有给出解释,无从考证了。只是我觉得这个解释更加靠谱。
还有一个解释是,我觉得也挺靠谱的:#在音乐中表示升半个调,代表比C更高。另外,Borland的创始人Philippe Kahn爱好音乐,曾经在瑞士苏黎世研修长笛,所以跟他一起很长时间的Anders Hejlsberg或许也多多稍稍懂点乐理,再或者Anders Hejlsberg为了怀念这位老友,也不得而知了。
总之,这就是C#的来历,您有什么想说的?
原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/79745.html