/// The devil blows the flute: 10 pieces I went to the seattle MS HQ, and myan did a point .NET and GJ discussions to send the loneliness on the trip. Of course, MENGYAN is still very "care" I have considered my nervous business trip, he will not believe until I will go to Shanghai. (The following is the reason for the letter is English because I don't have a Chinese system) Dream: ///
Hi myan,
Are U All Right? Sorry, I am at seattle now.These Weeks, I am busy
Working in Microsoft So CANOT KEEO Contact with u.next week i will go to
Santana.have U recived my mail? I'd Likelook FoWard Ur Guidiance.
By The Way, In The Future, Python Will Be Added The Static-Type Checker.but
IT Will BE Optional Like VB and It Will Support Dynamic Parameter (Just IS
Template).
Yours Sincerely
Ian.king
Hi myman:
Now i Have Gone Away from MS HQ.The Airplan Are Being Checked for Half
a hour.so it take the only free time to write this letter for u.
There Are Much Pepeol Developing VS.NET Platform At MS Pg (Product
Group) .yestday Noon, I Talk about generic with them. "Will U Wanna Add the
Template IN .NET? "," Yup, The Version Two Will Support it.but it will be
Optional "." How u import it? type-checking at compiler timer like
C ? "," NO, WE HAVE OWN TECHNOLOGY, IT IS More Powerful Than C "." OH?
What's it? "" Sorry That 's confidential.but u can research the gj (generic
Java) .Generic of C # is similar as gj.
I Download the gj from http://www.research.avayalabs.com at the nigth.
I Look Into It's Document.i am Very Exciting.The Gj Team Have
Already Released The GJC (Generic Java Compiler) for Java2 Platform.It
Support Almost All over Template Syntax Beside Template Customization.
I am INTEREST IN THE MECHANISM OF IT.I Use NMI To Decode The Class File.
It become very despaired.If u look into my attachments, u will know what's I mean.The GJ is a mask of OOP.They are cheating.If the generic of C # isimplemeneted by the mechanism as same as GJ, the cheating will go on .
Sorry, I Must Shut Down My Computer Because of the AirPlane Will Take OFF.
I will Keep Contact with u.thank u! Good luck!
Yours Sincerely
Ian.king
AT Seattle
Hi buddy,
How About U? I HAV'nt Received Ur Mail for a long time.are u busy with UR
Work? i will discount do some detail talking after
Being back.thank u, good luck!
Ian.king
/// The devil blows the flute: this guy has only given me a letter in 10 days. The next time I will definitely take a knife: Eat the Hall of the Hall, think of the water. nightmare:///
Devil brother, hello!
The first few letters received it. Considering that you are in the United States, there is no reply. Now that you are back to Shanghai, it is no longer polite. :-)
You will bring me. Net will join GP capabilities, which is very happy. I have long listened to someone else to tell this news, but I have never been confirmed. The news you brought really made me very confident. Thank you first!
About GJ, this is what I have already known. I also downloaded that compiler. However, it seems that Sun will not officially add this feature in Java for a while. Now the development of Java is healthy, Sun does not have to take risks suddenly increase the complexity of language. I am agreed here.
For .NET, I have a relatively strong interest and relatively confidence. Although I think Ms is too far behind in the enterprise, it is good to be fully positioned at the enterprise reference level, and it provides very good support for consumer and commercial software development. I know that you must have a lot of new news in this area, I hope you give me more.
I have begun to believe that .NET will become the next-generation mainstream commercial software development platform, although traditional OS platform software will still have a lot of markets. I don't know how you know the relationship between .NET and COM? I will ask Stefanovic to the ATL development group, but I haven't got his reply.
Wish you the best at work!
Mengyan
2001-11-12
/// The devil blows the flute: This article is, my sense of viewing of MS. It is a conclusion that a conclusion that may not be very fair and private emotional and private emotions. I hope that COM enthusiasts should not mind. Dream: This letter of the devil brother, I often read it repeatedly. I think that any evaluation is to draw a snake, I believe that all readers will leave a deep impression after reading this letter. ///
Hi Dream:
Hello, I'm so embarrassed so late. Just came back from Santana, busy with the second phase of financing of the company
Bizplan. I didn't sleep for BizPlan yesterday. I have done Due Dilligence today.
The next week is willing to be free.
About GJ I don't know if you have carefully read my mail. Said to listen to a little GJ is hanging a sheep head to buy dog meat. last time
I posted two codes in Mail, the first paragraph is the Source Code second section of the application I wrote by GJ grammar is the code I use after the compilation of the Class file Decode after compilation. You can see that although GJ has realized the syntax of Template in the grammat, his implementation is to implement the Template class after modification of the object. You should also know that GJ's template is not allowed to be similar to int FLOAT these basic types as Type Parameter. The reason is here. GJ's implementation is actually the old way to java.util. So I am very disappointed with GJ. The GERNET's generic function is referring to GJ, if it is a reference syntax, but if the implementation is used, it does not dare to compliment .NET's template's feature. In addition, they also said that Generic feature has been achieved in May this year, but arguing in the problem of market promotion. Because you want to join the template feature in C #, then the CSL (.NET's bytecode) is also added to the Template function. .NET features a cross-development between multiple languages Therefore, it means that other .NET language, such as VB, you have to join Template. But this is undoubtedly a huge learning difficulty for VB, Pascal users. It should be a language for RAD. I am holding conservative attitudes on .NET issues. This is also the reason why we go to Seatle this time. I want to combine with the COM you mentioned. It is hard to imagine if there is no powerful backbone that is involved in enterprise applications. The biggest reason for adapting to an enterprise-class market is not in .NET. But in IAIN MCDONALD and Brian Valentine leaders WINDOWS2000 project department. Two people in Iain and Brian are Microsoft Granks from SGI and HP. One is a department manager of the SGI Cray department, one is the Chief Architect of HPunix, and they have rich experience in UNIX. They are more than their previous NT4.0 project manager Jams.warton in the enterprise and system
There are more experienced experience. Jams.warton used to engage in VMS. Therefore, it also brings a lot of VMS to NT, such as kernel systems, although NT4.0 claims to be a microenvironment, but in fact, NT4.0 kernel is simply a pig. He is almost responsible for the working subsystem of all subsystems of NT, is just a functional extension of a part of the kernel system. There is also, for example, memory management actually uses FIFO's worse algorithm until SP2 is replaced with LRU. IAIN MCDONALD and Brian Valentine are almost new designs from the New WINDOWSNT from the new design.
.NET occurs because COM is chaotic. I think COM is a very confusing architecture. The main problem is 1. Discharge on the development tool 2. Different disorders of different issues 3. Basic types and memory management chaos. The first question and the second problem are related. And is also the most important issue. The goal of COM is a binary standard that can be used in various languages. So his biggest advantage is that any language and tools can support and use. However, the implementation of various languages and tools is different, VB and VC are different, that is, the VC is also distinguished by MFC COM and ATL COM Bastlcom, and there is a third-party Delphi, BCB implementation is different. A variety of different tools achieve COM in different ways, makes the same problem with different implementation methods. The performance between various methods is not uniform, and the original intention of COM "cross-language writing" becomes an empty talk. For example, COM written in Delphi is usually 3-4 times slower than the COM operation written by VB. If you want to write a thread with VB. He will use the process instead of the thread to cause great resource waste and the COM thread of the VC is used in the traditional thread. The basic type of COM is also problematic. The basic type of COM is Varaint this huge union. COM expects to transmit anything through the way of transmitting the address. But this will have a problem with memory management. On the one hand, COM objects are implemented in this stupid approach. In many cases, you must use manual release resources. On the other hand, many basic types of memory allocations have several modes (there are few problems between different tools and languages), such as the most basic string processing, BSTR in the ATL, you need ALLOC to be used later DEAALLOC, DEALLOC, Memory leaks, the transformation of BSTR and CHAR WARCHAR is quite inadvertently inadvertently inadvertently. If you do with MS your own BSTR_T, there is a problem. If you use bstr_t.copy (), a BSTR you don't release will have a huge trouble. In addition, some basic operations, for example, a COLLECTION will be a very troublesome thing in ATL. You can do it in VB, but VB's Collection has a lot of problems in performance memory. In summary, the writing of a cross-language is like a walking of steel wire. In particular, the COM library with third parties is in the final integration of debugging, once in these libraries, memory issues or other issues you will have to face the project from new design or push down the danger. The goal of .NET development is to use CSL public language instead of the original chaotic COM architecture. In the type, the underlying implementation is unified above. Thereby reducing the cost of cross-language development. .NET still adheres to the tradition of COM, but a large transformation of COM. Make the interface and development methods easier and convenient. COM on .NET is getting better like Java Class or Beans. ATL still retains in beta2, but it is no longer as a main development tool. For COM on .NET, use COM to understand more clearly.
But I think the prospect of .NET is still blurred. First of all. Net currently has many places that need to fill the blank. There is a big change from nearly 30% of Beta1-> Beta2. Because all languages on .NET depends on CSL once CSL is changed. So all languages do this is a terrible thing for developers and programmers. And some functions may not be used in all languages, such as Template, which is not a hybrid for programmers. The programs are not a good thing. The performance is still no improvement in Beta2. The key to performance is the implementation of VM, but the performance of VM may have reached the limit on the current technology. Microsoft still has no breakthroughs in this regard. This time we go to Seattle, it is for VM. We have a certain test for Microsoft's VM. We have made a seminar with several manufacturers of Microsoft to issue internal test certifications. The results on the results are unanimously believed that additional installation compilers outside the VM can be thoroughly changed in the .NET performance. But Microsoft is still hesitating. Because once the additional compiler will need to be positioned from the role and meaning of the CSL. The third .NET standard will be open, open standards will have compatibility problems in the future. Another important role in the fourth .NET is not very good, first, first, XML is not in e-commerce. Excellent performance The most of the company is still using the original EDI system. Plus the current large landslide in the US IT, XML is very difficult to see again. From a technical point of view, SOAP-based protocol applications are suitable for processing of Long Term and the processing of Short Term performance is very poor. It's so much, I have been compiled for more than 2 hours. This is the case. There is a class library written in Boost to write a Python expansion library. It is not bad.
Ian.
King /// Demon blows the flute: Dream thinking and articles are always so deeply impeccable, even ordinary Email is the same. This article allows you to mention Python again, although I have studied Python for a while, but I can communicate with no one. Although Mengyan is quite interested, it is very busy without time to do some Python research. If Mengyan starts to study Python, I hope to open a small website with him to promote China's Python. Dream: (To Devil Brother) There is a small condition, this website must pay attention to my so-called MODERN C Style. I believe that by the guidance of a rigorous programming style and method, plus Python's best partner, C will glow new glory, Python will also find a solid growth point. Recommend the lecture record of Bjarne Stroustrup to all readers. I listen repeatedly, I always feel new gains. /
Dark brother:
Hello there! Very exciting letter, I even hoped to come to reprint! Your time is so nervous, I also write such a long letter, I am very touched. I am very happy to read your letter. I don't know much about the situation in Microsoft, and I don't have timely understanding of the US public opinion. Many of your messengers get a lot of doubts.
With regard to GJ's Template, I have already known. Initially, I am still more disappointed, but later I thought that the biggest advantage of Template is its source code. At this point, GJ's method is also worthy of the truth. Of course, it is not expected to be too much in terms of efficiency. The problem you said after the C # joined Template, it is really necessary to consider it. From this perspective, I don't support introducing Template capabilities to C # immediately.
You have a comment on COM, I think it is too exciting! I have wanted to learn COM, but I feel more confusion. (Of course, some people will say this is "clever"), and there seems to have a lot of complexity of things is complete because of the constant planning of the previous solution. Not as clear as standard C (although it is also very cumbersome), the concept behind it is incomplete and continuous. I am not very afraid of complicated people, but I am afraid of chaos. So I gave up COM learning. Later, I heard from a Microsoft engineer that COM's original designer regretted its basic design, such as obtaining any other interface from any interface, but no modification. Microsoft is not simplified COM, which must suffer from the long-term competition with Java. So .NET can also be seen as a solution for Microsoft Self-help. For .NET, my basic attitude is welcome. Although there are all of your problems, but in general, Microsoft can take this step, it is very worth it. Of course, I think it is the same as Java, and the problem is estimated to be too simple. With the continuous progress, this platform will definitely become more complicated, which is inevitable. Bjarne Stroustrup and Andy Koenig have long since made similar predictions for Java, and now basically confirmed. I remember an article I translated, mention why c is a great language, because the machine model behind C is Feng. Nogan model, very simple, very effective, any computer can fit this model. The wise place of C is that although Stroustrup designs a large pile of features to this language, the model behind it is, and the model behind it is still the simple, smaller C model. This ensures that C / C is extremely adaptable in solving problems. The machine model behind JVM and .Net should be said to be very advanced. This high-level one-level on the right application can greatly simplify the development of complexity, improve efficiency, and on the other hand, to a certain extent, its flexibility Sex. This is the paradox. Unavoidable. My point is that all the existence of both, respect each other's existence value.
You mentioned the compilation problem of .NET CSL. Similar problems discuss in Java is as long as Java itself. I remember that when I first started to get in contact with Java, I saw some experts (forgot anyone) shouted: "Anything can't stop Java compilation!" But so many years have passed, Java still can't compile. And several performance myths (JIT, HOT SPOT) have been broken one by one. Recently, there is a famous big statistical on the Internet, putting 30 mainstream non-mainstream languages, fair competition, Java's overall performance is terrible, even more than some old-fashioned language. It seems that there are some difficulties. Microsoft adds Native compilers, which actually means abandoning some of the basic design concepts of .NET. Microsoft does need a lot of determination. Moreover, according to GCJ's practice, even if Java is compiled into a Native code, its operational efficiency is still a big gap with corresponding C or even Perl. What will .NET going?
C resource management actually has a set of solutions. However, in some details of multi-threading, there is still a further discussion. The use of Reference Counting-based Smart Pointer is too large for system efficiency, so STL and BOOST provide auto_ptr, scope_ptr, etc. Ownership-based Smart Pointer. SHARED_PTR is recommended only for absolute necessary situations. Using a variety of Smart Pointers, use RAII principles and STL containers, it will be more and more easily. Even recent Andrei Alexanderscu also proposed some means to handle more complex resource synchronization issues, in fact, in C , it is already not far from. The remaining problems are mainly educational. For example, there are some practices we have learned, and it should be prohibited in Modern C . Two examples, any new [] in the definition should be seriously concerned, basically it is certainly unable to appear; any resource, if you can't find a certain Owner, then ten eight nine is Design is missing. Similar to these principles, one, combined with the tools in the standard library and the tools in the Boost library, summarize some usual models, and resource issues will be properly solved. I don't want to write an article on this, but one of my own research is not enough, two time is not allowed. Not long ago, in the training of Microsoft Developers, I heard that Microsoft engineers talk about XML / SOAP performance is too bad. After all optimization, it is not possible to break through 30% of the general agreement. It seems that new technologies want to succeed, it is indeed time.
I am very pleased to pay attention to the Boost library. Although it is also a Free library, its identity is very different from ordinary open source software, all of which will deliver the C Standard Commission, and then become the next version C standard library component. Regarding the Python components, I have wanted to tell you very much, and I will forget every time I write. In fact, this itself illustrates an important issue, Python and C are a very suitable partner, which is not only in the Python community, and has been widely recognized in the C community. Why don't there be an Perl library, there is no ADA library, and there is only a Python library. This is a problem with it. Of course, I also doubt whether this component can pass through the standard committee. But Boost's identity determines that it is a standard, and any compiler in the future will support it. I have told you that if I can only learn two languages, it is Python and C , which is here.
Recently, I got out of the speech recording on SD2001 on www.technetcast.com, which mentioned some views on "correct use of C ", and mentioned that KCC MTL has made C in mathematics operations beyond Fortran77 (you Know that this is considered Mission, Impossible in the computer world. In general, I feel that today's C is full of heavy historical burdens that I bring to yourself, take the posture of a young language to your tomorrow. I am still full of confidence. Now I hope that the binary standard for C definition interfaces will now take some practical measures to reduce the difficulty of project document organizations. I have a lot of project files here, and I often happen the problem of Symbol redemption. It is really annoying.
Recently, I am busy with Win32 API, and the big road is concerned, thank you for giving me the news. Mengyan
2001-11-19
<< Slepty,. . . . . Recently, I and myan are discussing design models, I hope to pay a period of time.
We can make it again a little good article to readers >>