当前位置:编程学习 > C#/ASP.NET >>

写给微软的信,增加C#独立编译,C#程序员都来顶,我每天给微软发邮件



    .net 已经发展多年,身边的程序员并不像2000年的时候热衷于.net,个人认为最大的问题在于.net有一个必须有一个运行环境,大多数情况下,一些软件使用客户并不期望所

有的软件都在安装后使用,特别是一些对电脑不怎么了解的使用用户。
    一些小型、甚至微型应用开发,都必须背上FrameWork,实在是让人头疼。一个20k的应用程序要带上20M的库(可能甚至更多)别人才能使用,是不是也很荒唐?这好比一个平

常人上菜场买一斤鸡蛋,我自己买就行了吧。的确,如果我带上会计、出纳、公关、物流、法律顾问肯定能井井有条买一斤鸡蛋,可以应付各种突发问题,但是,犯得着么?

    我提议微软,.net Framework固然好,但是能不能在VS.net加上一个编译开关,让软件开发者选择是否运行在FrameWork中。
    如果开发者选择独立编译,那就让生成代码直接是机器码,同时强行引用一个小规模的内存分配控制库文件,保证内存安全,放弃一部分在FrameWork环境中运行的优越性,如

果是独立编译,允许手动加入一些内存分配控制库文件中的代码引用。
    毕竟.net中 System.net 这些众多库函数也只是对 API 的打包。

    我相信,如果有这种改变,灵活性更大,需要更使用到FrameWork的特性的企业型开发仍然可以选择在FrameWork下运行,小规模开发或者不需要用到丰富计算机特性的开发选

择独立编译,让程序员有更多的选择。
    这样做另外一个特性就是保护代码,允许损失一部分性能,而提高代码安全性,提高软件产品的便捷性。如果有一个公司花了九牛二虎之力用.net开发了一个网络游戏,他会愿

意让他的客户轻轻松松看到传输协议的代码么?混淆又能起多大作用?
     
    目前的 .net 尴尬之处也在于此,IL代码可以轻松反编译,小软件背着个大库,安装过程中还会蹦出一个窗口让你确认一下同意微软的软件协议。。。。毕竟大部分客户是不

稳定的,虽然.net只要装一次,但是如果哪天操作系统被重新做过,或者还原,原来软件就不能用了,多烦琐,定期升级自己的开发程序给客户升级程序还可能安装2.0 3.0 3.5。

使用 WinXP win2000 win98的客户在未来很多年里将肯定存在,不但存在,还很多,就目前为止,我还没看到哪一台收银POS机,银行取款机终端安装的操作系统版本超过win98。
    
    我想如果做此改变,会有更多的程序员愿意接受 .net,转而放弃原有开发平台,谁都必然会认为微软的开发平台会有更广泛的支持。本来C#这种新语言就极富时代特征,集成

度高,高效,易学,易用。
    我认为,变通,更丰富的选择,只会给微软公司带来更多客户,更多利益,让.net平台更广泛的成为全球程序员的开发平台,让选择.net开发作为自己事业方向的程序员,不

后悔。 --------------------编程问答-------------------- 这是一个CODE 5年的C#程序员心声 --------------------编程问答-------------------- 支持的顶一下,bb_wolf_cool@hotmail.com欢迎来mail交流。

选择.net 虽然年纪大了可以转管理,但是我真的是想 用.net做一些事情,我想大家也一样

搞那么久,什么都搞不了,除了开发网站很好用,其他都不太行,心冷啊。 --------------------编程问答-------------------- 也不知道MS能不能理这些几乎全部用D版的中国用户的建议? --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 是哦。。MARK! --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 這個我要頂一下, 我深有體會. --------------------编程问答-------------------- 支持一个
--------------------编程问答-------------------- 顶。ERP了?lz想法不错,但是框架就是这样啊,你想利用人家的框架开发,有不想安装框架,那你就学MFC呗,这样不就行了。在框架的基础上,只能这样了,毕竟是人家写好的东西。自己拿来用而已嘛。
我这是个人一家之言,仅供参考。
--------------------编程问答-------------------- 就是不知道能不能行 --------------------编程问答-------------------- up --------------------编程问答-------------------- 不仅仅是技术上的问题,你说的这些,它实现起来并不一定多复杂,也许,这是他的策略吧,正如一直反盗版windows的同时,也对盗版睁一只眼闭一只眼 --------------------编程问答-------------------- 要是 c# 能编译为机器指令, 就是一个 begin end 换为 { } 的 delphi.
严重了.

