微软在比尔·盖茨手中创立并崛起, 成为PC互联网时代的霸主,很多70,80后都有MVP Ediwang的体验:

当时的微软对我来说就是神的存在。因为我认识电脑到使用电脑的一切几乎都离不开这家伟大的公司,它就像上帝一样开天辟地,创造万物:Windows、Office、IE这些当年几乎是唯一的主流产品。而微软的创始人之一比尔·盖茨也成了我的偶像。还记得当年,上海有个PC专题的电视频道,有一天该频道播放了比尔盖茨关于.NET战略的演讲,啥也不懂的我,居然坐在电视机前完整看完了节目。当时的我并不知道,.NET将会彻底改变我的人生轨迹。

---Ediwang

随着2008年比尔·盖茨退隐江湖,投身更伟大的为了全人类的梦想,销售出身的鲍尔默接手微软,微软的PC 软件和服务器的利润让微软有点脱离IT江湖的主流,鲍尔默称 GPL 为“毒瘤”,前任 Windows 负责人 Jim Allchin 称其为“un-American”, 几乎错过了移动互联网的整个时代,windows phone拱手让给了开源的 Android。也就是在这一时期.NET遭遇了停滞,从2010年4月12日发布4.0后,到了2016年还是4.6.2版本,特别是中国很多使用.NET技术的公司纷纷转向Java。在业界对微软的未来纷纷质疑的时候,2014年印度人萨蒂亚·纳德拉从众多CEO 竞争者中脱颖而出,这位在微软工作了20年的员工成了微软的新任CEO,萨蒂亚通过塑造企业文化重新塑造了全新的微软, 也就是在2014年.NET也重新开源跨平台,通过成立.NET基金会形式促进.NET的开源社区发展。

如今在智能时代,微软这家科技公司上演了一次出人意料的“大象跳舞”。2019年,微软的市值已经超过10000亿美元,已经持续半年时间保持市值第一。除了传统上微软一直占有竞争优势的软件领域,在云计算、人工智能等领域,微软也获得强大的竞争力。通过收购领英和github,微软还进入社交网络领域。.NET 目前也是github 最活跃的开源开发平台项目,据CNCF的博客 https://www.cncf.io/blog/2017/06/05/30-highest-velocity-open-source-projects/, .NET Core是唯一一个Github 上Top 30的开发平台。

微软在鲍尔默时期的文化叫作“聪明人文化”。微软的每一个员工都要时刻表现得比周围人更聪明,因为有很多人等着对他做出各种考评。员工们习惯于推卸责任,习惯于官僚主义,习惯于坚持说“我没有错”,微软各自占山为王,军阀割据,且相互竞争;大家都看过这个经典的Web设计师Manu Cornet在其博客画制了一张国外六大科技公司的组织结构图:

萨蒂亚·纳德拉上任后,重新定义了微软的整个的愿景,这个PC时代的全球霸主在移动互联网时代迷失了前行的方向。于是,他提出“予力全球每一人、每一个组织,成就不凡”。所有的团队都要有明确的方向,进化就是团队的终极目标,这是萨蒂亚做对的第一件事。

