我为什么期待M#?
前段时间的报导“微软将推新编程语言M#:系统编程级别的C#”,第一眼看到并没有当初看到F#的那一种不安,反而感到欣喜,业界一直存在“语言论”讨论c#、java、vb、c/c++等语言的优胜略汰。当然那个时候我也是讨论大军的其中之一,但这一次我看到M#更多的是惊喜是喜悦或者说是完全都是这一种感觉,下面我会给大家分享一下我为什么会如此期待M#。
一些补充(2014-1-8 9:05)
评论很多,看来很多人误解了,希望大家能多去百度、bing、Google一下在进行评论,也是对自己的负责。
首先本文的M#跟这边所指的m#不是一个东西http://www.msharp.co.uk/
原因1:M#还在研发中并没有正式发布。
原因2:网页中的m#重在支持asp.net,而微软定义中的M#是一门编程语言当然不能局限于asp.net
原因3:微软出的编程语言何时收费过?
M#到底会不会脱离.net framework
M#到底会不会脱离.net framework我也不清楚,只是猜测,一种美好的希望,如果连想都不能想是不是有点对不起社会?一个人没有了希望没有了理想还是一个人吗?
M#脱离.net framework是很有可能的一件事
原因1:M#是Midori系统的编程语言
M#已经脱离了Windows,至于有没有脱离NT内核暂时不做猜想,连Windows都脱离了为什么不能脱离.net framework?
摘抄:同时微软目前也正在尝试寻找Midori与Windows系统之间的兼容性,让Midori的应用程序与Windows程序实现共存和互操作,并提供程序移植的方法。
原因2:M#将获得更好的性能
除了小白大家都知道C#、VB.NET、F#、J#都会被编译成IL丢给CLR去执行,如果M#能提升性能并且没有脱离.NET Framework那么C#、VB.NET等其他语言也一样能享受到这个待遇,既然如此为什么M#研发团队会说将比C#获得更好的性能?
原因3:M#从2008年开始研究
如果只是基于.net framework那么需要5年的时间来研究语法吗?如果是这样是不是太没有效率了?
目前看到信息最多的一则报道:http://os.yesky.com/493/35700993.shtml
它是C#的补充
报导里面这么说:“它在C#的基础上添加了系统编程特性,可用来构建各种类型的应用,尤其是云计算应用。”
用C#开发了三年,总觉得缺少了些什么,虽然C/S、B/S都能做但还是觉得少了些什么,期间有考虑过是否尝试c/c++、虽然C#的语法我非常喜欢,是我接触到编程语言中最喜欢的一个,特别是Linq。减少了大量的代码。
那究竟是少了点什么呢?
x1:x2你不是做开发的么?帮我写一个木马我要能看到我女朋友的桌面。
x2:这个简单,明天给你程序。
……第二天……
x2:x1我写好了,你拿去你女朋友机器上直接运行就好了,但是操作系统必须是vista以上的,然后需要安装.net framework 4.5。
x1:怎么看系统是不是vista?如果不是vista以上怎么办?.net framework 4.5是个啥?我怎么安装.net framework 4.5失败呢?你写的程序真糟糕。
x2:……
.net framework,我觉得.net framework是个负担,其实更多时候我觉得是.net framework拖累的C#,为了兼顾VB.NET、F#、C#等语言.net framework实在是太臃肿了,如果C#增加了新特性那么.net framework就需要同时为VB.NET、F#等语言添加对应的实现,虽然中间有IL,但还是太臃肿了,需要同时改变多个编译器,导致各个语言发现了发展瓶颈,维护量大增的问题。
总而言之:C#(.net framework)能做的事情太少了。
更好的性能
“Joe Duffy表示,M#相对C#、Java等其他语言来说,它能在“性能”、“安全与生产力”两方面会达到更好的平衡。”
这其实也牵扯到.net framework的问题,但这里部分地方不明示,大家心里明白就好了。
c#虽然拥有较好的性能但还是不够,至少对于目前来说,虽然现有的CLR可以根据即时环境(详情请看:“在.net中为什么第一次执行会慢?”)动态生成最优的本地码,但对目前CLR对此的处理能力还是太弱了,导致了性能不够理想,而这一点M#团队已经注意到了,他们会寻找到一个平衡点(我琢磨着他们会把M#编译成本地码,而可以同时兼容现有的.NET类库,只不过引用现有的.NET类库需要安装.net framework)。
开源
“同时,他也表示M#最终会开源,有可能就在令人充满期待的2014年”
如果想把C#开发的程序迁移至Liunx、OSX上在以前几乎是不可能的事情,但现在虽然有了Mono可以做到还是会出现很多问题,这一点对于M#来说就无需担心,因为它是开源的这边虽然不能预测M#的开源级别与程度,但可以知道的是至少比现在容易,到那时候我们就可以少了一项从Windows转向Liunx、OSX的障碍了(不知道为什么最近想从Windows转向Liunx Or OSX)。
M#已经研究了数年
据报道,微软研究M#以长达4~5年(多个报导时间不一样,期待有人能给出正确答案),为其数年的编程语言值得期待。
它是微软的
微软虽然有很多的骂名,但不得不说他为开发者所做的,虽然现在的生态环境还远不如java,但他为开发人员带来的便利是极大的,Visual Studio、IIS、SQL Server等都具有良好的可视化界面及辅助工具,这些都能极大的减少开发者的时间。
写在最后
我不推崇任何技术,我只按需所取,我不黑微软也不捧微软,我只是说出我的想法,我想要的编码环境。
如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,转载文章之后须在文章页面明显位置给出作者和原文连接,谢谢。欢迎大家关注微信号。扫下面的二维码或者收藏下面的二维码关注吧(长按下面的二维码图片、并选择识别图中的二维码)

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)