这个对于那个人来说, 不是能不能的问题了. --------------------编程问答-------------------- win7,预装了.net 3.5 --------------------编程问答-------------------- 人家的市场战略、未来都在这个框架上面
你说改就改啦
--------------------编程问答-------------------- 顶个
--------------------编程问答-------------------- 就是,又不能跨平台,要这个捞什东西干什么。 --------------------编程问答-------------------- 微软为了推销他的WIN7,才不会改呢,而且正版WINDOWS用户在自动更新时会自动被安装上.NET3.5SP1的,所以不用过于担心用户重装系统,重装后只要让用户自动更新一下,即可问题解决。 --------------------编程问答-------------------- 不是很懂,学习下 --------------------编程问答-------------------- 微软有他的道理 --------------------编程问答-------------------- 晕!你要实现自己的功能干脆直接用C++或者Delphi好了。
Java和C#用虚拟机的好处是可以跨平台,即使不能跨平台也可以跨系统的不同的版本(比如Windows的不同版本)。
是你自己对Java和C#的机制不理解,不能怪微软不搭理你。 --------------------编程问答-------------------- .net 已经发展多年 --------------------编程问答-------------------- 没了框架还是.net?
我还是继续研究怎么用mono打包算了... --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 不是吧,我才刚学c# .net呢,被楼主打击了 --------------------编程问答-------------------- --------------------编程问答-------------------- 建议LZ使用C/C++。 --------------------编程问答-------------------- 不是楼主说的那么简单,
主要是反射和垃圾回收的问题,编译成本地代码还需要做很多工作。
另外编成现有的本地代码,会丧失反射的功能,这才是。net主要的特性之一,什么跨平台那是扯淡。
另外这个问题在win7中解决了,因为它会自己装上.net framework的。 --------------------编程问答-------------------- 楼主“C# 五年”,就亮出“身边的程序员并不像2000年的时候热衷于.net,个人认为最大的问题在于.net有一个必须有一个运行环境,大多数情况下,一些软件使用客户并不期望所 ”这样的文字?

你知道2000的时候的.net是什么样子吗?你知道.net1.0是什么时候发布的吗?

许多人喜欢10年前发布的c++6.0。没有关系,等.net也发不到6.0版的时候,这些人就会自己见风使舵了。 --------------------编程问答-------------------- 等.net也发不到6.0版的时候  -->  等.net也发布到6.0版的时候

等吧,等吧!等别人都精通了,您再入门吧。 --------------------编程问答-------------------- Up
--------------------编程问答-------------------- 顶  --------------------编程问答-------------------- 微软的操作系统并不拒绝c++6.0编译出来的东西,所以继续搞2年c++6.0开发也未尝不可。 --------------------编程问答-------------------- 我觉得建议或期待 NET 瘦身更现实 些,C#独立于框架 就改非托管了,C#就是建立在框架上面的
非托管没有IL支持, 就没C#了,直接C++了, 编译器和框架帮C#程序员做很多事或提供操作目标,这是它的基础,,框架大这是要付出的代价,不过嘛,期待框架往后发展 瘦身的呼吁,我觉得还是很普遍的,也是必要的吧。楼主可以考虑 转SL开发,这个比较火,全球累积下载量也是十分巨大的,客户端一个迷你
NET库仅4M多, --------------------编程问答--------------------
引用 12 楼 lerit 的回复:
不仅仅是技术上的问题,你说的这些,它实现起来并不一定多复杂,也许,这是他的策略吧,正如一直反盗版windows的同时,也对盗版睁一只眼闭一只眼


操作系统都开始内置.net framework了,还说什么“这是他的策略”?

操作系统已经开始内置了啊。甚至xp操作系统的update都给你安装.net。

其实这个理由并不正常。完全不是因为.net,而可能是因为跟不上别人的步伐了感觉害怕。 --------------------编程问答-------------------- en  顶一下 --------------------编程问答--------------------
引用 34 楼 projectdd 的回复:
我觉得建议或期待 NET 瘦身更现实 些,C#独立于框架 就改非托管了,C#就是建立在框架上面的
非托管没有IL支持, 就没C#了,直接C++了, 编译器和框架帮C#程序员做很多事或提供操作目标,这是它的基础,,框架大这是要付出的代价,不过嘛,期待框架往后发展 瘦身的呼吁,我觉得还是很普遍的,也是必要的吧。楼主可以考虑 转SL开发,这个比较火,全球累积下载量也是十分巨大的,客户端一个迷你
NET库仅4M多,


