我为什么期待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等都具有良好的可视化界面及辅助工具,这些都能极大的减少开发者的时间。
写在最后
我不推崇任何技术,我只按需所取,我不黑微软也不捧微软,我只是说出我的想法,我想要的编码环境。
我为什么期待M#?的更多相关文章
- [Erlang 0115] 2014值得期待的Erlang两本新书
在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份公布了这本书的写作 ...
- 期待已久的2013年度最佳 jQuery 插件揭晓
让人期待已久的2013年度最佳 jQuery 插件揭晓了.在过去的一年里,有很多很多的 jQuery 插件发布出来,而这里文章列出的这些插件从提供的功能更角度来看是其中的佼佼者.相信这些优秀的 jQu ...
- 期待许久的事情终于发生-微软收购Xamarin
刚在VS推送的新闻中看到了醒目的标题:Microsoft to acquire Xamarin and empower more developers to build apps on any dev ...
- paip. 解决php 以及 python 连接access无效的参数量。参数不足,期待是 1”的错误
paip. 解决php 以及 python 连接access无效的参数量.参数不足,期待是 1"的错误 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源 ...
- 基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)
基于Oracle的SQL优化(社区万众期待数据库优化扛鼎巨著) 崔华 编 ISBN 978-7-121-21758-6 2014年1月出版 定价:128.00元 856页 16开 编辑推荐 本土O ...
- Swift的期待
去年底苹果开源 Swift 之后,Google.Facebook和Uber三个互联网巨头就曾在伦敦召开会议讨论Swift在各自开发战略中的地位.近日业界有消息传出,谷歌有意考虑将Swift作为Andr ...
- 期待中冷静前行,专家预测2017年VR产业5大发展趋势
VR在90年代火过一阵后,在2016年迎来了爆发.今年的VR领域,除了Oculus.HTC.索尼等发布的各家硬件,还有许多VR内容争奇斗艳的迸发,但是VR会一直保存热度吗? 事实上,对于科技圈巨头而言 ...
- 12月2日,上海Cloud Foundry Summit, Azure Cloud Foundry 团队期待和你见面!
12月2日,上海Cloud Foundry Summit, Azure Cloud Foundry 团队期待和你见面! 12日2日对中国Cloud Foundry的用户和开源社区来说,是极有意义的一天 ...
- <a href="javascript:void(0);" id='test' onclick="javascript:alert('即将上线,敬请期待!');"><em class="rmwd"></em>征稿平台</a>
<a href="javascript:void(0);" id='test' onclick="javascript:alert('即将上线,敬请期待!');&q ...
随机推荐
- Redis高级应用
上一篇博文讲述了Redis的一些常用命令,可以对数据库及数据库服务器进行操作,本篇将讲述Redis的高级应用及配置 安全性 设置密码:修改redis.conf中的requirepass,在其后面添加密 ...
- 详解apache的allow和deny
今天看了一篇关于apache allow,deny的文章收获匪浅,防止被删,我直接摘过来了,原文地址!!! !http://www.cnblogs.com/top5/archive/2009/09/2 ...
- 矩阵乘法快速幂 codevs 1732 Fibonacci数列 2
1732 Fibonacci数列 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 在“ ...
- [ubuntu]deb软件源
虽然ubuntu的中国服务器的速度已经非常不错,但是难免,会有网络不畅的情形,所以修改软件源地址是一个基础的知识点. 修改ubuntu的软件源的方式有多种,一直是通过ubuntu软件中心提供的UI,还 ...
- 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等
http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...
- POJ 1990 MooFest --树状数组
题意:牛的听力为v,两头牛i,j之间交流,需要max(v[i],v[j])*dist(i,j)的音量.求所有两两头牛交谈时音量总和∑(max(v[i],v[j])*abs(x[j]-x[i])) ,x ...
- 利用WinPcap模拟网络包伪造飞秋闪屏报文
起因 不知道从什么时候开始,同事开始在飞秋上发闪屏振动了,后来变本加厉,成了每日一闪.老闪回去也比较麻烦,作为程序猿呢,有没有什么偷懒的办法呢?(同事负责用户体验,不大懂编程).然后尝试了以下思路: ...
- 【markdown】markdown常用语法
标题 用1~6个# 标题1 标题2 标题3 标题4 标题5 标题6 源码: # 标题1 ## 标题2 ### 标题3 #### 标题4 ##### 标题5 ###### 标题6 引用 引用使用 引用使 ...
- java 15 -7 ListIterator 的特有方法
列表迭代器: ListIterator listIterator():List集合特有的迭代器 该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法. 特有 ...
- 浅谈CLR
1.什么是CLR CLR(Common Language Runtime)公共语言远行时,是一个可由多种编程语言使用的“远行时”.CLR的核心功能(比如内存管理.程序集加载.安全性.异常处理和线程同步 ...