Visual Studio 20周年软件趋势随想
从2002年开始,.net让开发人员能快速构建和部署应用程序,便捷的开发windows和web服务器应用,同时著名的hacker Miguel de Icaza ,Miguel 为了GNOME项目启动了另一存志高远的项目:Mono,一个Microsoft .NET Framework的自由GNU/Linux实现,我是循着Miguel的指引踏上了.net开发之路,一路陪伴Visual Studio 走过15年的软件开发历程,在这Visual Studio 20周年之际,有感而发写下这些感想,期待将来的3年时间是验证这些感想。
.NET开发目前在中国大陆地区很艰难,经常耳闻一些公司转Java,不妨有很多成功案例,比如京东,京东转的非常成功,它是一个有理想的互联网公司,.Net的在京东企业中发展中扮演的角色是快枪手,在企业刚起步时候选择易上手的.Net无非是最好的选择之一,但是因为.Net的高度封装,让.Net高级人才在市场上十分稀少,而且企业在创立之初应用.net的时候也不会考虑架构之类的问题。可是随着业务越来越复杂,.Net开发人员无法解决和满足市场的需求和项目中出现的技术难题,技术债随之产生,解决不了问题随之一些程序员便让.Net背锅,再加上.Net的新技术推陈出新,当年的.NET的老爸微软偏偏让.NET偏居于Windows一脚,虽然有Mono也是跨平台,但是那时候的Mono远没有现在这么成熟,甚至于.NET开源社区受到了微软的打压,在这个互联网开放开源的时代,微软逆势而为,它也付出了重大的代价,错过了整个互联网高速发展的时代,2014年之后微软换了CEO,全面拥抱Linux,.NET Core开源,收购Xamarin,构建起了全新的生态,微软的重心转移到了Azure,微软算是抓住了云计算时代,微软市值已经增长到了5000亿美金,才次达到他的顶峰,.NET Core也经过了2年的迭代,5月份发布.NET Core 2 Preview,也就会补齐各类API,再一次进入主流开发平台,这就是趋势,验证一句老话:顺势者昌,逆势者亡,下面这张图非常好的注释了微软的走向。
上面这张股票走势图很形象的表明了微软的技术方向的趋势走势,Steve Ballmer是个销售出身的CEO,缺少了科技公司CEO应有的科技趋势洞察力,基于商业的考虑让着跨平台基因的.NET困死在Windows之上,互联网浪潮的到来,微软却还守在卖license,导致和互联网浪潮插身而过,在中国市场更是一败涂地,导致这么好的.NET技术无人问津,很多国内社区对.NET技术呲之以鼻,但是俗话说“三十年河东、三十年河西”。 .NET 技术在国外像微软的股价一样已经崛起,国内现在正是.NET技术的最低谷,但是我们看到的是.NET技术崛起的趋势,纵观国内技术社区的动向也在表明这个趋势正在转向,Visual Studio 2017上线发布,国内主要的开发者社区也表达庆贺,并将与微软中国携手展开多项活动,加速推动国内开发者的升级转型,详见 Visual Studio 2017全面上线!CSDN开启Visual Studio移动跨平台开发转型大作战。拥有超过4,500万会员、国内最大的开发者社区CSDN创始人蒋涛先生表示:“诚挚祝贺VISUAL STUDIO 2017新版本的发布,祝贺VISUAL STUDIO 20岁生日快乐!CSDN创建于1999年,这18年来社区发展壮大的历程,与中国VISUAL STUDIO程序员的成长紧密相随,他们在CSDN上不断学习、解惑、交流和成长,这些一路走来的朋友们,如今大多已成长为各行业中IT技术势力的骨干力量。与微软中国一路走来、并肩奋斗,我们感到非常荣幸。”对于微软近三年在开发技术领域,坚决走向开放、开源与跨平台的战略方向,蒋涛很是赞同,他相信这个方向对于推动中国传统企业与开发者的数字转型会更有帮助。基于此,CSDN将与微软中国继续携手合作,为国内VISUAL STUDIO开发者们,打造一条推动个人转型并助力企业转型的康庄大道。“我们希望让专注于网页开发的.NET程序员,能够借助VISUAL STUDIO所提供的新价值,快速转型成为安卓和iOS的移动APP开发者”,蒋涛说:“在技术培训外,我们更希望藉由大规模行业转型成功案例的征集,快速积累一批由开发者领头的数字转型行业先驱,进而影响更多的传统行业,通过运用来自互联网大潮的新科技与新模式,让传统行业升级换代。这个过程中,程序员自身能力的转型会是关键因素,同时微软对VISUAL STUDIO工具的创新也将起到重要推动力量。”
闻名于国内架构师与研发经理人社区的极客邦科技和微软战略合作,Visual Studio2017上线!极客邦科技和微软中国达成战略合作。创始人兼CEO霍泰稳先生,也为Visual Studio 2017的发布致上祝贺:“微软公司在开发技术与开发工具方面,几十年来一直倾注大量的心力。一个开发工具能够流行20年,历久弥新,持续受到欢迎,是很不容易的事情,对这次新版本的发布送上我的衷心祝贺。”长期与国内互联网技术圈子互动频繁的霍泰稳,特别关注到微软开发模式转变的成功实践,正好切合当前行业对于 DevOps 技术的关注。DevOps 已经被普遍认为是企业开发团队要实现互联网转型所必须采用的开发方法。霍泰稳认为,微软在这么短的时间内,就能够实现开放、开源与跨平台的颠覆性技术创新,这与其 Visual Studio 开发团队在 DevOps 开发方法转型上的成功是分不开的。对于互联网技术如何助力中国企业新一轮的产业升级,霍泰稳强调说:“传统企业与互联网行业在开发方法的转型上,虽然可以有相互借鉴之处,但肯定有完全不同的考虑。观察微软 DevOps 方法在国内大型企业的推动实践,我认为微软的DevOps方法相当适合于传统企业必须稳中求变、兼顾管理与速度、最大化程序员生产力的要求。极客邦科技的斯达克学院已经与微软中国展开深入的合作,以咨询化培训的方式,帮助实体行业的开发团队加速DevOps的旅程,让国内更多的企业受益于微软的宝贵经验,共同完成互联网化转型。”
2014年微软发布了跨平台的开源版本的.NET Framework:.NET Core,现在它显然已经成为了.NET未来的发展方向。 微软当年已经感受到了来自Java的威胁(当时Sun还未被Oracle收购),因为与C和C++相比Java有着跨平台和简单易学的特性。微软推出的C#语言虽然没能完成其消灭Java的任务但在商业应用开发上的成就是有目共睹的,国内现在一样是承受着Java的威胁,.NET Core和Visual Studio 2017的发布让我们可以很好的应对来自于Java的威胁,.NET Core赋予.NET应用以跨平台性能也符合今日软件开发的新趋势:应用的容器化和微服务化。在微软新推出的Nano微服务器中运行的就是.NET Core,这也是微软为DevOps和应用的持续交付自动化所做出的努力。对于跨平台产品来说,将其开源是最可行的吸引新用户构建生态系统的方法,但对于微软来说这无异于自动放弃一部分收入。基于.NET Core的应用可以运行在非Windows系统之上必然会降低消费者购买Windows授权的意愿。失之东隅,收之桑榆,微软希望在云平台Azure上的收入可以弥补甚至超过Windows版权上的损失。Azure同时支持Linux和Windows所以只要往Azure上面部署哪怕用的是Linux系统微软也能挣到钱。
随着.NET Core生态的逐步完善,相信未来.NET 重新引来发展的的机会,这是趋势,我想奉劝那些听到一些人的忽悠就抛弃.NET的公司,静下心来好好的评估下转换一门技术的成本和代价,是否有转的必要。听到很多人说转的一个理由是Java的解决方案多,再多的解决方案也是搬别人的,.NET相关的方案现在也不少,最典型的就是游戏领域,腾讯和网易我不详细说了,这里有个现任MVP的创业故事可以给你一点启发《微软.NET年芳15:我在Azure上搭建Photon服务器(C#.NET)》,这几百万买来的教训,希望你不要重蹈这样的错误。顺便提下早在2013年中国互联网惨遭Struts2高危漏洞摧残,最近几天相关漏洞又在发威。
我们要成为一家科技公司的话,我们要对技术有投入,无论是个人还是公司,都可以采用开源模式链接全世界的程序员来建设.NET 生态,最近我加入了一个API Gateway项目Ocelot,项目的功能参考https://github.com/TomPallister/Ocelot/projects/1,大部分基础特性已经完成,接下来就是要不断的重构打磨,这个项目有非常完善的单元测试,验收测试来保障我们的重构工作,保证我们的代码质量。
Visual Studio 20周年软件趋势随想的更多相关文章
- .NET 20周年软件趋势随想
从2000年微软启动.NET战略时,我还是一位大学生,当年著名的黑客Miguel de Icaza , Miguel 为了寻找GNOME项目开发框架经过充分的调研启动了一个志存高远的项目:Mono,一 ...
- Visual Studio 20周年,我和VS不得不说的故事(内含福利)
Visual Studio 2017正式版已如期发布(点击这里查看发布全记录)!自去年 11 月正式宣布 Visual Studio 项目之后,微软终于正式推出了“宇宙最强集成开发环境(IDE)”的最 ...
- Visual Studio 20周年,我和VS不得不说的故事
Visual Studio 2017正式版已如期发布(点击这里查看发布全记录)!自去年 11 月正式宣布 Visual Studio 项目之后,微软终于正式推出了“宇宙最强集成开发环境(IDE)”的最 ...
- Visual Studio 20**自动添加头部注释信息
关于Visual Studio 20**自动添加头部注释信息 作为一个万年潜水党,不关这一篇文章技术含量如何,也算是一个好的开始吧. 在日常的开发中我们经常需要为类库添加注释和版权等信息,这样 ...
- 关于Visual Studio 20**自动添加头部注释信息
作为一个万年潜水党,不管这一篇文章技术含量如何,也算是一个好的开始吧. 在日常的开发中我们经常需要为类库添加注释和版权等信息,这样我们就需要每次去拷贝粘贴同样的文字,为了减少这种重复性的工作,我们 ...
- Visual Studio 20年
这是一个暴露年龄的话题,如果一个程序员从第一个版本开始使用Visual Studio的话,现在应该是40多岁的中年大叔了.我的程序员生涯是从Visual basic 6.0 (vb6)开始的,一晃就过 ...
- .NET十五周年生日快乐 (3月7日发布Visual Studio 2017正式版?)
今天 是.NET 对世界首次亮相15 周年.2002 年 2 月 13 日,第一版本的.NET 发布作为 Visual Studio.NET 的一部分.它仿佛就在昨天为微软建设成"下一代 W ...
- Visual Studio 2017 针对移动开发的新特性介绍
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Visual Studio是世界上最好的IDE之一,如果是 .NET世界,那就没有之一了(^_^),而最近推出的Visual S ...
- 从Visual Studio看微软20年技术变迁
前言 这个世界从来都不缺变革,从工业革命到晶体管和集成电路,从生活电器到物联网,从简陋人机到精致体验,我们在享受技术带来的便捷的同时,也在为复杂设计而带来的挑战和生产力下降而痛并快乐着.而迫切期盼的, ...
随机推荐
- 字符集 ISO-8859-1(1)
HTML 4.01 支持 ISO 8859-1 (Latin-1) 字符集. ISO-8859-1 的较低部分(从 1 到 127 之间的代码)是最初的 7 比特 ASCII. ISO-8859-1 ...
- hdu-3790-最短路径问题(dijkstra算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 这题cin会超时i 关于解决cin超时的问题 在main函数开头加上 ios::sync_wit ...
- MongoDB安装环境搭建
Mongodb的默认端口号27017 _id是全局唯一值,不要去给这个列赋值,默认是唯一的,如果赋值,列入有两列的_id:2,则会报冲突不能插入 [root@HE4 ~]# tar xvf mongo ...
- linux学习笔记----文件与目录管理
一.目录处理命令 cd:切换目录 pwd:显示当前目录 mkdir:新建一个新的目录 rmdir:删除一个空的目录 1)pwd:显示当前目录 pwd [-P] P:显示出当前的路径,而非使用连接(li ...
- doubango(3)--协议栈的启动过程
协议栈启动的上层接口 对于Doubango中得sip协议栈,是通过SipStack类粘合上层代码与底层代码的,该类定义在SipStack.h中,实现在SipStack.cxx中.当构造好一个SipSt ...
- 二维动态规划——Interleaving String
97. Interleaving String Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2 ...
- 30万奖金!还带你奔赴加拿大相约KDD!?阿里聚安全算法挑战赛带你飞起!
KDD(Knowledge Discovery and Data Mining,知识发现与数据挖掘)会议,作为数据挖掘届的顶会,一直是算法爱好者心中的圣地麦加. 想去?有点难. 给你奖金和差旅赞助 ...
- jquery 实现table的动态合并列
常见的table是一行一列的形式,当有时会遇到后台的数据在前台显示时, 需要显示多对一,eg: 这是后台初始的数据,现在我要显示为: 思路:将第3列的td的rowspan改为为行数, 删除第一行之外的 ...
- android: activity之间切换的抽屉效果
之前一直用的是向左平移和向右平移的切换动画,看到别的APP那个抽屉效果,自己也弄了一个!感谢给我提供帮助的大神们! 将退出动画的参数设置为0时,进入动画则设置为向左平移,就实现了抽屉效果! 进入的动画 ...
- [笔记]A Practical Guide to Support Vector Classication
<A Practical Guide to Support Vector Classication>是一篇libSVM使用入门教程以及一些实用技巧. 1. Basic Kernels: ( ...