我在vs2010beta2中看到.net 3.5和.net4.0框架都开始区分客户端、服务器等多个版本了。可见微软可能早在1、2年前就准备瘦身了,只是需要时间。 --------------------编程问答--------------------
引用 34 楼 projectdd 的回复:
我觉得建议或期待 NET 瘦身更现实 些,C#独立于框架 就改非托管了,C#就是建立在框架上面的
非托管没有IL支持, 就没C#了,直接C++了, 编译器和框架帮C#程序员做很多事或提供操作目标,这是它的基础,,框架大这是要付出的代价,不过嘛,期待框架往后发展 瘦身的呼吁,我觉得还是很普遍的,也是必要的吧。楼主可以考虑 转SL开发,这个比较火,全球累积下载量也是十分巨大的,客户端一个迷你
NET库仅4M多,


而且我也赞成这种判断——微软的桌面技术,其实早已经开始向WFP并最终向Silverlight转移。而且不得不进行这种转移(除非微软被google收购了),因为SL的技术Leader是在是太有才了。 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 你好像只会个 asp.net 吧 --------------------编程问答-------------------- 楼主说得好 --------------------编程问答-------------------- 我提议微软,.net Framework固然好,但是能不能在VS.net加上一个编译开关,让软件开发者选择是否运行在FrameWork中。

发现你需要的是C++,LZ边享受着C#快速、便捷开发的同时,又想着C++的小巧、高性能,你的需求很强大,继续写信吧,微软早已经把你设为垃圾邮件了。 --------------------编程问答-------------------- 是有这么个问题,但是我想微软也有他的道理,不过顶了 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 观望 --------------------编程问答-------------------- 多一种选择总是好的 --------------------编程问答-------------------- 支持的是写程序的,不支持的是写网站的。

--------------------编程问答-------------------- 支持 --------------------编程问答-------------------- 开发中小型或微形软件,请使用C,C++,vb等,C#适用bs项目开发和企业级应用程序(软件),不适合小型软件开发 --------------------编程问答-------------------- win7 就不用运行环境了! --------------------编程问答-------------------- http://social.microsoft.com/Forums/zh-CN/categories

你可发到这个地方。

--------------------编程问答-------------------- 我是微软也不搭理你 --------------------编程问答-------------------- 习惯就好 --------------------编程问答-------------------- TO sp1234,红星超多的用户

你技术上可能是比较强势,强势在于对技术理解的程度与深度
农民种地用锄头,靠天收,也有高级的用实验室基因培育,他们都是培育农作物,同时存在
用锄头种地靠天收的农民可耻么?他们也是一种生存状态

尊重每一个层次程序员使用感受,是应当提倡的


我觉得一个开发工具,可以有自己的用户群,可以挑选用户群,
但是,如此大力推广的平台,他想让更广泛的被接受,那就理应更灵活。

你想让全世界都用你的洗发水,你是不是该为不同年龄层次,不同发质,喜欢不同味道,追求不同功效的人群多设计一些产品细化呢? --------------------编程问答--------------------
引用 54 楼 bbwolfcool 的回复:
TO sp1234,红星超多的用户

 你技术上可能是比较强势,强势在于对技术理解的程度与深度
 农民种地用锄头,靠天收,也有高级的用实验室基因培育,他们都是培育农作物,同时存在
 用锄头种地靠天收的农民可耻么?他们也是一种生存状态

 尊重每一个层次程序员使用感受,是应当提倡的


 我觉得一个开发工具,可以有自己的用户群,可以挑选用户群,
 但是,如此大力推广的平台,他想让更广泛的被接受,那就理应更灵活。

 你想让全世界都用你的洗发水,你是不是该为不同年龄层次,不同发质,喜欢不同味道,追求不同功效的人群多设计一些产品细化呢?

