1997年,Borland公司起诉微软公司,控告微软在30个月内挖走了自己30多名重要雇员!而其中的核心人物就是后来被称之为C#之父的Anders Hejlsberg(安德斯-海森博格) 。
Borland公司得到了广泛的同情,因为微软太夸张了:
安德斯:但我到微软来干什么呢?
比尔:你想干什么就干什么!
这场诉讼虽然最终以 Borland 的胜利而收场;但Anders 已经在为微软工作了,研发Visual J++
但是,因为和Sun的纠纷(参考:为什么),J++被迫中止。后面微软还试图用J#再蹭一蹭Java的热度,但最终还是不得不另起炉灶,C#横空出世!
读作C Sharp,名称含义:
这是让很多人一头雾水的东西,也是鉴别一个程序员是不是懂C#/.NET的试金石。
被飞哥骂得删帖的一篇文章,就犯的这种低级错误。
和Java做一个对比:
C#一经推出,就取得了巨大的成功!
简单来说,C#(相较于Java)的优势:
以下引用自微软官网《C# 发展历史》
但实际上C#和Java之间是你追我赶,最终趋同的。
一个合格的程序员(比如3-5年开发经验,能够独立完成绝大部分日常工作),在C#和Java之间转换,大概就这个样子:
第一天,找点文档看看,划划水
第二天,
第三天,骂骂咧咧的开始干活!
一个月以后,真香……
C#仍然保留了(但不推荐)指针,以满足某些特殊情形下的开发需求(比如飞哥的代码演示)。要记得C#是有取代C++的野望的,^_^
C#保留了结构(struct),类似于类(class),但其实生成值类型对象(实例化类会生成引用类型对象)
C#语言中Linq配合Lambda表达式,简直是大杀四方天下无敌!
我最开始想用“败笔”,但想一想苹果,人家一样“封闭”,但就做得挺好呀?
但无论如何,C#并没能超越Java,即使算上VB.NET,市场份额也和Java有一段相当的距离,为什么呢?主要是被.NET拖累:
本来,.NET设计之初就是为了跨平台的(IL的作用),但是,出于商业利益上的考虑,.NET一直顽固的只支持windows操作系统。
以至于旁人都看不下去了:这么优秀的语言,居然……干脆自己搞一个能在Linux等操作系统上面运行的.NET吧!mono就此诞生。
这是微软的一贯作风,疯狂diss开源运动。
微软前CEO史蒂夫·鲍尔默的名言:
开源就是一种癌症,Linux 是一种毒瘤
彻底激怒了整个开源届!
所以一直以来,.NET都是孤军奋战,举世皆敌。
PS:上面两个原因,本质上都是因为利益,明白吧?
基于.NET的Web项目开发技术被统称为ASP.NET。
.NET的命名其实已经暴露了它占领(互联)网络的野心(微软当时就应该已经认识到:桌面应用会衰落)。
ASP.NET 2.0 WebForm很快推出,当时确实非常牛逼,广受欢迎;但好景不长,Ajax和富前端技术迅速发展,ASP.NET跟进的力度不够。
同时在浏览器端又发力SilverLight,又一次的押错了宝,惨败!
2018年6月4日,开源届被一则新闻惊呆了!
微软斥资75亿,收购开源大本营github。
这是干啥,仗着财大气粗,要团灭开源啊?不讲武德!
误会,误会,都是误会!^_^
其实微软内部,一直都有要求开源跨平台的呼声。
早在2016年6月27日,微软就发布了可以跨平台的ASP.NET core;
然后以此为突破,在开源的道路上一路狂奔,.NET被分成:
直到直接收购了github,表明其拥抱开源世界的决心。
2020年11月11日,.NET5正式发布,一统Framework和core,终于结束了.NET Framework和Core纠缠不清的复杂局面。
未来,我们拭目以待!
除了做网站还能干啥?多了去了!
基本上啥都可以做
但实际上,你的第一份工作究竟是什么,现在是无法预知的。飞哥在培训班学的还是Java呢!
通过这个培训,最理想的结果,不是教会了你多少知识,而是形成了你“自学开发”的能力——这才是最重要的最根本的:做程序员,自学能力是核心竞争力。因为技术的进步和迭代实在是太快太快了,不可能出来一门新技术,你就要上个培训班,那你挣的那点工资,还不够培训费呢!^_^
延伸阅读:C# 发展历史
多快好省!前端后端,线上线下,名师精讲
更多了解 加: