- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为什么我不再用 .NET 框架
为什么我不再用 .NET 框架
.NET平台很棒。真的很棒。直到它不再那么棒。我为什么不再用.NET ?简单来说,它限制了
我们选 的能力(对我来说很重要),转移了我们的注意力,使得我们向内认知它的安全性,替代了
帮助我们认知外面广阔世界的所有可能性。
[系好安全带:这个文章的长度几乎成了一本书…]
优点
首先让我开始说说.NET做得对的许多事吧,尽管这其中的大多数并不来自.NET本身,但却
是由.NET社区而来。
C#
C#令人惊叹。我认为它是一个令人惊叹的编程语言。从强大的C语言背景而来,我彻底地喜
欢其语法,流和这门语言的所带来的感觉。当然有我可能改变的事,但总体来说它是一门扎实的
语言。并且基于开发人员使用的编程语言如此巨额的百分比和Windows操作系统的优越性,它是
一门众所周知的语言。
ReSharper
我也很喜欢Resharper。在JetBrains工作的开发者们都是奇迹般的人。如果没有ReSharper和
一些相关的工具,我可能并不会如此喜欢C# 。
BDD and MSpe
我也很喜欢简称为机器规格(mspe )的BDD风格的框架。它是一个令人惊叹的测试框架,真正
支持在测试中使用正确的语言测试本身。在使用mspe 之前,我的测试真是一团糟并且很碍我
的事。
另外,当我们创建GoConvey—基于Golang 的BDD测试框架的时候,Mspe 对于我的组织来
说是一个巨大的灵感和激励。
多语言运行时
我认为多语言的CLR(公共语言运行时)的观念真得使得JVM的世界思考着。我不知道任何
非Java的JVM语言在CLR之前,但随着“公共语言运行时”的到来,我的理解是这使得使用JVM的
人们向前进并且最终创造了如S ala和Cloj ure这样伟大的JVM编程语言。如果我错了请纠正我。
再者,CLR使得Sun公司的人们坐下来并关注它,因为Java有一点陈旧并且随着Java 8 的到来,
仅仅现在才在多个方面追赶着。竞争是一件非常好的事。
NuGet
另一个显著的例子是NuGet 。这个包在Windows 中作为一个整体特别是在Windows的开发中
,它的管理轶事是糟透的。NuGet解决了很多问题,他们也通过从Python和Ruby借用了很多东西
去做了很多正确的事。有改进的余地吗?当然。但比起其他一些选 在这儿或那儿的包升级来说
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 1
,我还没有感到使用NuGet有这许多痛楚。
Mono
对于Mono 的开发者们,我不能不说太棒了。他们所创造的太惊奇了。没有任何官方支持和不
顾潜在的悬在他们头上的法律问题,他们向前推进并创造了一个居然能替代官方运行时的实现。
我已经有一些运行在产品中应用程序,在Mono下运行了几乎一年而没有任何问题。它的产品准备
好了吗?这可能取决于你的应用程序(见下文“Mono”)。
CQRS 和事件溯源
可以认为,关于.NET最好事之一是,它是CQRS 的诞生地并有相关的技术:事件溯源。就算
这样,CQRS+ES本身并没有什么很新的东西。正如Greg Young将会告诉你的,这是由一堆40年
历史原料为我们重新打包并更名的。对于大型代码库我有些非常严重的问题,当我5年前使
用CQRS+ES 的时候,它完全释放了我的域。CQRS+ES现在是命名模式的并且其成长是显而易
见的。这可能是因为.NET 已经能够和其他的开发平台交互共享的原因。除了这个之外,大多数的
创新是从外部来的。
缺点
优点先放在一边,让我们看看什么出错了和我为什么不再用.NET框架。关于我最近开发平台
的迁移,最能激励我的事是我可以利用许多最好的部分而丢下不好的部分(如下文所说)。
Windows
正如前文所述,当面对基于网络的服务器软件时,Windows并不是一个好的选手。在我
看来,Windows的另一个真正的大问题是传统的Windows开发者是通常仅仅擅长于Windows,当
他们离开安乐窝之后就会很快迷失,这对于Linux开发者来说却不是问题。计算远不止是Windows
。开发者仅仅能操作单一的操作系统的一个问题是它不可避免得导致Windows的激增。换句
话说,Windows生了W
文档评论(0)