阅读更多

0顶
1踩

开源软件

转载新闻 微软开源 .NET 编译平台 Roslyn

2014-04-04 17:28 by 副主编 WnouM 评论(5) 有6710人浏览
美国旧金山当地时间周四消息,在2014微软Build大会上,Anders Hejlsberg亲自宣布.NET编译平台Roslyn开源。Anders Hejlsberg是Turbo Pascal编译器的主要作者,号称Delphi和C#之父,同时他也是.NET创立者。

Roslyn项目地址http://msdn.microsoft.com/en-us/vstudio/roslyn.aspx



Roslyn包括下一代版本的C#和VB编译器,以及编译器即服务编程接口,可工作于最新版的Visual Studio上。它开放C#和Visual Basic编译器的API,使得开发者可以借助编译器解析代码文件、动态为编程语言增加功能、扩展编译器、自定义编译器动作等。

Cloud and Enterprise执行副总裁Scott Guthrie先生表示,微软将来会开源更多的项目,现已启动24个.NET开源项目,大部分都是经Apache 2.0许可发布的。微软在多年前创造了.Net出于两个原因:一方面为方便开发者开发Windows多种版本的软件,另一方面为了迎合Java编程语言兴起的需要。

而早在十多年前,微软当时的CEO Steve Ballmer曾称开源为“癌症”,如今Steve Ballmer已不再担任CEO一职。Satya Nadella继任后,就一直致力于改变微软在人们心中以往的形象,尤其注重改善与开发人员之间的关系。

微软也于昨天宣布将WinJS项目正式开源,这些开源动作都不是突然的,因为微软云计算平台Windows Azure已经支持Linux和其他开源软件,还有Codeplex开源网站上的开源项目已达28000个了。

微软开源的动作似乎有悖于前CEO以往的作风,但是这无疑表明了微软的发展史正翻开新的一页。

文章来源:The Next Web / 编译:CSDN
  • 大小: 48.9 KB
来自: CSDN
0
1
评论 共 5 条 请登录后发表评论
5 楼 ray_linn 2014-04-09 13:29
正如java 8.0出现lambda和扩展方法,可以预测 Java 9.0 或者 10.0 一定会有这个功能,C# 很早就成了 java 语言上的标杆。
4 楼 ray_linn 2014-04-09 13:27
wandou 写道
c#编译器开源没多大意义。光有编译器不足以移植到其他平台。
要开源得开源整个.net框架。


早开源了,您还睡着哪?
3 楼 simen_net 2014-04-08 10:27
allenny 写道
"另一方面为了迎合Java编程语言兴起的需要" 这用语实在文明用语,颠倒历史