我2018年离开腾讯的重要动因正是受到他写的那本书《刷新:重新发现商业与未来》的影响,我希望能够借助于.NET给中国的更多人赋能,告别中国大地上所弥漫的996、007的氛围。.NET Core这一年多的时间里在中国也得到大力的发展,特别是开源社区活动,我们dotnetcore 社区(https://github.com/dotnetcore)发展也日趋完善,汇聚了很多小伙伴在这里将.NET Core的发扬光大。特别是借助于kubernetes 这颗明星,.NET Core 3.0 发出出耀眼光芒。.NET Core对容器非常友好,特别是.NET Core 3.0在docker 运行环境上有着更好的改进,.NET Core的容器化也是.NET Core有优势的地方。云原生计算的发展驱动着各个企业转向遵循云原生原则(启动速度快、内存占用低)的平台, .NET Core正是在云原生背景下发展起来的平台,.NET Core的启动速度快,内存占用很低,我在这里可以提前透露一点的是在我们11.9 上海dotnetconf 2019 大会的议题收集之中,基于kubernetes的.NET Core项目实践占据的比率最大。

萨蒂亚·纳德拉做对的第二件事,也是非常重要的一件事,是让微软全员学习了斯坦福大学心理学教授卡罗尔·德韦克的《终身成长:重新定义成功的思维模式》一书。我们的思维模式分为两种:成长型思维和固定型思维。固定型思维的人身上装着评判性的神经,每天的关注点都是谁比我更笨,我得证明我是这个屋子里最聪明的人。在这样的人眼中,任何挫折、批评和否定都是对他的严重打击。而成长型思维的人从来不会考虑谁是最聪明的人,也不会过于在意别人的目光。他考虑的唯一一件事是:我能不能从中学到东西,我可不可以变得更强,我能不能继续成长。

在带领员工共同学习《终身成长:重新定义成功的思维模式》这本书之后,微软完成了华丽的转身,现在微软不仅和苹果,google,aws,redhat,facebook等所有的公司合作。微软此前为什么从来不跟苹果公司合作,就连使用iPhone都是被禁止的?因为人们会说微软输给了苹果公司。但是在萨蒂亚·纳德拉看来,承认微软输给了苹果公司又怎样呢,输给苹果公司难道就不能跟它合作了吗?我们要学以致用,终身成长。承认自己落后没关系,因为最重要的事情是成长,是你有没有每天都在进步,这是美德背后的美德。

说到这里我必须要说说每当我在博客,公众号中写.NET Core相关的文章,在评论区总是会出现各种固定型思维的论调,.NET目前确实在很多领域不如Java,但是他每天都在进步,我们需要以成长型思维来看待.NET的发展,难有一个IT技术是持续10年以后不失去光环,就拿java社区来说,他已经持续了10几年了,这是非常了不起,但是在云原生时代Java社区却有点落伍了,Java 11+可以很好的支持云原生了,大量的都还停留在Java 8,80%的用户使用的是Oracle JDK,Oracle可要收费了,只有20%的用户使用OpenJDK,OpenJDK的版本还很分裂的,每朵云都搞了一个OpenJDK,就连微软都爱上了Java,也提供了OpenJDK。 微软在Azure上对.NET 的支持是最好的,AWS和Google,Redhat的对.NET的支持也非常到位。.NET 基金会从2014年发展至今,非常好的完成了转身,.NET,如今三大云厂商Google,微软,AWS三大云厂商已经齐聚.NET基金会,在平台项目中,.NET平台上有87%贡献者其实并不在Microsoft工作。为了将.NET基金会变成一个更加多样化和成员驱动的组织,微软把.NET 的发展真正交给社区,为了让OSS真正蓬勃发展。

以前.NET确实是微软的一部分,现在微软是.NET基金会的一部分

.NET Core和Java都是开源跨平台的,我们可以来比较一下.NET Core和Java的开源协议,.NET Core是以MIT协议开源, Java是GPL协议开源。 Java 8 SDK升级Oracle要收费这件事对于很多小公司是有着重大的影响的。众多没有能力开发维护OpenJDK的公司完全可以转向更具有竞争力的.NET Core,.NET Core从属于.NET基金会,由微软进行官方支持。使用最宽松的MIT和Apache 2开源协议,文档协议遵循CC-BY。这将允许任何人任何组织和企业任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版 权和许可提示,后者协议将会除了为用户提供版权许可之外,还有专利许可,并且授权是免费,无排他性的(任何个人和企业都能获得授权)并且永久不可撤销,用户使用.NET Core完全不用担心收费问题,你可以很自由的部署在任何地方.

现在是云计算时代,.NET Core已经磨练5年时间,准备好了迎接云计算时代的云原生应用开发,云系统中,用更少的硬件为更高密度的用户提供服务是非常重要的。应用程序的占位面积越小,密度越高。容器只包含应用程序及其依赖项。文件大小要小很多倍,启动时间以秒为单位,只有应用程序加载到内存中,容器保证在任何主机上工作。

我们从开始筹备2019 中国.NET 开发者峰会已经有好一段时间,从确定主题到寻找举办地,我们都是在业余时间进行,无论多么困难我们一定要办成功这次完全由中国.NET社区自发组织的大会,我们希望通过这次大会汇聚中国.NET社区的能量,能够让大众刷新对.NET的认知,也包括.NETer本身的刷新。

中国 .NET 开发者峰会

2019年11月9日 09:00-18:00

中国 上海

门票优惠

10月20日前购票可享受早鸟票100元优惠,只需199,限量300张,先到先得;超级早鸟票及社区特价票需要审核资料;购买团体票(大于10张)享受整单8折优惠,请通过邮箱联系主办方 dotnet@dotnetconf.cn

https://www.huodongxing.com/event/4514005355700

刷新:重新发现.NET与未来的更多相关文章

  1. AI比医生更好地发现皮肤癌,未来计算机技术可渗透医院

    未来机器人将取代医生?这可能是事实.为什么这么多年轻人选择计算机行业,因为这是一个趋势.据法新社报道,研究人员周二称,一项计算机技术比人类皮肤科医生在检测皮肤癌方面的表现要好得多,因为这项研究是为了寻 ...

  2. 3星|《刷新》:微软第三任CEO上任三年后的回顾

    刷新:重新发现商业与未来 作者是微软第三任CEO,2014年2月上任.本书英文版出版于2017年9月,全书内容大致截至于2017年年初,算是作者上任三年后的回顾. 书中作者讲了不少自己的个人经历.作者 ...

  3. .NET6 平台系列4 .NET开源之路

    系列目录     [已更新最新开发文章,点击查看详细] .NET平台是微软于2000年推出的Windows操作系统的应用软件开发框架,发展至今形成巨大的技术栈,涉及多语言(支持C#.F#.VB.NET ...

  4. IE9浏览器中的My97日历控件刷新后无法打开问题解决办法

    解决办法如下: 1:找到WdatePicker.js 2:将$crossFrame:true 改为$crossFrame:false. 3:重启服务,刷新页面发现OK.

  5. [转]Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能

    版权声明:本文出自郭霖的博客,转载必须注明出处. 转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9255575 最近项目中需要用到L ...

  6. Android下拉刷新完全解析,教你如何一分钟实现下拉刷新功能 (转)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/9255575 最 近项目中需要用到ListView下拉刷新的功能,一开始想图省事,在 ...

  7. jQuery中对未来的元素绑定事件用 on

    最近项目需要点击弹窗里面的a标签出现外连接跳转提示 <a href="javascript:void(0);" target="_blank" id=&q ...

  8. IE11浏览器中的My97日历控件刷新后无法打开问题解决办法

    IE11浏览器中的My97日历控件刷新后无法打开问题解决办法   IE11浏览器中的My97日历控件刷新后无法打开问题解决办法:(谷歌浏览器下正常.IE11失效) 解决办法:1:找到WdatePick ...

  9. Android下拉刷新

    以下是我自己花功夫编写了一种非常简单的下拉刷新实现方案,现在拿出来和大家分享一下.相信在阅读完本篇文章之后,大家都可以在自己的项目中一分钟引入下拉刷新功能 最近项目中需要用到ListView下拉刷新的 ...

随机推荐

  1. 题解 bzoj 2151 种树

    题意 传送门 手写堆大法好啊,题解貌似没有结构体堆的做法,思路有些像配对堆,关于配对堆请自行百度,因为本蒟蒻不会.. 以下是蒟蒻的做法:建立一个大根堆a维护最大价值里面存入它的编号以及价值.听说配对堆 ...

  2. 在javascript中的浏览器兼容问题以及兼容浏览器汇总(默认事件,阻止冒泡,事件监听。。。)以及解决方式详解

    在javascript中常见的浏览器兼容问题,以及解决方式. 在前端工作当中我们遵循这样的原则:渐进增强和优雅降级   渐进增强(progressive enhancement): 针对低版本浏览器进 ...

  3. 【Offer】[34] 【二叉树中和为某一值的路径】

    题目描述 思路分析 测试用例 Java代码 代码链接 题目描述 输入一棵二叉树和一个整数,打印出二叉树中节点值的和为输入整数的所有路径.从树的根节点开始往下一直到叶节点所经过的节点形成一条路径.  ...

  4. RobotFramework自动化测试框架-MongoDBLibrary库的使用

    笔者接着 RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作) 继续分享robotframework 对数据库中的MongoDB的详细操作. Mongo ...

  5. String对象为什么不可变

    转载:https://www.cnblogs.com/leskang/p/6110631.html 一.什么是不可变对象? As we all know, 在Java中, String类对象是不可变的 ...

  6. sql 多行、一行 互转

    原始数据: 期望数据: IF OBJECT_ID('temp_20170701','u') IS NOT NULL DROP TABLE temp_20170701 CREATE TABLE temp ...

  7. android 和h5互调步骤

    1. Android 中调用JS 假如:H5页面中有一段如下JS代码 function h5Test(str){ xxxx... xxxx... } Android中调用方式如下: 步骤一: 启动支持 ...

  8. Flume介绍与安装

    搭建环境 部署节点操作系统为CentOS,防火墙和SElinux禁用,创建了一个shiyanlou用户并在系统根目录下创建/app目录,用于存放 Hadoop等组件运行包.因为该目录用于安装hadoo ...

  9. (一)spring 高级装配-@Profile

    1.环境与profile 示例:数据库配置 a:通过@Bean注解,通过EmbeddedDatabaseBuilder创建数据源 @Bean(destroyMethod="shutdown& ...

  10. 记一次 JavaScript 浮点型数字误差引发的问题

    需求 车间的工人在生产出来产品后,需要完成初步的自检,并通过手机上报.在实际生产中,用户(工人)不方便进行数值的输入,因而表单中的一些项设计成 picker 模式以供选取数值.数值的取值范围,根据允许 ...