想问了好久的事情。
我学.net都有好一段时间了,却一直没有领略到.net的精髓思想。
我以前一直写WIN32的程序,厚脸皮的说也算是从老时代过来的人吧。
现在人人都喊.net,评论都说是一大革命,改变了开发的方式,进入一个新时代。我一时也举不出那里看到这样的评论,不过长时间以来感觉人们都这样说。
可是我总是感觉到和WIN32时代相比变化不大,除了一个学习java的内存管理,就没有什么本质的改变了。
基于组件的设计思想,在发展到COM+已经很成熟了。.net framework提供了一大箩筐的类,把 WIN32API 和 许多其他商业库的集合 替代下来。面向对象的类库,免去了再包装(象MFC)。可除了更方便完整外,并没有什么本质的改变。
Asp.net对ASP的改进都是不少,可是无状态的本质,注定他不能像设计WinFrom那样。
总之,投放在托管的.net framework上的资金,能开发出同样一个“非托管的framework”。
改变就是一句话:好了,写一个系统不用这个那个的了,就.net framework。
至于为什么要从新开发一个,我认为是因为WIN32的设计在新应用技术出台时都出一些规范,新API,新的一二三方类库。这样修修补补,慢慢的就不统一难扩展难应用,索性就从新来过。
是不是太多东西不知道了,以至理解不了.net,望达人指点。
兼问几个技术问题:
.net framework是不是为每个进程分别启动一个gc?gc管理的所有对象都是当前进程内的(这样GC.Collect()不会影响到其他进程)。
还有一个问题,下一代操作系统,.net framework是基本了。可不可能会慢慢的不再兼容WIN32了呢?那时,非.net的语言应用程序都需要调用.net api来完成功能(没有了WINAPI),都需要按照.net的规范(新建一个对象和引用对象的指针处理)来编写代码,没人愿意干,那时是不是大家就只能用.net的开发工具。晕~~~~~~~