总觉得看E文直译时,有种一万匹某种动物奔腾而过的感觉。
2 楼 wandou 2014-04-07 15:02
c#编译器开源没多大意义。光有编译器不足以移植到其他平台。
要开源得开源整个.net框架。
1 楼 allenny 2014-04-06 21:30
"另一方面为了迎合Java编程语言兴起的需要" 这用语实在文明用语,颠倒历史

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JVM Synchronized 锁实现

    本文着重介绍 JVM 中 synchronized 锁相关的内容。 锁 锁是多线程软件开发的必要工具之一, 它的基本作用是保护临界区资源不会被多个线程同时访问而受到破坏。如果由于多线程访问造成对象数据的不一致, 那么系统运行...

  • 聊聊JVM(九)理解进入safepoint时如何让Java线程全部阻塞

    在这篇聊聊JVM(六)理解JVM的safepoint 中说了safepoint的基本概念,VM thread在进行GC前,必须要让所有的Java线程阻塞,从而stop the world,开始标记。JVM采用了主动式阻塞的方式,Java线程不是随时都可以进入...

  • 深入分析G1垃圾收集实现原理

    请教G1算法的原理 )。 void oop_field_store(oop* field, oop new_value) { pre_write_barrier(field); // pre-write barrier: for maintaining SATB invariant *field = new_value; // the actual store post_...

  • JNI书籍特供

    目录(?)[-] Chap1JNI完全手册Chap2JNI-百度百科Chap 3javah命令帮助信息Chap 4用javah产生一个h...Chap7Jni中C和Java的参数传递Chap8如何将java传递过来的jbyteArray转换成CC中的BYTE数组Chap5使用JNI技术实现java

  • 找出栈上的指针/引用

    继续打捞一些零散的文字。这次是ItEye站内信里的一段对话。 下面是问题和回复内容,带补充。 =================================================================== ...]请教下,识jvm堆栈中一个数据类...

  • JNI 编程文库

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 3.其他信息... 79 Chap...

  • Jni函数调用大全

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 3.其他信息...

  • jni函数说明

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 3.其他信息... 79 Chap...

  • Jni函数调用

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 3.其他信息... 79 Chap...

  • JNI_编程技术__网文整理

    中的返回值问题 ... 65 12 、实例 十二:在 jni 中创建 java 类对象: ... 66 Chap10: 在 Windows 中实现 Java 本地方法 ... 66 1.Java 调用 C . 67 2. 调试 ... 76 3. 其他信息 ... 79...

  • 【转载】Erlang精彩讨论-回“老赵”关于“Erlang中最大的问题”

    原文:http://erlang-china.org/study/puzzle-in-erlang_pattern_match.html/comment-page-1#comments ... 回“老赵”关于“Erlang中最大的问题”July 10th, 2009 :: jackyzGoto com...

  • 【Android】JNI调用(完整版)

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 3.其他信息...

  • JNI详解---从不懂到理解

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 ...

  • JNI函数调用大全

    11、实例十一:在jni中的返回值问题 65 12、实例十二:在jni中创建java类对象: 66 Chap10:在 Windows 中实现 Java 本地方法 66 1.Java 调用 C 67 2.调试 76 3.其他信息 79 Chap11:如何在C/C++中调用...

  • JNI函数调用

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 3.其他信息... 79 Chap...

  • Android Jni 调用

    11、实例十一:在jni中的返回值问题... 65 12、实例十二:在jni中创建java类对象:... 66 Chap10:在 Windows 中实现 Java 本地方法... 66 1.Java 调用 C. 67 2.调试... 76 3.其他信息...

  • 常用1.SchLib

    常用1.SchLib

  • tokenizers-0.26.0.jar中文文档.zip

    # 【tokenizers-***.jar***文档.zip】 中包含: ***文档:【tokenizers-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【tokenizers-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【tokenizers-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【tokenizers-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【tokenizers-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: tokenizers-***.jar***文档.zip,java,tokenizers-***.jar,ai.djl.huggingface,tokenizers,***,ai.djl.engine.rust,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,djl,huggingface,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【tokenizers-***.jar***文档.zip】,再解压其中的 【tokenizers-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: ``` <dependency> <groupId>ai.djl.huggingface</groupId> <artifactId>tokenizers</artifactId> <version>***</version> </dependency> ``` # Gradle依赖: ``` Gradle: implementation group: 'ai.djl.huggingface', name: 'tokenizers', version: '***' Gradle (Short): implementation 'ai.djl.huggingface:tokenizers:***' Gradle (Kotlin): implementation("ai.djl.huggingface:tokenizers:***") ``` # 含有的 Java package(包): ``` ai.djl.engine.rust ai.djl.engine.rust.zoo ai.djl.huggingface.tokenizers ai.djl.huggingface.tokenizers.jni ai.djl.huggingface.translator ai.djl.huggingface.zoo ``` # 含有的 Java class(类): ``` ai.djl.engine.rust.RsEngine ai.djl.engine.rust.RsEngineProvider ai.djl.engine.rust.RsModel ai.djl.engine.rust.RsNDArray ai.djl.engine.rust.RsNDArrayEx ai.djl.engine.rust.RsNDArrayIndexer ai.djl.engine.rust.RsNDManager ai.djl.engine.rust.RsSymbolBlock ai.djl.engine.rust.RustLibrary ai.djl.engine.rust.zoo.RsModelZoo ai.djl.engine.rust.zoo.RsZooProvider ai.djl.huggingface.tokenizers.Encoding ai.djl.huggingface.tokenizers.HuggingFaceTokenizer ai.djl.huggingface.tokenizers.HuggingFaceTokenizer.Builder ai.djl.hu

  • 电力系统PMU优化配置研究——基于MATLAB的多种算法实现与性能比较

    内容概要:本文详细探讨了电力系统中PMU(相量测量单元)的优化配置问题,旨在确保系统完全可观测的同时尽量减少PMU的数量。作者介绍了六种不同的算法,包括模拟退火、图论方法、递归安全N算法等,并通过MATLAB实现了这些算法。通过对IEEE标准测试系统的实验,展示了各种算法在不同规模系统中的表现。文中不仅提供了具体的MATLAB代码实现,还分享了许多实用的经验技巧,如邻域解生成、退火速率设置、拓扑排序等。 适合人群:从事电力系统研究的技术人员、研究生以及对组合优化感兴趣的科研工作者。 使用场景及目标:适用于电力系统状态估计、故障诊断等领域,帮助研究人员和工程师找到最优的PMU配置方案,提高系统的可靠性和经济性。 其他说明:文章强调了在实际应用中需要注意的问题,如变压器支路的影响、节点编号不连续等问题,并推荐了几篇相关领域的经典文献供进一步学习。此外,还提到了一些有趣的发现,如某些中间节点装PMU反而能减少总数。

  • spring-ai-mistral-ai-1.0.0-M5.jar中文文档.zip

    # 压缩文件中包含: 中文文档 jar包下载地址 Maven依赖 Gradle依赖 源代码下载地址 # 本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件;

Global site tag (gtag.js) - Google Analytics