前段时间的报导“微软将推新编程语言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#?的更多相关文章

  1. [Erlang 0115] 2014值得期待的Erlang两本新书

    在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份公布了这本书的写作 ...

  2. 期待已久的2013年度最佳 jQuery 插件揭晓

    让人期待已久的2013年度最佳 jQuery 插件揭晓了.在过去的一年里,有很多很多的 jQuery 插件发布出来,而这里文章列出的这些插件从提供的功能更角度来看是其中的佼佼者.相信这些优秀的 jQu ...

  3. 期待许久的事情终于发生-微软收购Xamarin

    刚在VS推送的新闻中看到了醒目的标题:Microsoft to acquire Xamarin and empower more developers to build apps on any dev ...

  4. paip. 解决php 以及 python 连接access无效的参数量。参数不足,期待是 1”的错误

    paip. 解决php 以及 python 连接access无效的参数量.参数不足,期待是 1"的错误 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源 ...

  5. 基于Oracle的SQL优化(社区万众期待 数据库优化扛鼎巨著)

    基于Oracle的SQL优化(社区万众期待数据库优化扛鼎巨著) 崔华 编   ISBN 978-7-121-21758-6 2014年1月出版 定价:128.00元 856页 16开 编辑推荐 本土O ...

  6. Swift的期待

    去年底苹果开源 Swift 之后,Google.Facebook和Uber三个互联网巨头就曾在伦敦召开会议讨论Swift在各自开发战略中的地位.近日业界有消息传出,谷歌有意考虑将Swift作为Andr ...

  7. 期待中冷静前行,专家预测2017年VR产业5大发展趋势

    VR在90年代火过一阵后,在2016年迎来了爆发.今年的VR领域,除了Oculus.HTC.索尼等发布的各家硬件,还有许多VR内容争奇斗艳的迸发,但是VR会一直保存热度吗? 事实上,对于科技圈巨头而言 ...

  8. 12月2日,上海Cloud Foundry Summit, Azure Cloud Foundry 团队期待和你见面!

    12月2日,上海Cloud Foundry Summit, Azure Cloud Foundry 团队期待和你见面! 12日2日对中国Cloud Foundry的用户和开源社区来说,是极有意义的一天 ...

  9. <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 ...

随机推荐

  1. 常用vi编辑命令

    在自己的博客里存起来,这么多全记住确实有点难,时不时的翻一翻到是可以的. 摘自:http://www.cnblogs.com/junw_china/articles/1708967.html 光标控制 ...

  2. linux设置tomcat开机启动

    [root@iZ94j7ahvuvZ ~]# cd /etc/rc.d/ [root@iZ94j7ahvuvZ rc.d]# cat rc.local #!/bin/sh # # This scrip ...

  3. Qt与VC编程合作起龌龊

    由于历史原因,某软件项目的界面采用QT,而后台用了VC,界面静态调用了VC生成的dll,一直以来都能够快乐的合作,然而最近出现两个小问题,觉得两者之间的合作并没有想象的那么美好. 在VC下用多媒体定时 ...

  4. noip2008普及组4题题解-rLq

    (啊啊啊终于补到了今天的作业了) 本题地址:http://www.luogu.org/problem/show?pid=1058 题目描述 小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣 ...

  5. MySql目录没有data文件夹怎么办

    下载的是mysql的压缩包,解压后,更改my.ini文件,里面有个指向data文件夹的路径,但是mysql安装目录没有data文件夹,需要执行 mysqld --initialize --user=m ...

  6. 【Java基础】java 获得本日,本周,本月的时间戳区间

    如果涉及到统计的话,可能会经常用到.很简单的基础知识. 1.getTimestampByOffsetDay public static long getTimestampByOffsetDay(int ...

  7. emberjs重写补充类之reopen方法和reopenClass方法

    无需一次性将类定义完全,你可以使用reopen方法来重新打开(reopen)一个类并为其定义新的属性. Person.reopen({ isPerson: true }); Person.create ...

  8. 使用PDO进行sql的预处理和操作结果集

  9. PHP header函数的几大作用

    先看看官方文档的定义 (PHP 4, PHP 5, PHP 7) header - 发送原生 HTTP 头 void header ( string $string [, bool $replace ...

  10. sqlSQL2008如何创建定时作业(代理服务)(转)

    SQL2008如何创建定时作业?此方法也适应于Sql Server2005数据库,有兴趣的可以来看下! 1.打开[SQL Server Management Studio],在[对象资源管理器]列表中 ...