不要奢望.NET能够跨平台
有人跟我说了这么一件事。他们公司做机顶盒开发,原来是Windows XP + .NET作的,但是由于机顶盒免费赠送给客户的,而一个Windows XP需要88美金,因此成本翻倍。公司高层最终不愿意花这一笔钱,就迁移在Linux是用Mono重新实现一遍所有的功能,但是在开发过程中遇到了种种问题,频繁出现死机现象。
我听了觉得十分好笑,竟然有人还把.NET能够跨平台当真一回事,可谓智商无下限!
微软的.NET只有很小一部分提交给了ECMA,而其他部分的API,你可以认为是Windows API高级版。而且微软把.NET当作Windows API高级版的意图也越来越明显。
例如线程方面吧,System.Threading命名空间下的AutoResetEvent、ManualResetEvent、Overlapped等等,都只是Windows API的封装而已。Java的线程框架是自成体系,而.NET不是。
微软的资源也不是无限的,微软也应付不了整个类库的重新设计。语言规范、虚拟机作得十分优秀,但是应用层类库,很多部分,都出现了一些问题,简单封装Windows API,缺乏设计,包括System.Security.Cryptography、System.Net等部分。
.NET就如同当年的MFC一样,很多类库都是Windows API的封装,不是自成体系的框架,不了解Windows API,就不大可能会使用,同时,要移植到其他平台上,也是极其艰巨的任务,除非你能够在其他平台下实现了一套Windows API。
Novell公司的Mono是一个笑话。把.NET迁移到Linux下,就如同要把MFC迁移到Linux下一样可笑。
转载于:https://www.cnblogs.com/jobs/archive/2007/04/24/724586.html
不要奢望.NET能够跨平台相关推荐
- Mono 2.0正式发布了
Mono官网:http://mono-project.com/ 2.0 Release Notes: http://www.mono-project.com/Release_Notes_Mono_2. ...
- .NET最有含量的吵架贴
不要奢望.NET能够跨平台 有 人跟我说了这么一件事.他们公司做机顶盒开发,原来是Windows XP + .NET作的,但是由于机顶盒免费赠送给客户的,而一个Windows XP需要88美金,因此成 ...
- 《博客园精华集---CLR/C#分册》
<博客园精华集---CLR/C#分册> 转:http://www.cnblogs.com/anytao/archive/2008/09/04/lovechina_bestclr_3rdfi ...
- 《博客园精华集---CLR/C#分册》第三轮筛选结果 转载
好文集锦 发布日期:2008.9.4 作者:Anytao 精华集CLR/C#分册,经过一段时间三轮筛选努力,终于有了一个初步结果.虽然这个过程历时较长,又因快乐奥运而放松了一段岁月,今天终于可以将第三 ...
- 《博客园精华集---CLR/C#分册》第三轮筛选结果
<博客园精华集---CLR/C#分册>第三轮筛选结果 发布日期:2008.9.4 作者:Anytao 精华集CLR/C#分册,经过一段时间三轮筛选努力,终于有了一个初步结果.虽然这个过程历 ...
- 好的跨端方案,成为跨平台开发效率的加速器
近些年,整个前端领域发展迅速,效率型的前端框架也层出不穷,每个团队选择的技术解决方案都不太一致,因为互联网的特性及中国自身的特色,各个产品对于多端的投放的需求是一致的.虽然很多平台都采用了跨端开发(跨 ...
- 悲催的跨平台文献管理能力
1.古老的TCP交互 邮箱.FTP.硬盘 2.用现成软件Zotero 免费.跨平台.导入后在Win福昕注释+可实时同步+mac看看 人生苦短,我用Zotero..
- GStreamer跨平台多媒体框架
GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...
- Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)
1. 标准命令简述 Go 本身包含来大量用于处理 Go 程序的命令和工具. 命令 作用 build 用于编译指定的代码包或 Go 语言源码文件.命令源码文件会被编译成可执行文件,并存放到命令执行的目录 ...
- Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分)
#Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分) 在pro文件中添加: #仅在linux 系统下, 硬件平台无关的内容 unix{HEADERS += \ ...
最新文章
- 大话android 进程通信之AIDL
- 《高性能JavaScript》第一章 加载和执行
- Istio 首次安全评估结果公布
- 「Python」为什么Python里面,整除的结果会是小数?
- GPU Pro 2 ------ Volume Decals
- HDU1279 验证角谷猜想【水题】
- python难学吗-Python为什么那么受欢迎?学习Python难不难?
- 用Java读取文件的5种方法-BufferedReader,FileInputStream,文件,扫描仪,RandomAccessFile
- webshell提权20种思路
- 扩展JavaScript原生方法
- Ubuntu 16.04 安装QQ, TIM
- ubuntu下如何对接斗鱼直播
- android 视频编辑应用,安卓视频剪辑软件推荐
- Java代码校验银行卡号
- viper4android 2.1,viper4android fx 2.2.1.1 调解
- python学习一点 快乐一点(2)乱序整数序列两数之和绝对值最小
- 史上最全推广小程序实操方法
- java 定义整数数组_JAVA中数组的正确定义方法是什么?
- 阿里云服务器如何初始化云盘(跟换系统)?初始化云盘和跟换操作系统的区别?
- python脚本自动消除安卓版_微信跳一跳脚本重出江湖,python实现安卓iOS自动版与手动版!...