问题是人家MS并没有不切实际地要求每一个程序员都使用Dot Net平台做开发的 --------------------编程问答--------------------
引用 54 楼 bbwolfcool 的回复:
TO sp1234,红星超多的用户

 你技术上可能是比较强势,强势在于对技术理解的程度与深度
 农民种地用锄头,靠天收,也有高级的用实验室基因培育,他们都是培育农作物,同时存在
 用锄头种地靠天收的农民可耻么?他们也是一种生存状态

 尊重每一个层次程序员使用感受,是应当提倡的


 我觉得一个开发工具,可以有自己的用户群,可以挑选用户群,
 但是,如此大力推广的平台,他想让更广泛的被接受,那就理应更灵活。

 你想让全世界都用你的洗发水,你是不是该为不同年龄层次,不同发质,喜欢不同味道,追求不同功效的人群多设计一些产品细化呢?

任何软件的设计到最终实现,是以一种特定要求为基础的,.NET和Java的这种采用中间结果、运行时由目标主机上的运行环境即时编译成适合于本机的机器代码就是它们的目标,如果采用你说的方式就不能跨平台或者在不同的操作系统版本上运行了,而人家的本意就是这个问题。
Java出现比.NET更早,在你之前已经有N多人就Java的这个问题反应,Sun公司同样也没有理会,我认为它们不会没有这样的能力,而是这跟设计这种跨平台的语言的本质相违背。当然有第三方实现了这种功能(这也证明并非是人家不能做,而是不愿意做)。

你说的情况不是它们要解决的问题,所以只能说.NET根本不适合你的情况,你可以选择C++或者Delphi,但是带运行环境是一种大趋势,比如Java/.NET/Ruby之类。

可能你会说你有这种需求,所以人家应该开发,但是你只是一个或者一小部分,不代表全部。 --------------------编程问答-------------------- 我坚信,这个是完全可以做到的,不知道微软在坚持什么 remotesoft 做到了,并且与系统兼容很好,飞信不是在用么?


微软的 NGEN.exe 做到了一半,他会生成一个本地镜像,但是这个镜像是个半成品,只是减少了程序集的临时调用所占CPU时间。

.net的事实就是,放在服务器端是相对安全高效,易于维护的,但是放在客户端,会出很多问题。
有些代码并不愿意让别人看见,看见原理构造,但是IL注定容易被发现其方法。

email_zixuan这位朋友提到的损失性能,我在文中提到了,放弃一部分性能,增加灵活性,增加一个开关
让程序员自己选择

我不认为彻底放弃 Framework是一件好事,但是我也不认同,强迫一定要使用C#程序员一定要用Framework是一件好事。

难道微软就真的愿意看见,别人一手抓着.net另外一手抓着 古老的 vs 6.0,C++ builder? --------------------编程问答--------------------
引用 57 楼 bbwolfcool 的回复:
我坚信,这个是完全可以做到的,不知道微软在坚持什么 remotesoft 做到了,并且与系统兼容很好,飞信不是在用么?


 微软的 NGEN.exe 做到了一半,他会生成一个本地镜像,但是这个镜像是个半成品,只是减少了程序集的临时调用所占CPU时间。

 .net的事实就是,放在服务器端是相对安全高效,易于维护的,但是放在客户端,会出很多问题。
 有些代码并不愿意让别人看见,看见原理构造,但是IL注定容易被发现其方法。

 email_zixuan这位朋友提到的损失性能,我在文中提到了,放弃一部分性能,增加灵活性,增加一个开关
 让程序员自己选择

 我不认为彻底放弃 Framework是一件好事,但是我也不认同,强迫一定要使用C#程序员一定要用Framework是一件好事。

 难道微软就真的愿意看见,别人一手抓着.net另外一手抓着 古老的 vs 6.0,C++ builder?

你错了,飞信不是的,飞信是内嵌了一个微型的.net框架的。
说实在话,我也不喜欢写一个不到1M的小程序就带上数十M的运行环境,在Java世代写Application就有这种痛苦,我当时也有你这种想法。
但是现在,理解它们的初衷之后,这种想法就淡了。毕竟现在的网速和存储介质,即使真包含或者下载一个运行环境对于大部分网络环境是不存在什么问题的。
而现在各种不同操作系统平台、即使针对同一种操作系统(比如Windows)又有不同的版本,如何保证能在这些系统下正常运行才是主要的,甚至性能上略微做些牺牲都是值得的(毕竟现在硬件和内存之类的也提升很大)。
这是我的个人的想法,至少我不希望我写的一个程序要针对Win98/Win2000/WinXp/Win2003/Vista/Win7/Win2008分别编译,以后维护和升级这个程序是非常痛苦的一件事情,那比你在安装包中带个.NET运行环境更痛苦。 --------------------编程问答-------------------- 此贴必火,留名 --------------------编程问答-------------------- 没必要的。java的jvm也不小啊。呵呵。
运行在框架上,可以隔开操作系统。这应该是趋势吧。 --------------------编程问答-------------------- 顶一下 --------------------编程问答-------------------- 飞信那个内嵌的一点也不微型...20多MB,就是官方的框架,只相当于打包安装程序...

