What is Visulal C ? - Talking about other
Is this quite strange? Probably. However, when I saw some people published such as "Windows / Office" or "VC is omnipotent", I can't help but ask yourself.
What is Visual C ? Do you usually work in the "Microsoft Visual C " window, does it really represent Visual C ?
According to my understanding, Visual C is a development kit, which can probably divide three main parts:
1. Developer Studio, this is an integrated development environment, 99% of our daily work is completed above, plus its title Herdened "Microsoft Visual C ", so many people think of it, that is, Visual C . In fact, although developer studio provides a good editor and a lot of Wizard, but in fact it does not have any compiler and link features, the behind-the-scenes heroes that do these work will be introduced. We also know that developer studio is not specifically used for VC, which is also used for other fellow cousins of Visual Studio, other Visual Studio, etc. So don't treat developer studio as Visual C , it is only a shell of Visual C . Please remember this!
2. MFC. In theory, MFC is also dedicated to Visual C , Borland C , C Builder and Symantec C can also process MFC. At the same time, write code with Visual C does not mean to use MFC, as long as you wish, use Visual C to write SDK programs, or use STL, ATL, not limited. However, Visual C is originally built for MFC. Many of the features and language extensions in Visual C are also designed for MFC, so use Visual C without MFC, which is equal to abandoning Visual C a large part of the features. However, Visual C is not equal to MFC.
3. Platform SDK. This is the essence and soul of Visual C and the entire Visual Studio, although we rarely come directly to it. In general, Platform SDK is the core (not Visual C , seeing) with MICROSOFT C / C compiler, with MASM, supplemented by other tools and documentation. The above is said that developer studio does not have the ability to compiler, then who is done by this job? It is CL, which is nmake, and other many command line programs, which we can't see is the cornerstone of Visual Studio.
Why do I think "Windows is developed with VC" "This statement is very strange?" Because it is too vague. With VC, you can write MFC applications, or write a pure SDK program, no matter which method, it is not necessarily non-VC. As long as I am happy, I can use UltraEdit to write a MFC program, and then compile with CL. There is no need to use VC. And there are many hackers and those who can't afford Visual Studio! Programming with SDK does not require VC, down a Borlan C Compiler, or with a compiler such as LCC, it can also achieve the purpose. Besides, Windows is not a simple product. Use VC to write a Windows peripheral program is completely incomplete problem, but can the core part of the operating system? Even if you can write code with VC, what should I do if debugging? VC himself is powerful for general application functions, but for system-level debugging is in powerless, because this debugger itself relies on operating system. Only system-level debuggers such as Debug, Softice, and WDEBUG can complete such a major task. In history, Visual C 1.0 appears late from Windows 3.0, and the MFC at that time has only a prototype, it is impossible to develop operating systems. There is a Microsoft C / C 7.0 in front of Visual C 1.0, but its overall level is not as good as Borland C 3.1, which is not as good as Watcom C in the expansion of memory management, so there is no big market. It is now no longer serving as a separate product, but it is still in the main components of Platform SDK, and its function is not in the same day than in the past. When Windows 95 came out, MFC is still trying to catch up with the function of the operating system. It should be said that Visual C 5.0 is a turning point. On the one hand, MFC has developed relatively perfect. On the other hand, the basic structure of the operating system has also stabilized, and then focuses on system integration and improving as a function of business platform. A stable system is impossible to turn over the earth-shaking modification, so I can accept the "Windows system is" using Microsoft C and Masm as the compiler ". Studying Windows system files can be seen, many files displayed by Linker Version is obviously a Microsoft C compiler. As for the code, what is written? I don't know, I don't want to know, except for the developer Studio editor, any good text editor can do this.
Does Visual C are omnipotent? Oh, it is best to separate. Developer Studio is definitely not - it is just a housing. What about MFC? Nor. On the one hand, it is the package of the API. If you leave the API, you can't do anything; on the other hand, the MFC's packaging of the API is not comprehensive enough, and sometimes it is necessary to call the API function directly to "want to do". As for Platform SDK, it can really say that it is almost omnipotent. However, it is not much meaning that it is too much attention to this. As long as there is a complete compiler, and must support files, other development tools can also be "ignorant", such as Borland C Compiler or LCC.
Honestly, I don't like "I don't have anything". The key is that the understanding of each person is different. If I get true, I can write a VC program to make the computer pick up the mouse to bark, you don't like the boss, can you say that it can do it? What is the so-called "ignorance"? Let me write a Server with VC, can support tens of millions of visits per second on ordinary workstations, and can't do it, regardless of whether VC's optimization means is effective. On a specific platform, in a particular operating system, no matter how powerful tools, it will eventually be limited by the platform and the system itself. Everyone should know this paradox: Can God make a stone he can't get? I also often see that "MFC will never go out" or "C is not dying" this statement. I understand the mood of the spokesperson, but this kind of statement is never objective. A language is also, an Application Framework, which is not a purely natural formation, there are many complicated factors, and sometimes the reason for the hero, the so-called "high-rise, Not a birthday wind, "is also. The historic stage has never been special for someone. Even if there is a so-called long-you-green freak, I am afraid I have the old saying: "Everyone is dead, only two old gains, what do you mean!" We are now using Language, regardless of Basic, Pascal or C , even Java and C # in the day, will have a merged day. This is not our losses, the opposite, has a good salary, a good, reasonable factor in a language, will definitely be inherited and carried forward by the subsequent, and the new metabolism of nature is this.
The sky is not flying, and the birds have already flying. One language is only a historical mission of "being a holy, for the peace of the world," It's a bit exaggerated to the Sheng Ji, which is a bit exaggerated, "is a bit exaggerated." ! I don't know if I have a birth year, I will see the demise of C . If there is such a day, I will clapping because this shows that there is another update and better language instead of it (perhaps several). But according to me, I am afraid that I am afraid like C , I am afraid it will not be a quiet voice, and most of the cases belong to "the beginning of the Emperor, Yu Wei is in the firut" situation.
Finally, please allow me to give a little emotion. The advantages and disadvantages of the language are actually a problem that does not have to be discussed, and the individual experience and the environment determines the views of your language, which is very personal. It is like a French friend, and he will pride to tell you: French is the best in the world. I agree with this statement, I agree, and appreciate his national pride, but will not feel that this is the detritionation of Chinese or English. Although I have been convinced in my heart, Chinese is the best language in the world. Of course, if he said to me, "What is your messy Chinese is something, then I may be another kind of reaction.
Said so much, meaning is nothing more than thinking less. Often see "XXX is the best language (compiler), what is the" XX is the best language (compiler), ". I don't want to argue with them. If a person is interested in the same thing, since the interest of contact and understanding, then it is probably not used. Just feel regret. The diaphragm and misunderstandings in the world, mostly due to each other, and how many tragedy is thus happening. It is probably not so serious in the programmed world, but how many people can be seen in the heart. If a personal A is often said to B's bad words in front of me, then I don't have a mist to b, but I have to subtract 20 for A. People or things you don't understand, no matter, don't say, that is, it is. Why is it to add? I have a long time to work, and a variety of software engineers have seen a lot. As I saw, the programmer is a kind of person who is very silent. It usually always performs Wen Wenya. Sometimes it is rare to see them with their temper, throw mirts, smash the keyboard, and what to do. Yes (this situation is mostly a bug that has no way to remove it). In the face of loved ones and friends, they sometimes choose long silence, only when they sit in front of the machine, they will discover their obsesses and enthusiasm. Although universal words, they seem to have spacious ways in the game or network. So I saw the text of the grammar mistakes in a variety of forums, seeing the situation of each other and even personal attacks, and even seeing many indecent vocabulary, although the mood is not happy, but I I think I can understand. Just, I am still worried, after all, the programmer is not affordable for a few years, and life has a long way to go. Without a sound mentality, there is not enough to be a skill, how can life after 30 years old?