一起谈.NET技术,谈谈微软技术,以及对待技术应有的态度

简介:   昨晚在家上网,看看微软研究院TechFest 2010的消息,逛逛Channel 9,瞅瞅DevLabs里的项目,以及F#与Reactive Framework之类东西。然而,我一边对那些有趣而奇妙的技术感叹不已,同时却又产生出一种忿忿之情。

  昨晚在家上网,看看微软研究院TechFest 2010的消息,逛逛Channel 9,瞅瞅DevLabs里的项目,以及F#与Reactive Framework之类东西。然而,我一边对那些有趣而奇妙的技术感叹不已,同时却又产生出一种忿忿之情。为什么?因为在国内的技术圈子里,经常有一种在我看来莫名奇妙的鄙视微软技术的风气。这样的风气在国内的推特圈里也非常明显,基本上只有我一个人对微软的技术抱有好感,并“勇于”和大量意见向左的人争辩。忿忿之余,我便在推特上不断表达我对这种风气的抱怨及否定,在这个过程中也基本表达了我在这方面的大部分看法,在这里也进行一番总结总结吧。同时,我也想对微软社区的许多弟兄讲一些话。

  现在有这么一个群体叫做“Microsoft Hater”,他们的表现出对微软十足的敌视,在他们眼中,微软的一切都是恶劣的,凡是微软的就要抵制,微软的任何产品任何技术都不值一提,因为微软本身就是一家没有技术的小公司,只是靠商业手段而成功的小公司。在他们眼里,但事实真是如此吗?是的,我不否认微软的成功有相当部分是商业上的运作,毕竟像Sun公司那样孕育了无数优秀技术的公司最后还是走上落没之路。但是我在这里还是想告诉那些Microsoft Hater们,在许多方面微软的技术绝对是值得钦佩的。

  我有时候很不了解一些人的逻辑,他们经常说微软技术差,没有创新。但是,微软那么多科学家搞出来的LINQ,Reactive Framework,Parallel Library,F#等等,哪个不是创新,哪个不是开发方式上的突破呢?是的,在一定程度上我同意微软在商业方面常常是个后来者,它在产品上的创新似乎并不突出。但是,我相信所有人都能够明白一个道理:产品和技术是两码事,技术优秀并不是产品优秀的充分条件。反之,一个创新产品背后的技术也可能已经被运用了无数多次。如果从技术角度来说,微软的创新绝对不少。但问题就是,您关注了吗?

  在争辩的过程中,我时常发现对方其实并不重视微软技术——有时他们也会表示根本不在乎这些。诚然,不关注微软技术,对于一个技术人员来说也是十分正常的事情。但是,如果在不关注、不了解的同时,却还自信满满地坚持微软没有优秀技术,这便让我难以接受了。再者,由于多年不关注微软的技术发展,有些弟兄也会拿某某领域在如今的发展与微软在5年甚至更早前的情况进行比较,以此证明微软技术有多么糟糕。但是,可能在另一场争论中,他们又会认为微软技术发展得太快——那么到底什么才是真实的情况呢?

  事实上,我们可以发现,在各种技术大会上都能看到微软的身影,微软更是世界知名的科研“大户”。在业界有许多著名的科学家,他们的贡献非常令人瞩目。但是在某些人眼里,他们一旦到了微软,接下来的工作也就没有价值了。几年前在学校BBS与人吵架时,我还听说过这样的说法:那些人不能算是微软的,他们都是微软从别处挖来的,所以微软还是没有技术。但是他们却没有想过,他们所爱戴的谷歌公司,却也特别喜欢从微软挖人。甚至可以这么说,在谷歌里有几个人不是挖来的呢?好吧,俗话说“爱她就要包容她的一切”,我相信Microsoft Hater们一定都是好男友、好丈夫。

  不过也有人会这么说:微软研究院和微软的技术水平并没有关系。微软研究院只能看作是微软对IT业所建立的“慈善机构”,或是微软开办的大学,与微软“自身”的技术水平关系并不大。但事实上,微软的技术大都是由研究院发起或指导的,譬如我之前提到的每个技术都是这样,无一例外。微软不是傻子,它为什么要出钱出力不求回报,它最强的地方不就是商业手段吗?如果您关注一些微软相关的资料,例如Channel 9或PDC大会,就会发现讲解我们那些常用技术的,许多都是研究院的科学家。例如,F#的设计者之一Don Syme也是Haskell语言的主要设计者,站在.NET平台GC背后的Patrick Dussud在加入微软之前,也一直在LISP运行时等领域耕耘。微软研究院的技术实力并不是空中楼阁,其中许多都是实实在在体现在微软的技术中。

  我承认,微软的很多东西都有问题,因此我也从来不为Vista辩护。我也喜欢开源,支持开源,从来不会在任何场合支持微软的封闭策略。总而言之,我从来没有昧着良心去为微软做广告,写软文。我甚至也对国内微软MVP有太多名不符实的情况提出过质疑。既然微软有那么多不好的地方,但我为什么喜欢微软技术?因为我是个纯粹的技术人员,我了解微软有着多么优秀的技术,如果放弃这些我一定会心有不甘。同理,我也会去接触微软平台之外的技术以及各种优秀的东西。例如,在推上听到很多人说Mac是多么多么好,即便某些地方略显偏激,但的确也表达了他们的真实想法和相当部分的真实情况。于是,我为了更深一步理解他们的说法,也找个机会加入了水果党。然后,即便用得不爽也努力地unlearn在Windows下的各种习惯,不以此认为是Mac的缺点。学习新东西,我可以理解这种情况。

  我现在感到不爽的原因,实在是觉得微软那么多好技术,却没个讨论的地方,这算是什么状况!在我看来,仇视微软不是个正确的技术氛围,推上那么多nb的技术高手,舆论氛围为什么却是一边倒?我“发飙”也不是因为微软被鄙视了,而是我认为太多技术人员鄙视微软的手段实在不够技术化。Linus也曾经说过:仇视微软是一种病(I think the Microsoft hatred is a disease)。在我看来,很多时候我们的技术氛围的确有些病态。

  我还是想说那个经典到有些老掉牙的案例。在很多年前,业界普遍存在的观念,便是“.NET平台不适合实现动态语言”,这是因为之前ActiveState公司实现Python后发现性能太差。但是,Jython的创建者Jim Hugunin认为,既然JVM上实现Python语言的效果不差,为什么同样在原理类似的CLR平台上却有不一样的结论呢?于是他便开始关注.NET平台,关注CLR,并且尝试实现一个Python原型,希望找出.NET平台不适合动态语言的原因。但是最后的结果令人惊讶,因为在标准的pystone评测中,Python在CLR上的性能表现甚至比C语言的Python实现有很大领先(这个故事的更多情况,请参考Rednaxelafx的文章)。

  后来,Jim加入了微软的CLR小组,为了得到更好的IronPython实现,也努力让CLR成为一个更好的运行时。因为IronPython的突破,后来又有了IronRuby,最后又总结出动态语言实现的通用基础类库DLR。而在我看来Jim最了不起的地方在于,他努力使IronPython,IronRuby和DLR都保持完整的开源(使用通过OSI认证的MS-PL开源协议)。我们现在也可以发现,微软后来的各种框架/类库,包括ASP.NET MVC,F#等等都是MS-PL开源的,说不定其中也有受到Jim的影响在里面。

  好,那么我们来做个假设。如果Jim当年和许多Microsoft Hater一样对微软抱有敌视态度——而且理由很充分:“已经有人“证实”了.NET是个垃圾平台”——那么,世界上就不会有IronPython,IronRuby或是DLR。再假如,如果Jim在加入了微软之后,没有坚持自己的态度,让IronPython等项目就此闭源,那么我们也无法如此轻易地学习到这些美妙的技术。Jim对于技术所保持的这种纯粹,才是真正推动技术进步的手段。与此相比,靠耍嘴皮子来敌视微软算个毛本事?

  其实我也能够部分理解某些人的看法。例如昨天有朋友这样说到:

回顾下微软的商战史,对Linux的打压,企图收购WPS时的高傲姿态之后,就一点不会觉得微软冤枉。微软技术牛谁都清楚,但恐怕对这里的人对微软进行口碑反营销够不成什么影响。这个过程理性是次要的,掀起一阵弃用微软的潮流才是目的。

微软的东西在有些层面上确实高效方便,甚至对很多企业和个人扮演救世主的角色。但当你要产业链中向上跻身的时候,早晚有一天微软会变成一个恶魔,四处围剿你的产品。因此作为任何一个有远见的从业者,都是无法坦然的接受这种IT财阀的存在的。

  而我的看法依然没变:我没有对微软进行口碑营销,我只是在谈技术,我只是不想技术被其他东西淹没了。我也没有打算让任何人喜欢微软的商业文化,我只想谈论技术——作为技术人员,为什么要让商业来盖过技术?借鉴技术,交流技术才能发展技术。此外,技术也是相通的,我相信微软今天倒了,下个星期我就能去开发Java,开发Rails,开发Django。我有自信可以比无数不了解HTTP协议,不知道Web开发规律的人要厉害。同样,我相信让某些牛人来搞.NET,不出一个月肯定能比8成博客园的弟兄要强大许多。

  为什么谷歌当年要从微软大量挖人?是因为谷歌在使用微软的技术,还是微软在使用谷歌的技术?那些熟悉微软技术的牛人们,难道不也是立即转向某些人眼中“截然不同”的领域吗?我认为其中的道理已经再清楚不过了。

  我写了这么多,其实也并非只在对Microsoft Hater们表态。事实上,我在推特上遇到的技术达人们并非我之前描述的那么夸张。他们虽然不喜欢微软,但是大都还是理性的,和他们的辩论过程中我也了解到很多其他技术的优秀之处,对我帮助很大。接下来,我就想谈一下我对微软技术社区的一些不满之处了。

  博客园是国内微软技术的标杆,这点毋庸置疑,但从中我们可以观察到另外一些倾向。一是盲目自卑,二是盲目自信。两者其实是统一的:前者在于认为不了解微软技术,认为微软技术不过尔尔,没有竞争力,而后者却认为微软实力天下无敌。这些也都是闭塞的表现。我认为,作为一个优秀的技术人员,一定要放开视野,吸收各种技术的优秀之处,取长补短,这样才能有所发展。喜欢一门技术不要紧,对一门技术有倾向性也不要紧,这才构成了多元化的世界。甚至,我认为这也是技术发展的要素之一,因为只有喜欢一门技术才想要真正去发展这门技术。从某个角度来说,盲目敌视外部世界往往也不是真粉丝们的表现,因为这样的人是很难对技术发展做出贡献的。

  闭塞还导致了另一种现象:某些朋友先是对微软技术抱有盲目乐观的态度,但是忽然有一天,在发现微软技术也有其局限性(这难道不是必然的吗?)之后大失所望,于是转向另一个平台再开始鄙视微软技术。这就好比一个极端的理想主义者,在思想收到冲击之后变成一个极端的虚无主义者。无论走哪种极端都是不对的,而且,如果从一开始就保持良好的视野和心态,便可以各取所长,同时享受多个平台的技术优势。

  至少在目前看来,至少在国内,我认为微软平台的技术人员还是太闭塞了,比微软外的技术人员要封闭许多。举个实例,我的真实体会,为什么作为一个微软平台的技术人员,在推特上我总是很少见到博客园的各位呢?

  弟兄们赶快打开视野吧,就从上推特开始吧,我在那里等着你们