楼主你不适合讨论这类问题,还是回去好好coding吧... --------------------编程问答-------------------- 我说飞信能做到 代码本地化,微软肯定也能,NGEN.exe就做到一半,因为有人说这比较复杂,基本在目前.net框架下不可能。
他没法改变.net实质,他只是一种变通,因为.net类库1个类集成众多API方法,那么你使用1个.net标准类库他把其他不必要的API方法打包也带上去了,所以庞大,我没说飞信的框架微型 --------------------编程问答-------------------- 飞信哪儿来的自己的框架,它就是用的“官方的框架”,和打包.NET Framwork的安装程序没多大不同,相反它把自己死死地捆绑在.NET 2.0框架上...

你连这个都看不出来,还谈什么代码本地化... --------------------编程问答-------------------- 在应用系统领域,本地化代码是一种退步...不明白的话就没必要讨论了... --------------------编程问答-------------------- ding --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- --------------------编程问答-------------------- 你用过 remotesoft的 linker么,要不要我给你发一份,顺便说一句,那个不是飞信的系统
那是国外公司的。我手头有,要不要发你一份,但是只能针对 .net 2.0,如果.net版本高了支持不好

你觉得只有你看出来,他打包过程框架是哪里来的么?这个也值得提么?

麻烦你提出的问题,能不能有些深度?

他只是一个linker,我会认为一个 1M多的linker程序会link出庞大的框架?你脑子咋想的?
你知道linker这个单词的意思么?

麻烦你提出的问题,能不能有些水平? --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 楼主这样做毫无意义
当然,引起的这个讨论是有意义的 --------------------编程问答-------------------- 我第一次听说,用本地代码就是退步这种说法,
我建议你参加国外的 .net C#开发操作系统的小组。

用本地代码就是退步,高性能的Framework还不是建立在 windows\system32众多非托管本地代码之上的?

他只是给你加了个虚拟环境而已,你提的问题,希望更有深度,别那么弱 --------------------编程问答-------------------- 没有windows\system32众多非托管本地代码,咋实现虚环境,只是微软认为

普通程序没有能力去做那么多的技术细节,运行在虚拟环境,他都帮你搞定了,内存管理,垃圾回收,线程安全的实现 --------------------编程问答--------------------  想法是好的 但有没想过 微软的经济策略能允许做这种瘦身改革吗? --------------------编程问答-------------------- zhoufoxcn,我觉得你说的不存在,你用目前软件到 win95上,大多都可以运行,如果是游戏,他可能需要安装Directx新版本,但是大多数游戏是针对 DirectX尽可能低版本制作的,当然这是一种选择。而.net没有选择。

我重复,我不认为彻底放弃Framework是好事,而是让程序员去选择,如果我做的原来针对不跨平台,或者我发现出现某些问题,我现在需要跨平台,那么我重新编译一个带跨平台的版本不就够了么?

没必要做什么软件你非得强迫我跨平台吧! --------------------编程问答-------------------- 支持,微软的有些做法是应该改改了,这样得到程序员的继续青睐 --------------------编程问答-------------------- 很有建设性的建议。。。 --------------------编程问答-------------------- 我觉得微软所谓的跨平台,也不过是个噱头罢了,怎么跨平台?
最大的3个平台,手机mobile系统,win系统,linux系统,
大多数期望跨平台的开发还是后2个吧,目前流行的mobile系统google开发的 Android系统也是在linux之上的,很多公司都开始宣布将采用这个系统,三星,Nokia都开始了。

那linux如果有人搞出一套Framework,那太牛逼了吧,那么多win下的API怎么调?他可能就没这个函数,那自己实现?

