For a long time, the question mark in the title is a big exclamation mark in my mind until recently.
If you don't go into the details, everything is very simple. However, in a sense, enterprise software is far more complex than underlying software.
ProgramThe design languages include machine code, assembly, C, C ++, And. net. Computers have also taken up several rooms from the past century to the current small and exquisite handheld computers.
Some corporate software R & D personnel who are despised by the underlying R & D personnel carry the process of gradual evolution from the underlying layer. If you study C # in detail, you will find that, in fact, C # is far less simple than imagined.
Yes, C # encapsulates pointers. pointer operations in C # can only be labeled as unsafe and managedCodeRun, so some people say, have you seen it? Even the memory cannot be operated. C # is too simple. I think this is too simple.
After studying msil, we can know that C # inherits the pointer operation of C/C ++, and all operations are completed through pointer operations, but the old cover helped you apply for memory, help you manage pointers, and help you release the memory.
Of course, you can turn a blind eye to the facts, not to understand these facts, not to pay attention to these details, and close your eyes to make it dark. Then, it is really uncomfortable to argue with C #, so that I don't know how the underlying layer operates. I think you are too lazy to understand yourself!
I now understand why C ++ is the foundation, and it is much easier to learn C #. Without C ++, from the source code, we won't see how C # function parameters are passed, and how C # polymorphism works. I once thought that C # was so simple. Actually, Visual C # product manager Dan is right.
For (int I; I <X; I ++)
{
}
Can you see which language it is written in? If you want to stay on ctrl c + ctrl V, everything is so simple, even if you use the assembly language, it will be much harder to paste and copy in the window?
C # is a language built on machine code, assembly, and C/C ++. To explore its essence, we must start with the most basic things. After reading the. NET essence, you will know that it is far easier to thoroughly understand the. NET mechanism. In the B/S architecture, the data transmission mechanism does not seem so easy.
Enterprise software is also the soil for application of design patterns. Maybe I do not understand it very deeply. The design pattern is the accumulation of experience in the Object-Oriented field development, and the application of object-oriented programming in the development of enterprise application software is so wide, and at the underlying compilation, c won't think too much about these things. It is not a matter of time to apply 23 gof design patterns to projects.
So stop, this is content, there is a technical discussion, too much "push", more proof of their inertia.