有人可以改变我对.NET的看法吗?
你好
我来自C ++编程世界,我习惯于编写实际由CPU执行的程序,并且运行时具有一些性能表现。我花时间探索这个.NET的东西,并发现.NET应用程序不仅运行极其强大,而且各种.NET语言只不过是解释脚本语言。这是实际执行实施的通用语言运行时间
我对这个管理的举动深感不满。代码,我很失望Longhorn的新Avalon用户界面系统只使用.NET工具。这是否表明后续版本的Windows将仅允许解释的应用程序
是否有其他人分享我对这种情况的看法?任何人都可以提出一些理由让我对拥抱.NET感觉更好,因为它对我来说太陌生了
此致
Mike
Hello
I come from the world of C++ programming, and I''m used to writing programs that are actually executed by the CPU, and that run with some semblance of performance. I have taken the time to explore this .NET thing, and found that not only do .NET applications run extremely s-l-o-w-l-y, but the various .NET languages amount to nothing more than interpreted script languages. It is the common language run-time that actually executes your implementation
I deeply resent this move toward "managed" code, and I''m disappointed that the new Avalon user interface system in Longhorn will use only .NET facilities. Is this an indication that subsequent versions of Windows will allow ONLY interpreted applications
Does anyone else share my feelings about this situation? Can anyone put forth some reason that I should feel better about embracing .NET, when it is so alien to me
Sincerely
Mike
Mike P.< an ******* @ discussion.microsoft.com>写道:
Mike P. <an*******@discussions.microsoft.com> wrote:
我来自C ++编程世界,我习惯于编写实际由CPU执行的程序,并且运行时带有一些相似之处表现。我花了很多时间来探索这个.NET的东西,并发现.NET应用程序不仅运行速度非常慢,而且各种.NET语言相当于
而不仅仅是解释脚本语言。实际执行您的实现是常见的语言运行时。
1)他们没有被解释。他们是JIT编译的。这是一个巨大的
差异。
2)他们跑得不是很慢。是什么让你认为他们做了什么?
当然,Windows Forms需要一段时间才能启动,而且这些产品的性能并不尽如人意 - 但是那是'
不适用于整个.NET。特别是你发现什么?
的运行速度非常慢?
我对这个管理的举动深感不满。代码,我很失望
Longhorn的新Avalon用户界面系统将只使用
.NET工具。这是否表明后续版本的Windows将仅允许解释应用程序?
不确定,因为.NET并没有被解释为开始。
是否有其他人分享我对这种情况的感受?任何人都可以提出一些理由让我对拥抱.NET感觉更好吗?
当它对我如此陌生时?
I come from the world of C++ programming, and I''m used to writing
programs that are actually executed by the CPU, and that run with
some semblance of performance. I have taken the time to explore this
.NET thing, and found that not only do .NET applications run
extremely s-l-o-w-l-y, but the various .NET languages amount to
nothing more than interpreted script languages. It is the common
language run-time that actually executes your implementation.
1) They''re not interpreted. They''re JIT-compiled. This is a huge
difference.
2) They don''t run extremely slowly. What makes you think they do?
Certainly Windows Forms take a while to start up, and the
performance of those isn''t as good as it could be - but that''s
not true of the whole of .NET. What in particular are you finding
is running very slowly?
I deeply resent this move toward "managed" code, and I''m disappointed
that the new Avalon user interface system in Longhorn will use only
.NET facilities. Is this an indication that subsequent versions of
Windows will allow ONLY interpreted applications?
Certainliy not, as .NET isn''t interpreted to start with.
Does anyone else share my feelings about this situation? Can anyone
put forth some reason that I should feel better about embracing .NET,
when it is so alien to me?
我的猜测是你试图编写.NET代码,好像它是正常的,而不是拥抱.NET习语。编写代码就好像它是另一个平台的
总是会给你带来令人讨厌的问题,比如
的性能和可靠性。
-
Jon Skeet - < sk *** @ pobox.com>
http://www.pobox.com/~skeet
如果回复小组,请不要给我发邮件
My guess is that you''re trying to write .NET code as if it were normal
C++, rather than embracing .NET idioms. Writing code as if it were for
another platform is always going to give you nasty problems such as
performance and reliability.
--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Mike P.< an ******* @ discussion.microsoft.com>写道:
Mike P. <an*******@discussions.microsoft.com> wrote:
我来自C ++编程世界,我习惯于编写实际由CPU执行的程序,并且运行时带有一些相似之处表现。我花了很多时间来探索这个.NET的东西,并发现.NET应用程序不仅运行速度非常慢,而且各种.NET语言相当于
而不仅仅是解释脚本语言。实际执行您的实现是常见的语言运行时。
1)他们没有被解释。他们是JIT编译的。这是一个巨大的
差异。
2)他们跑得不是很慢。是什么让你认为他们做了什么?
当然,Windows Forms需要一段时间才能启动,而且这些产品的性能并不尽如人意 - 但是那是'
不适用于整个.NET。特别是你发现什么?
的运行速度非常慢?
我对这个管理的举动深感不满。代码,我很失望
Longhorn的新Avalon用户界面系统将只使用
.NET工具。这是否表明后续版本的Windows将仅允许解释应用程序?
不确定,因为.NET并没有被解释为开始。
是否有其他人分享我对这种情况的感受?任何人都可以提出一些理由让我对拥抱.NET感觉更好吗?
当它对我如此陌生时?
I come from the world of C++ programming, and I''m used to writing
programs that are actually executed by the CPU, and that run with
some semblance of performance. I have taken the time to explore this
.NET thing, and found that not only do .NET applications run
extremely s-l-o-w-l-y, but the various .NET languages amount to
nothing more than interpreted script languages. It is the common
language run-time that actually executes your implementation.
1) They''re not interpreted. They''re JIT-compiled. This is a huge
difference.
2) They don''t run extremely slowly. What makes you think they do?
Certainly Windows Forms take a while to start up, and the
performance of those isn''t as good as it could be - but that''s
not true of the whole of .NET. What in particular are you finding
is running very slowly?
I deeply resent this move toward "managed" code, and I''m disappointed
that the new Avalon user interface system in Longhorn will use only
.NET facilities. Is this an indication that subsequent versions of
Windows will allow ONLY interpreted applications?
Certainliy not, as .NET isn''t interpreted to start with.
Does anyone else share my feelings about this situation? Can anyone
put forth some reason that I should feel better about embracing .NET,
when it is so alien to me?
我的猜测是你试图编写.NET代码,好像它是正常的,而不是拥抱.NET习语。编写代码就好像它是另一个平台的
总是会给你带来令人讨厌的问题,比如
的性能和可靠性。
-
Jon Skeet - < sk *** @ pobox.com>
http://www.pobox.com/~skeet
如果回复小组,请不要给我发邮件
My guess is that you''re trying to write .NET code as if it were normal
C++, rather than embracing .NET idioms. Writing code as if it were for
another platform is always going to give you nasty problems such as
performance and reliability.
--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet
If replying to the group, please do not mail me too
Jon
感谢您的深思熟虑的回复。
我认为.NET应用运行的一个原因非常慢的是我在Visual Basic .NET中编写了一个HTTP代理服务器。然后我在MFC中编写了一个相同的程序。 MFC程序运行速度快了很多倍。当我使用Internet Explorer作为客户端测试它们时,我发现使用MFC代理时IE的性能没有明显变化,而.NET代理的性能严重下降
那么只需使用反汇编程序实用程序即可查看任何程序的代码?如果我想制作一个商业应用程序,我被迫购买一个价值数千美元的混淆包装
谢谢
Jon
Thank you for your thoughtful reply.
One reason that I believe .NET apps run very slowly is that I wrote an HTTP proxy server in Visual Basic .NET. Then I wrote an identical program in MFC. The MFC program ran many times faster. When I tested them both with Internet Explorer as the client, I saw no noticeable change in IE''s performance when using the MFC proxy, while there was a serious degredation in performance with the .NET proxy
And what about the fact that you can view the code for any program just by using the disassembler utility? Am I forced to buy a multi-thousand dollar obfuscator package if I want to make a commercial app
Thank you