面朝大海,春暖华开

focus on scientific computue, 3dgis, spatial database
专注于科学计算、GIS空间分析

 

论C#及.net缺点及发展

我们先来看看2009年8月编程语言排行版:

2009年8月前十名排行榜

 C#仅排名第7,只占4.4%,而前三名的java, c, c++都超过10%,这与我们的期望,相差甚大。

C#因为年轻,所以拥有很多的优点,但却很多的缺点,却阻碍了他的发展。

C#的开发,主要在windows(包括win api和com)和web(asp.net, silverlight等)两方面,别的方面,基本都占太少,不用分析。

由于微软放弃了传统win32开发环境的支持(主要是指vb, foxpro)之类,vba基本也没有更多的改进。加之.net和com的互操作,微软的意图是让.net也代替传统的win32开发(vc开发不再讨论之列)。但由于C#和vb.net定位于快速开发,在api开发方面,只有极少数的辅助类直接调用API,大部分.net是基于com(包括activex控件)来进行开发的。

由于com基本上都是组件(activex控件),我们可以这么认为,对于传统的windwos资源的利用,基本上都是二次开发。常见的二次开发有Office Excel, Access, AutoCAD, GIS(mapx, ArcEngine, MapObjects, Supermap Objects)等。由于.net对资源管理的缺陷(例如excel进程问题,很多人引入DLL,使用api来杀死进程)和性能问题,同时C#语言的繁琐,以及很多未知问题(如不稳定),相比VBA用于传统的二次开发,产生了代码量急剧膨胀,性能差,严重的不稳定,开发速度慢,不便于调试等。

对于win form开发,C#和.net支持得都比较好,性能也可以,开发速度快,稳定。但.net 框架的完整安装

posted on   风过 无痕  阅读(1782)  评论(0编辑  收藏  举报

(评论功能已被禁用)
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2007-11-02 excel读写技术二
2007-11-02 excel读写技术-:ADO.NET 如何读取 Excel

导航

统计

向日葵支付宝收钱码
点击右上角即可分享
微信分享提示