如果有人把win的超级庞大函数都在linux下实现了,那不如自己重新开发一个 操作系统了。即使完成了,还有可能遭遇版权问题。 --------------------编程问答-------------------- 呵呵,学习学习。 --------------------编程问答-------------------- 帮忙顶下 关注 --------------------编程问答-------------------- 支持楼主的想法 其实你这个想法早就有人提出来了
见此帖 http://topic.csdn.net/u/20090522/13/a120e5f8-9a0c-46f7-9851-e58ede42b7ab.html?45357 --------------------编程问答-------------------- 支持楼主  --------------------编程问答-------------------- 顶~~ --------------------编程问答-------------------- 不明真相  --------------------编程问答-------------------- jf --------------------编程问答-------------------- 每种东西出现都是有他的合理需求的,楼主所想的东西,其实开发者早就想过。技术总是前进的,也许这不算什么 --------------------编程问答-------------------- 那你根本不需要用C#啊,用C++好了 --------------------编程问答--------------------
引用 76 楼 ztz8044032 的回复:
支持,微软的有些做法是应该改改了,这样得到程序员的继续青睐

  看一下微软的产品吧。。。。。。。

Windows客户端,包括Windows XP、Windows 2000、以及Windows嵌入式操作系统。 
信息工具,包括Office, Publisher, Visio, Project, 以及其他独立的平台应用软件。 
商业解决方案,整合了Great Plains及Navision 商业处理应用程序,和bCentral商业服务。 
服务器平台,包括Windows 2000 Sever、.NET Enterprise Sever, 软件开发工具以及微软开发网络。 
Windows CE及移动应用系统,提供包括Pocket PC, the Mobile Explorer microbrower及Smartphone软件平台。 
MSN,包括MSN网络,MSN网络接入服务,MSNTV, MSN Hotmail网络服务 
家庭消费及娱乐,包括Xbox,消费类硬件和软件,在线游戏以及电视平台 

http://www.microsoft.com/china/mscorp/articles/business.mspx

来自微软官网。。。。。。。。。。。。。。。。。。。。。。。。。。。。

看看软件开发的比例吧。。。。。。。。。 --------------------编程问答-------------------- 可以这么说一句
   :微软就算失去.net Framework又怎样呢??????? 可我们程序员呢???????????
    我们失去了又意味着什么呢???? 改变不能靠微软。。。而是靠的是我们自己。。。。
    就像改变国内的浮躁风气一样。。。。。靠的是我们自己而不是某些"大爷"的一念之间的怜悯 --------------------编程问答-------------------- 程序员们。。。。。。。。。。fighting!!!!!!!!!!! --------------------编程问答-------------------- 我还真为这件事郁闷过 --------------------编程问答-------------------- windows已经开始把.net作为系统组件了,以后也许会托管所有api,楼主不要急,只要微软不倒,不用装别的软件就可以用.net是很快的事情了。 --------------------编程问答-------------------- TzSword,支持你的说法,.net不是给人消遣的小工具,也不是仅仅是挣钱的工具,

他已经成为不少人的人生一部分,多少应届毕业生毕业时选择了.net

当他工作2-3年以后,发现.net不行,客户端功能不行,那么让他重新回到刚毕业的状态,拿1500一个月做C++么?

推广是个持续渐进的过程,那现在 .net 能干嘛呢?


--------------------编程问答-------------------- 我坚信,这个是完全可以做到的,不知道微软在坚持什么 remotesoft 做到了,并且与系统兼容很好,飞信不是在用么? 


微软的 NGEN.exe 做到了一半,他会生成一个本地镜像,但是这个镜像是个半成品,只是减少了程序集的临时调用所占CPU时间。 

.net的事实就是,放在服务器端是相对安全高效,易于维护的,但是放在客户端,会出很多问题。 
有些代码并不愿意让别人看见,看见原理构造,但是IL注定容易被发现其方法。 

email_zixuan这位朋友提到的损失性能,我在文中提到了,放弃一部分性能,增加灵活性,增加一个开关 
让程序员自己选择 
我不认为彻底放弃 Framework是一件好事,但是我也不认同,强迫一定要使用C#程序员一定要用Framework是一件好事。 

难道微软就真的愿意看见,别人一手抓着.net另外一手抓着 古老的 vs 6.0,C++ builder? 


有人说小规模开发不适合用.net ,那不搞小开发,让用.net的人做不成什么小东西,只能做大规模开发用,那初级用户不是很尴尬么?1、如果腾讯QQ完全采用.net开发,那会不会客户根本没有安全感,你的协议内容,加密,会给看得透彻的很。会不会又有人说,.net不适合开发带网络传输的内容? 

