Eric liu,
2 o'clock in the morning of March 16, 2006 in Beijing
For discussions recently boiling, I believe that everyone has earned to Net Expert: Microsoft Is Losing Confidence In .NET has already heard, the sudden anti-Gengo, who has always supported .NET, Richard Grimes, the sudden anti-noodle, which was originally unconcerned, and a large wave. Some dramatic is that the war is in TSS.com instead of TSS.NET, as a .NET community developer, can be said to be a sorrow, in addition to the boring of Java Fans, it seems more It is what we need to reflect on your own thinking as a Java community active.
Mr. Mengyan also wrote a personal comment called ".NET faces trust crisis, root", overall, in general, the trust crisis of .NET is attributed to Microsoft's own position for .NET strategy. resulting in. In 2004, I have written a long. Net strategy to discuss "in the middle of the way", the individual is generally believed that .NET has experienced a fanatics, and then pragmatic, then step by step to mature the process. In 2004, I wrote that POST was expected to be in 2005.NET ushered in mature application.
Frankly, there is no smoothness in the middle, just like Longhorn again and again, once again postponed to release the day, it is urgent to be. The Richard brother seems to have suffered such a suffering, so in DDJ throwing that shocking arguments, the dispute between Java vs .NET once again, Microsoft In order to save some. . . . . . . . . . . . . Dan Fernandez, the project manager of Visual C #, also made his own reply, I accidentally went into this unreasonable dispute, go to comment on Java or .NET, the only thing that can get the cool two factions anger. For Java or J2EE, my understanding is too limited, so I don't dare to make any conclusions. For .NET, for Microsoft, because of the relationship of work, the following text is just a matter of this article on Richard Grames and TSS.com's discussion. Not a satellist of MicroosFT, nor a slatter, with a representative of personal opinions
EVERYTHING REWRITING IN .NET IS stupid?
I can't think of any reason to need Microsoft to go to rewrite all the code, especially the products such as Office, have already had such a mature and stable version, if organizational manpower uses .NET rewritten, except for Microsoft In addition to the big paragrace and stupid, I seem to find a better word to send them, so I am not the fool like Microsoft. It has already had a "money tool" that can bring them far away from wealth, and is just to show off?
Some people say .Net is a virtual operating system, absolutely not so in the scope of my understanding, but in contrast, Microsoft wants to bind more developers on the Windows operating system through the promotion of .NET, some of the most important Class libraries such as ASP.NET, GDI , etc. need to call the operating system unique API to achieve (I believe everyone can do what is unable to run asp.net under Win98), for some of the problems, Microsoft's documents give The explanation is "need to use some underlying API". OK, beautiful and evil explanation, you can complain about how the original Win32 API is not easy to use, you can complain that MFC design is too bad, but don't forget that everything is Microsoft to provide you with programming interface, then .NET what? ? The first is to make a packaging, so that you can make application development, Richard is not fake, .Net Many class libraries are migrated from VB and MFC (should be more WFC), if everyone Interested to see the type of namespace of SYSTEM.WEB.MAIL, if you use some reflection tools such as Reflector, you can accidentally see this so-called mail class is just CDO.Message packaging, if there is no cdont.dll And cdosys.dll, your mailmessage has no reason to work very well. Such a situation in the .NET class library is a lot of visible, including the EventLog mentioned by Richard. Please don't complain that Microsoft deceives you, never believes in the so-called 100%, based on the application, and protecting the application of the class, Microsoft has no reason to use C # or VB.NET. Written language, we don't want to discuss it, you can't, the primary consideration is necessary or there is no need, the answer is clear, NO.
Microsoft provides .NET's hosted packaging is a temporary strategy problem. From the perspective of marketing, Microsoft needs a unified ".NET INSIDE" to give developers enough confidence, but in his Within the range of capability, it is unlikely to "Embed .NET", "Embed .NET" released after 2000, the so-called .NET COM interoperability and half of the P / V Invoke technology are provided to developers, half is left to themselves. Because of the business's point of view, they need a unified technology to complete the COM / COM application system-free migration to his hoped .NET platform. From a technical point of view, some of Microsoft provides some hosted packages such as Office 2000's interoperable class libraries to give .NET developers to provide an access to existing systems. For the initial stage of propaganda, there is a concept of these technologies and propaganda. It is enough for this huge ".NET Strategy", because most marketing staff spend time to explain the "what's .net" above.
The .NET CLR is not a true VM because this VM is just completing the API package and abstraction for Win 32, and some core technologies are still constructed in the original technology such as COM , MSMQ, etc. On the .NET world, these things are only the hostess, Messaging, etc. Technology, then it is another matter. Then you will ask me CLR, for Microsoft Conquer World Bind all applications on Windows operating systems, and .NET CLR makes this more natural, because most developers will be more developed The Windows program is more simple and convenient, more "cool", the result of cool to the back is to use other technologies J Different from the original intention of the Java VM design to provide services independently of the operating system, .net from this perspective is more A parasitic "VM". Many people complain that .NET does not have a concept similar to the application server. If you accept Microsoft's engineers training or heard their speech, they will vibrate the words, .net is the application server, because Windows itself is applied Servers, such as clustering, failover, load balancing, transaction, asynchronous messages, etc. are all available at the operating system level. From the design concept, .NET and Java are completely directed. Java implementation is first designed with VM, then create an application server on the basis of VM, so all applications on Java can be applied to the application server. Migration, OK, .NET is first built the application server, and then .NET CLR provides access packaging for the application server, you can also say that these application services can be migrated, pair, in the application server There is no problem with the migration, yes, I almost forgot, .NET's application server is a Windows operating system, then I'm sorry, only to migrate your application between Windows OS.
This is Microsoft's most nature .NET strategy, one provides a running time (not framework) for Windows well, then do you have to use .NET rewriting for mature products? The packaging has been complete enough, overwritten slightly, but unfortunately in some packaging, Microsoft is still very good, Exchange is a good example.
REWRITTING IN .NET IS stupid?
VB.NET IS NOT VB?
I don't know how many people can agree with my opinion, I don't dare to conclusively, the launch of VB.NET is because the technical consideration is due to the market consideration. In Windows development, VB and VBScript should belong to an ubiquitous language, as a top Windows developer, you like it, hate it, but you have to admit that if you can't do this Do not declare the syntax of the variable, destined to accept some suffering, if you need to write some Windows script, if you want to operate Office, there are many false if ... Although many people despise the developers who do VB, because they think most VB procedures If you don't get through the stream, just drag and drop a few controls with VB, then double-click the centralized button to prepare the so-called Click event.
If you only stay here for VB, then I can only say that you really don't understand this language, you see just a fog, rather than the energetic mountain. VB (here, VB) is said to be a language of Component-Base, which does not provide the implementation of the inheritance mechanism from the perspective of syntax, but provides some effective polymorphisms, so that developers can do their best. Developing components-based applications, if not for performance considerations, development COM components do not have much use of vc (I don't mean standard C ), such as a slightly obstructed language, those who are a little feet, and event mappings believe let the pursuit of beauty. The programmer is more than once. In some business application development, VB6 has already paid a pole, but does not think that it does not have any shortcomings because of explanation (although it provides VB6VM.DLL [seems to be this] in the future, it is in essence or explained the execution) Low efficiency and some things are too dead, let some top VB programmers be bundled. No one can accurately point out what the development of VB should be, what extension should be done in the language level, including Microsoft, nor can I see the true need for developers. So when VB.Net is launched, most people are disappointed, because finding that in addition to Dim Obj As ObjectType and Begin ... End is close to the grammar, VB.NET is no longer VB they imagined, yes, joining inheritance, joining heavy Loading, add a lot of many keywords, but we still find this is not VB.NET we want. So when I have created VB.NET project, I didn't feel disappointed. I still wrote some needed test code. In addition to grammar structure, I have no need to consider this is what is it? Language.
But for Microsoft, the meaning is far more than the word of disappointment. I think that Richard is correct. The launch of VB.NET is to stabilize and consolidate MS developers. When 2000 launched .NET, the programmer engaged in Windows developed in the market, most of them use VB6 and Delphi, of course, there is also a part of high high VC6, the reason for launching C # is nothing more than to create a language without historical burdens, so that it can better competent based on .NET development, and provide a syntax similar to C , make C or Java programmer faster to C # Developed. In the past few years, because of Borland's unrestrained, it is unexpectedly attracted many of the original Delphi developers, and VB developers are either sure to seal, or simply abandon VB directly to C # (more programmers in China, in the North American market, VB. NET is still more), because VB.Net and VB are too close, for most people, in order to accept a language with historical burdens and shadows, it is better to let go of your hands and feet, learn the new language created by Anders.
So this time vb.net is still much VB?
Mono Only Is Mono, Not .NET Never.
When I continued to write this post, I downloaded Mono's runtime and library full source code. The source code for use in ASP.NET, XML, and so on for two days must be admitted that some of these ideas have a slight change in some of the idea of this two-day source code.
From a Microsoft's strategy, it is hoped that the user has unconditionally locked above the Windows operating system. Some people have a computer, and there is a computer with a computer. This is a dream of pursuing effort in Microsoft for many years. In addition to Apple's allegitudes, there are also part of Linux desktop systems, other Linux desktop systems, in addition to Apple's illegitimate, and other LINUX desktop systems. Maybe someone will attack me for Linux, but also I have heard that someone told me "You don't understand Linux", so all comments are not very open. Never suspect that Linux's impact on the server market is also the achievement of the server field to make Finnish college students Linus Torvalds' unintentional work in just more than 10 years into the most popular server operating system, but in the desktop field. ? You can tell me that there is already a good operating system, including the "National Software Industry" banner of "Zhenxing National Software Industry", which has taken a large pen, and also makes a surface look "Designed for Chinese" LINUX operating system, but how many people are really useful, and they will understand. Of course, some people will be jealous, surf the D version of Windows, and then resentless statement of micro-soft hegemony. As Microsoft, always lock the user above Windows, then .NET will not exceed the exception, to ensure that the "copy" is not allowed to be above the other operating system, as mentioned above The "underlying API" will be used. Although Microsoft has also submitted CLI, it submits C # SPEC, but how many differences in C # and Microsoft's own standards have been followed by ECMA standards?
Yes, it is because of the standard, so there is Mono's appearance.
No, because Mono is just mono, not .NET.
You can question my contradictory answer, but I can say that I don't understand Linux, but I can say that I don't know Mono. My friend Kaneboy told me that more and more discovered that Mono is a good thing. After I read some source code, I also think Mono is a good thing, but it is .NET? Maybe you can find some answers from the text below.
If you are a .NET architect, then I suggest you have to read Mono's source code, because Mono can tell you something you can't know before, you will see that you have always wanted to see it but didn't have a chance. To something, such as ASP.NET, ADO.NET. I believe that in VS.NET or Web Matrix, you can write a very dazzling page, you can write a very beautiful control, you will feel more mindful than the previous ASP, but you will find something you can't break through. For example, many documents will tell you the ASP.NET Page object model that will tell you the migration of the page throughout the httpApplication pipeline, tell you that you can enable session, you can enable the session cache, but you can't understand the bottom layer of the session in the web application. How to design and consider how to really effectively improve your cache design strategy. Everything is in Mono, I believe those source code can solve your doubts about you.
However, the current Mono is just walking with Microsoft. If you read the source code, then use the reflector to see Microsoft's own implementation of the class library, you will find that as followers are really hard, for some cores Implementation, Microsoft is only a package for the original technology, and then through the .NET unified programming interface, Mono needs everything from scratch. The foregoing mentioned that Microsoft will spare no effort to lock all techniques on the Windows operating system, then from this point of view he absolutely not runs on the operating system platform that is not your own statistical, for Mono, Application Server's strategy is consistent, because Microsoft understands, if you let the framework runtime (CLR) and application server are independent of the operating system, then Windows lost the final technical barrier, I don't know if you remember the Visual J of the year. In order to lock Java to Windows, Microsoft has developed WFC, and allows Visual J to develop COM components. Sun later tells Microsoft, the reason is very simple, because Microsoft's "sinister heart" and destroyed Java world "purity" ", Flat,,,, if ignore Microsoft's change for Java, even only Visual J is a new language (such as pre-c #, this is what I am pulling), relying on the power of WFC, as Anders join Microsoft The first product that was created, Visual J was developed in Windows, I have seen my personal feeling, I have surpassed Visual Basic. In terms of culture, Mono is a free gladiator, which breaks .NET can only be run on Windows, and also help Microsoft confirm that .NET can cross platform. But is Microsoft really system cross platform .NET? It is definitely not, if all developers develop .net development, and .net can also run in any operating system, then Windows is not the only choice, open source, free (hereby possible not particularly accurate) Linux Will be more mainstream. If you are a businessman, how will you choose? Therefore, there is no reason to let Microsoft's .NET wants to cross the platform, of course, the business advertised cross-platform is another strategy problem.
In view of the above, Mono is destined to be eternal followers, 1.1 framework has not been fully implemented below Mono, and .NET 2.0 is coming soon, if you know a little bit of whidbey (Visual Studio 2005 development code), you know .NET 2.0 relative to 1.1 has changed a lot, then how much power can be too far from Time to Microsoft. I have no answers here, maybe no one. If you are learning, then there are many reasons to suggest you to see Mono, if you are studying, then there are more reasons to choose Mono. If you are a businessman or architect, you have to find out that the reason is really difficult, really, it is difficult ...
Mono Only Is Mono, Not .Net Never
Mono Only Is Mono, Not .NET Never.
When I continued to write this post, I downloaded Mono's runtime and library full source code. The source code for use in ASP.NET, XML, and so on for two days must be admitted that some of these ideas have a slight change in some of the idea of this two-day source code.
From a Microsoft's strategy, it is hoped that the user has unconditionally locked above the Windows operating system. Some people have a computer, and there is a computer with a computer. This is a dream of pursuing effort in Microsoft for many years. In addition to Apple's allegitudes, there are also part of Linux desktop systems, other Linux desktop systems, in addition to Apple's illegitimate, and other LINUX desktop systems. Maybe someone will attack me for Linux, but also I have heard that someone told me "You don't understand Linux", so all comments are not very open. Never suspect that Linux's impact on the server market is also the achievement of the server field to make Finnish college students Linus Torvalds' unintentional work in just more than 10 years into the most popular server operating system, but in the desktop field. ? You can tell me that there is already a good operating system, including the "National Software Industry" banner of "Zhenxing National Software Industry", which has taken a large pen, and also makes a surface look "Designed for Chinese" LINUX operating system, but how many people are really useful, and they will understand. Of course, some people will be jealous, surf the D version of Windows, and then resentless statement of micro-soft hegemony. As Microsoft, always lock the user above Windows, then .NET will not exceed the exception, to ensure that the "copy" is not allowed to be above the other operating system, as mentioned above The "underlying API" will be used. Although Microsoft has also submitted CLI, it submits C # SPEC, but how many differences in C # and Microsoft's own standards have been followed by ECMA standards?
Yes, it is because of the standard, so there is Mono's appearance.
No, because Mono is just mono, not .NET.
You can question my contradictory answer, but I can say that I don't understand Linux, but I can say that I don't know Mono. My friend Kaneboy told me that more and more discovered that Mono is a good thing. After I read some source code, I also think Mono is a good thing, but it is .NET? Maybe you can find some answers from the text below.
If you are a .NET architect, then I suggest you have to read Mono's source code, because Mono can tell you something you can't know before, you will see that you have always wanted to see it but didn't have a chance. To something, such as ASP.NET, ADO.NET. I believe that in VS.NET or Web Matrix, you can write a very dazzling page, you can write a very beautiful control, you will feel more mindful than the previous ASP, but you will find something you can't break through. For example, many documents will tell you the ASP.NET Page object model that will tell you the migration of the page throughout the httpApplication pipeline, tell you that you can enable session, you can enable the session cache, but you can't understand the bottom layer of the session in the web application. How to design and consider how to really effectively improve your cache design strategy. Everything is in Mono, I believe those source code can solve your doubts about you.
However, the current Mono is just walking with Microsoft. If you read the source code, then use the reflector to see Microsoft's own implementation of the class library, you will find that as followers are really hard, for some cores Implementation, Microsoft is only a package for the original technology, and then through the .NET unified programming interface, Mono needs everything from scratch. The foregoing mentioned that Microsoft will spare no effort to lock all techniques on the Windows operating system, then from this point of view he absolutely not runs on the operating system platform that is not your own statistical, for Mono, Application Server's strategy is consistent, because Microsoft understands, if you let the framework runtime (CLR) and application server are independent of the operating system, then Windows lost the final technical barrier, I don't know if you remember the Visual J of the year. In order to lock Java to Windows, Microsoft has developed WFC, and allows Visual J to develop COM components. Sun later tells Microsoft, the reason is very simple, because Microsoft's "sinister heart" and destroyed Java world "purity" ", Flat,,,, if ignore Microsoft's change for Java, even only Visual J is a new language (such as pre-c #, this is what I am pulling), relying on the power of WFC, as Anders join Microsoft The first product that was created, Visual J was developed in Windows, I have seen my personal feeling, I have surpassed Visual Basic. In terms of culture, Mono is a free gladiator, which breaks .NET can only be run on Windows, and also help Microsoft confirm that .NET can cross platform. But is Microsoft really system cross platform .NET? It is definitely not, if all developers develop .net development, and .net can also run in any operating system, then Windows is not the only choice, open source, free (hereby possible not particularly accurate) Linux Will be more mainstream. If you are a businessman, how will you choose? Therefore, there is no reason to let Microsoft's .NET wants to cross the platform, of course, the business advertised cross-platform is another strategy problem.
In view of the above, Mono is destined to be eternal followers, 1.1 framework has not been fully implemented below Mono, and .NET 2.0 is coming soon, if you know a little bit of whidbey (Visual Studio 2005 development code), you know .NET 2.0 relative to 1.1 has changed a lot, then how much power can be too far from Time to Microsoft. I have no answers here, maybe no one. If you are learning, then there are many reasons to suggest you to see Mono, if you are studying, then there are more reasons to choose Mono. If you are a businessman or architect, you have to find out that the reason is really difficult, really, it is difficult ...
Mono Only Is Mono, Not .Net Never