目录
相关文章
|
4月前
|
人工智能 数据处理 芯片
D1net阅闻 | 英伟达Blackwell芯片机架出现故障 微软等大客户削减部分订单
D1net阅闻 | 英伟达Blackwell芯片机架出现故障 微软等大客户削减部分订单
|
2月前
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
|
4月前
|
人工智能 安全 数据中心
D1net阅闻 | 微软CEO对话特朗普和马斯克:豪掷800亿美元建AI数据中心
D1net阅闻 | 微软CEO对话特朗普和马斯克:豪掷800亿美元建AI数据中心
|
4月前
|
人工智能 搜索推荐 机器人
D1net阅闻|据悉微软致力于在365 Copilot产品中添加非OpenAI模型
D1net阅闻|据悉微软致力于在365 Copilot产品中添加非OpenAI模型
|
4月前
|
人工智能 数据中心 芯片
D1net阅闻 | 400亿美元!OpenAI巨额融资有望落地,软银取代微软成最大投资方
D1net阅闻 | 400亿美元!OpenAI巨额融资有望落地,软银取代微软成最大投资方
|
6月前
|
开发框架 算法 .NET
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
C#/.NET/.NET Core技术前沿周刊 | 第 15 期(2024年11.25-11.30)
|
6月前
|
开发框架 Cloud Native .NET
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
C#/.NET/.NET Core技术前沿周刊 | 第 16 期(2024年12.01-12.08)
|
7月前
|
自然语言处理 物联网 图形学
.NET 技术凭借其独特的优势和特性,为开发者们提供了一种高效、可靠且富有创造力的开发体验
本文深入探讨了.NET技术的独特优势及其在多个领域的应用,包括企业级应用、Web应用、桌面应用、移动应用和游戏开发。通过强大的工具集、高效的代码管理、跨平台支持及稳定的性能,.NET为开发者提供了高效、可靠的开发体验,并面对技术更新和竞争压力,不断创新发展。
280 7
|
7月前
|
开发框架 安全 .NET
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱。它不仅加速了应用开发进程,提升了开发质量和可靠性,还促进了创新和业务发展,培养了专业人才和技术社区,为软件开发和数字化转型做出了重要贡献。
116 5
|
7月前
|
机器学习/深度学习 人工智能 物联网
.NET 技术:引领未来开发潮流
.NET 技术以其跨平台兼容性、高效的开发体验、强大的性能表现和安全可靠的架构,成为引领未来开发潮流的重要力量。本文深入探讨了 .NET 的核心优势与特点,及其在企业级应用、移动开发、云计算、人工智能等领域的广泛应用,展示了其卓越的应用价值和未来发展前景。
133 5

热门文章

最新文章