2、那如果我做了一个完全客户端使用的软件,你注册方法也能给看的明明白白,难道.net开发出来的都必须 共享代码的,无所谓让别人看到代码的东西 才能用.net ?别提混淆这些工具,虽然我很菜,但是我会把exe用.net工具搞成IL代码,修改部分IL代码,再编译成exe. 
即使是注册网络验证,那我也能搞定,管你是用TCP还是 remoting ,自己修改本机host域名强制解析成自己电脑,如果是Ip我给自己电脑加上一个验证服务器IP,你就是返回个值或者类或者方法嘛,我自己构造。 
如果瑞星杀毒软件用.net开发那他不要太容易被病毒干掉,内存保护方法会轻易被识破 
win32的确也可以反汇编,但是现在win32程序可以加各种压缩壳保护代码,如果.net编译出来也能用通用加壳软件该多好。 

想驳斥我的想法的朋友,先回答这2个问题。 --------------------编程问答-------------------- 有人说小规模开发不适合用.net ,那不搞小开发,让用.net的人做不成什么小东西,只能做大规模开发用,那初级用户不是很尴尬么?1、如果腾讯QQ完全采用.net开发,那会不会客户根本没有安全感,你的协议内容,加密,会给看得透彻的很。会不会又有人说,.net不适合开发带网络传输的内容? 

2、那如果我做了一个完全客户端使用的软件,你注册方法也能给看的明明白白,难道.net开发出来的都必须 共享代码的,无所谓让别人看到代码的东西 才能用.net ?别提混淆这些工具,虽然我很菜,但是我会把exe用.net工具搞成IL代码,修改部分IL代码,再编译成exe. 
即使是注册网络验证,那我也能搞定,管你是用TCP还是 remoting ,自己修改本机host域名强制解析成自己电脑,如果是Ip我给自己电脑加上一个验证服务器IP,你就是返回个值或者类或者方法嘛,我自己构造。 
如果瑞星杀毒软件用.net开发那他不要太容易被病毒干掉,内存保护方法会轻易被识破 
win32的确也可以反汇编,但是现在win32程序可以加各种压缩壳保护代码,如果.net编译出来也能用通用加壳软件该多好。 

想驳斥我的想法的朋友,先回答这2个问题。 --------------------编程问答-------------------- 微软,让我心疼,让我......... --------------------编程问答-------------------- 最简单的问题,MSN Message 是微软自己的产品吧,他怎么不跨平台试试。用.net做下一个版本

呵呵,他今天升级为 .net Message ,过不了几天,Message肯定病魔缠身相信不?

各种方法、协议都是暴露的。虽然 MSN Message不是什么网络游戏,帐号看上去没有实际价值,但是你要知道国外人是不用QQ的,他们都是用 MSN,众多的老总,老板也是不用QQ的,他们的MSN号没有商业价值? --------------------编程问答-------------------- c#是我们的挚爱,,,支持改进,但是.net跨语言很不错的,,,他也给我们程序员提供了很多框架结构。。。。 --------------------编程问答-------------------- 说得很好!!!!!!!!!!!!!!!!!!!!!! --------------------编程问答-------------------- 支持,鼎力支持!C#一直在framework上运行真的是感觉很麻烦,多一种编译代码的方式肯定是对C#长远发展有利而没有弊。作为一个多年的C#程序员,每次写的程序都需要让客户安装framework确实感觉不爽,更多的解释更是让客户非常不理解。
既然创造出了一种新的语言,当然希望语言本身没有那么多限制,一次编写到处都能使用,仅仅是这样并不能满足广大程序员的需求,更不用说是我们软件使用的客户了。我们需要它能向C++一样,运行效率很高,特别是在网络通信和COM方面的编程支持的更好,太多的限制,只能舒服编程人员的思维和创造性,强烈建议C#能支持编译本地代码,多一种方式,带来的好处将会是无穷无尽的。要不还得学习C++,其实语言本身好学,关键是里面的类,方法和属性全变了,很东西都需要重新掌握。程序员本来工作就很辛苦,还要学习那么多功能重复使用方式不同的类、方法和属性。希望C#语言之父安德森先生能不能听到我们的呼唤,微软公司能不能感受C#程序员的痛苦伤心之处。强烈建仪支持C#编译生成本地代码。真希望这一天进早到来。。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,