有人跟我说了这么一件事。他们公司做机顶盒开发,原来是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能够跨平台相关推荐

  1. Mono 2.0正式发布了

    Mono官网:http://mono-project.com/ 2.0 Release Notes: http://www.mono-project.com/Release_Notes_Mono_2. ...

  2. .NET最有含量的吵架贴

    不要奢望.NET能够跨平台 有 人跟我说了这么一件事.他们公司做机顶盒开发,原来是Windows XP + .NET作的,但是由于机顶盒免费赠送给客户的,而一个Windows XP需要88美金,因此成 ...

  3. 《博客园精华集---CLR/C#分册》

    <博客园精华集---CLR/C#分册> 转:http://www.cnblogs.com/anytao/archive/2008/09/04/lovechina_bestclr_3rdfi ...

  4. 《博客园精华集---CLR/C#分册》第三轮筛选结果 转载

    好文集锦 发布日期:2008.9.4 作者:Anytao 精华集CLR/C#分册,经过一段时间三轮筛选努力,终于有了一个初步结果.虽然这个过程历时较长,又因快乐奥运而放松了一段岁月,今天终于可以将第三 ...

  5. 《博客园精华集---CLR/C#分册》第三轮筛选结果

    <博客园精华集---CLR/C#分册>第三轮筛选结果 发布日期:2008.9.4 作者:Anytao 精华集CLR/C#分册,经过一段时间三轮筛选努力,终于有了一个初步结果.虽然这个过程历 ...

  6. 好的跨端方案,成为跨平台开发效率的加速器

    近些年,整个前端领域发展迅速,效率型的前端框架也层出不穷,每个团队选择的技术解决方案都不太一致,因为互联网的特性及中国自身的特色,各个产品对于多端的投放的需求是一致的.虽然很多平台都采用了跨端开发(跨 ...

  7. 悲催的跨平台文献管理能力

    1.古老的TCP交互 邮箱.FTP.硬盘 2.用现成软件Zotero 免费.跨平台.导入后在Win福昕注释+可实时同步+mac看看 人生苦短,我用Zotero..

  8. GStreamer跨平台多媒体框架

    GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...

  9. Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)

    1. 标准命令简述 Go 本身包含来大量用于处理 Go 程序的命令和工具. 命令 作用 build 用于编译指定的代码包或 Go 语言源码文件.命令源码文件会被编译成可执行文件,并存放到命令执行的目录 ...

  10. Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分)

    #Qt pro文件下跨平台宏的使用(windows/linux 以及x86 和 arm的区分) 在pro文件中添加: #仅在linux 系统下, 硬件平台无关的内容 unix{HEADERS += \ ...

最新文章

  1. 大话android 进程通信之AIDL
  2. 《高性能JavaScript》第一章 加载和执行
  3. Istio 首次安全评估结果公布
  4. 「Python」为什么Python里面,整除的结果会是小数?
  5. GPU Pro 2 ------ Volume Decals
  6. HDU1279 验证角谷猜想【水题】
  7. python难学吗-Python为什么那么受欢迎?学习Python难不难?
  8. 用Java读取文件的5种方法-BufferedReader,FileInputStream,文件,扫描仪,RandomAccessFile
  9. webshell提权20种思路
  10. 扩展JavaScript原生方法
  11. Ubuntu 16.04 安装QQ, TIM
  12. ubuntu下如何对接斗鱼直播
  13. android 视频编辑应用,安卓视频剪辑软件推荐
  14. Java代码校验银行卡号
  15. viper4android 2.1,viper4android fx 2.2.1.1 调解
  16. python学习一点 快乐一点(2)乱序整数序列两数之和绝对值最小
  17. 史上最全推广小程序实操方法
  18. java 定义整数数组_JAVA中数组的正确定义方法是什么?
  19. 阿里云服务器如何初始化云盘(跟换系统)?初始化云盘和跟换操作系统的区别?
  20. python脚本自动消除安卓版_微信跳一跳脚本重出江湖,python实现安卓iOS自动版与手动版!...

热门文章

  1. ]MySQL操作命令语句实例
  2. java连接Neo4j服务器
  3. 危险!请马上替换代码中的BeanUtils!!!
  4. 离职 Oracle 首席工程师怒喷:MySQL 是“超烂的数据库”,建议考虑 PostgreSQL
  5. 瞬间几千次的重复提交,我用 SpringBoot+Redis 扛住了~
  6. 最新!2020中国高校毕业生薪资排行出炉!好过双一流的高校原来这么多
  7. 架构图解:支付宝钱包系统架构内部剖析
  8. 伟创力被华为索赔数亿后发公开信:深感遗憾,仍希望能合作
  9. 新浪Linux运维工程师面试真题曝光
  10. CPU说:这个世界太慢了