C # Are you really getting started? Meng Yan: Good afternoon, everyone. I host this interview program for you. Today, I invite Han Lei, a famous operator of csdn, and a famous technical expert, not long ago, he translated a book called beginning C # objects. I was surprised when I knew it. I don't know why he was doing such a thing in such a position, later, he told me that he thought this book was meaningful. For a book that C # has a great significance for programming, today he asked us to explain why he wanted to translate this book, what is the significance? Then, Han Lei, I want to explain to you why you want to translate this book, because it seems to us to be a book from elementary to intermediate. Han Lei: it seems that it is not a good thing for a translator. Meng Yan: No, it's not a famous book. Han Lei, after I first knew this number, I knew that blog posts had this book and I was about to take it out. Starting from my website as csdn, I strongly feel that Chinese developers or developers in the world are not very optimistic about programming or general understanding. I feel that this feeling of object-oriented is not deep enough, in specific languages, there is also a question about how to target objects. Many people still lack a basic concept or have such problems with people who have several years of programming experience. Meng Yan: Yes, I have actually felt this kind of phenomenon. As modern development and supply become more and more perfect, many people do not understand the specific principle, A third, fifth, and second division will only remove an application. As a beginner, it is a good way to get started. But as a professional developer, if he has been in this status for a long time, after joining a team, the Code he writes will become a long-term risk. Han Lei: Yes, it is a huge hidden danger. The current IDE development tools or some convenient ide will help you drag and drop the code, IDE provides you with a brick to build a house, but the house built in this way will certainly not be too high. You can make a simple prototype, it is impossible to create a simple nest, but you think of an empire building. The central building is impossible, because the real program requires a good architecture and a good object-oriented thing, it doesn't mean that a tall building can be built by dragging an IDE. Meng Yan: Yes, good. There are a lot of people in the case of "Try and test", and some people make CSS. Sometimes he has just a few parameters and he will try them one by one, after the test, he thought that the desired result would be used. In fact, many people still do not understand the reagent mechanism, and many of my friends developed the web, many people have been affected by this drag. I believe you have been working on csdn for a long time. Have you observed that our development team has such a phenomenon? Han Lei: in fact, our development team also had this problem. After we got the development platform, there were two extremes. One was the SP method. Later, we liked Object-oriented for a while, therefore, it must be object-oriented. Meng Yan: That's right. It may be difficult to grasp. Although this book is intended for beginners and Intermediate People, it does have something unique in explaining object-oriented, or he has explained this matter clearly. Could you tell us that you have translated this book clearly? What is his object-oriented problem? Han Lei: Actually, I have many years of development experience. After translation, I feel that C # Is your entry level? I do not know how to get started. He gives me the feeling that it is an appropriate application and cannot be abused. I think that abuse is your way to develop and join him to a site with a large access volume, there are a lot of conversions in the middle. This way, the page is converted, which also consumes a lot of performance. In fact, object-oriented is throughout the process, it is not right to say that the entire article is about making a database so object-oriented. This book teaches you how to divide it into several parts. The first is how to target objects, the second is how to structure or design applications. The third part is to convert the so-called ums blueprint. Meng Yan: Yes. I believe that no matter what language you are talking about, many people have gone through this stage. I am C ++ myself, and we have all gone through extremes, if we don't need to be object-oriented, we will have a sense of guilt. In fact, I think these are all stages. If we go through this phase, this number will help everyone understand this matter. Han Lei: Yes. The guilt you mentioned is particularly interesting. Who is the guilt? Are you guilty of the inventor of this language? This is wrong. You have to feel guilty about party A of this project. Meng Yan: Yes, just like the example you just mentioned, there are multiple layers in the middle of the Web application. After all, there is coupling between this layer and the layer, this coupling must have gone through the ever-changing translation of the database, as if there were a lot of people using this method. Some time ago, we felt that we were at the bottom of the TAO de-Shang Dynasty. Now, we still feel that we are practical. If we saw this book very early, we would certainly be able to help you solve some problems? Han Lei: Yes. I can correct some incorrect ideas. How do you use object-oriented methods to engage in him? Or how to strengthen the problem-solving field. Meng Yan: the question you mentioned is the most difficult problem for Object-Oriented users. This is the problem of the basic ideological building. This problem is not very complete, what you mentioned just now is an area of object-oriented business. I once gave an example. We call it an object. If a company wants to consider the quotation after the size of the stool is lost, this is what the logistics company should consider, however, if it is in a mall, he considers the manufacturer's style ex-factory price. For the same essential thing, he has different attributes in different environments, in a game, this stool may be used as a killing tool, and its weight and so on are very important. Therefore, it is impossible for you to put all aspects of this object in place, this is impossible. solve this problem in the business environment. Han Lei: I remember the first chapter of this book. He gave an example of what is object-oriented, that is, a piece of land in the desert, so that everyone can see different things, A biologist can see the biodiversity, the flowers, the grass, and the fish. The construction engineer can see how good the fast construction is. How about building a tree house on this tree? In fact, when everyone looks at a thing in an objective world, his understanding of this thing is different, and His attributes are different. A child understands tree houses and architects understand high-rise buildings. Meng Yan: Yes, you still don't remember. We may have been dealing with object-oriented objects in the late 1990s S. Now it seems that many people may be misled, now we are talking about object-oriented modeling for the objective world. That's right. This is the advantage of the objective world. When requirements change, your changes will not be big, this idea brings many side effects. After a project is used, many people do not want to think about the specific needs of the project, that is, to start modeling the project, moreover, he does not know the attributes and methods of modeling at all, so it is useless to build many methods at last. Right, UML proposed after 98 years, I think the most important feature of UML is access. Han Lei: Yes. access, including UML, includes traditional solutions. It is very important. It must be an application scenario. Meng Yan: He tells everyone that even in an object-oriented world, you must be guided by user stories. Han Lei: Actually, the development method is a kind of translation for the objective world. I am from a language. I often use an example of a language, the modeling at that time was an abstraction of the objective world. In fact, many things were lost in translation. Programmers or better programmers should decide what was lost and what was retained, so I was indeed very unified, that is, before the UML method came out, when we were not very familiar with the entire system architecture, that is not called abuse is called the use of the law. Meng Yan: Yes, many people write their own applications, a lot of repetition and strange domain names. I think people who have experienced those years have completely understood these problems. Today, programmers have never experienced those things. Once they come up, there will be a language, and Ruby I am paying attention to now. It seems that you don't need to write anything on your own, this way of thing will go to another thing. In fact, it regards object-oriented as the base class library, and I will use the basic method to wrap it around. Han Lei: Yes, a large number of Programmers think this way. I think that programmers, especially entry-level programmers, are what I hope to build in the future is my own nest or a tall building, if it is a high-rise building, the basic knowledge is how to master it. I think the advantage of this book is to correctly teach you ideas, rather than dragging something to double-click, this is what we do now. UML or C ++ is just dragging a button, but you need to understand that you drag a button to authorize an application, when we were working on the flower window, many people would create a window, language window, and so on. Without this button, there was no such button, in fact, it contains a lot of Object-Oriented Knowledge. Meng Yan: Yes, some Windows systems. Han Lei: Yes, It seems troublesome, but it is actually a mechanism for the entire system to run. Meng Yan: Yes, you are talking about how to become a Senior Programmer. You used to work in Vietnamese. You probably learned a collection of programming languages? Han Lei: I am a beginner in FoxPro, and I have worked on java. I have done some operations in C ++, And I am playing with my own applications on some devices, followed by C #. Meng Yan: I have learned almost the same amount as you. In fact, I don't think it is as easy to learn a language as it is in the real world, but I don't know if you think so, none of the languages we just talked about can be learned easily. Han Lei: Actually, it is very simple to learn a language. It is nothing more than grammar and vocabulary. But if you can remember both vocabulary and grammar, you can't tell authentic languages, the truth is the same. Meng Yan: Yes, too many people are using this. Han Lei: Yes, he will not take the initiative to accept your point of view. If you cannot use a foreign language to write good literary works within a certain period of time if you learn a language, similarly, you cannot use languages to write good applications when learning computer languages. Meng Yan: That's right. I have a lot of confidence in C ++ in the five or six languages I just listed, but I may not have enough confidence in other languages, I think as a programmer, I think I should go to. Han Lei: Yes, I really think it is very hard to catch up with, but looking back, the changes in the middle of it just give programmers some good inspiration, so I think that framework programming, this is a good book. Meng Yan: Yes. Let's talk about C ++. First, I don't have a good impression on him. Second, I have read this book. I always think that the design of this language is that, we divide the current language into three layers. We divide the underlying language into the C ++ language, and the middle language into Java, and C #, I think in the middle-layer Language, the C # programming is Super invincible and the overlord is three thousand. You mentioned 3.0 just now. I think many people will be interested. He has already added 2.0, 4.0 may be being added. At least it gives you a dynamic feeling at the syntax layer. In fact, there is a problem. As far as I know, many programmers have not even digested 2.0. This reminds me of C ++. What should I do as a C # programmer? Han Lei: At that time, 2.0 has already come out, that is, you can not limit the present and future. Of course, if you use it, you can indeed improve your capabilities. Meng Yan: we should still use it if it is advantageous. Han Lei: Yes, and now some people in the technical circle have some opinions on it. Meng Yan: it is a good thing that he doesn't know about accessing a database. Han Lei: Yes, that's terrible. You think it is quite good, but it is terrible to use and has many vulnerabilities. C # It's a middle-layer language. You still have to think about it. I saw a book as a priest and a temple priest. He wrote a 2.0 book and didn't tell you the steps from beginning to end, and Microsoft is doing better. Meng Yan: That's right. I think there is a big problem now that you can be busy with the project or adopt some practices for the project, so you have to come up with some managers to work hard. This is the most important foundation. Han Lei: Yes. If you have any readers, I am wondering if this quantity is suitable for me? I said it is hard to say that it is suitable or inappropriate. He is suitable for two types of people. One is that I don't know how to compile the program, and the other is that C # is still a little lacking. Meng Yan: Microsoft is about to launch its new platform. I have already used ie7.0. What is the future direction of web development? Han Lei: on that day, Sun Hui mentioned that ie6.0 and ie7.0 are separated. This means that Microsoft is working more closely with the operating system to support the network. There will be two things in the future, one is Microsoft's implementation of IE's browser features. In the new vista, many things have browser interfaces, and many programs have browser interfaces, allowing them to directly access the network, or if you don't connect to the Internet, you can do it locally. This is also a kind of thing. Web development is a big trend and everyone has to refresh it, I used to write an article called an overnight fried egg meal. In fact, I had it for a long time. I had it a few years ago, but now it is on fire again, I think this will be a trend in the future, and your work may be a trend, so C # Or. net, he should have never had this thing before. He is based on a refresh thing, but not necessarily using Microsoft's system? This is hard to tell, because he has a variety of open-source frameworks, but they can help you complete the task and provide the best user experience. I think C # will be the first choice for programmers, this should be noted. Meng Yan: Speaking of this as the Web direction, I have a question to discuss with you. the most painful thing I feel is that script debugging has been written, when we are familiar with Java and C #, its model is very clear, and it is a very comprehensive language, will this thing last for a long time? Java was a first aid chapter. Although he made many improvements later, the first aid chapter was the first aid chapter. He waited for a premature baby and could not continue. Han Lei, if you think a little farther, your code on the server will solve the problem well. If you run a good code, you can also use C, this is a good question. Meng Yan: Yes, I remember talking about this matter a few years ago. Many of the applications you mentioned earlier can easily access the Web. In fact, after such a scene is realized, why are we limited to something in the browser? In addition, it is easy to integrate applications with programs, and the browser has two aspects. On the one hand, it greatly enriches the way we live. The C # mode changes the application of graphic interfaces, on the other hand, C # has increased the relationship between several vendors, so that for a long time we haven't seen their very beautiful cross-platform interface. Han Lei: Yes, this is still a platform issue. Meng Yan: I think the sooner this page is turned over, the better it will be for our developers. Han Lei: Yes, this is a good thing for developers or vendors. Meng Yan: Yes, first make it out, then open source or why. Han Lei: Do not engage in it politics. Second, do not conduct morality. Do not say that Microsoft is evil. Open source is not evil. That is to say, when we criticize Microsoft for operating system monopoly, this is actually the case when the operating system changes. Before windows came out, most people used a variety of operating systems. In fact, the same was true on the Web end, A huge problem with web is that it is too fast to come out, and it is not uniform enough. Before that, every website must be a different browser, therefore, I think that in the future, if the web is truly integrated into a system, it will certainly be a benefit to Microsoft. What Java calls is to write and run everywhere, and the idea is very good, if you have a hundred percent of them, why are you still thinking about other things? Meng Yan: Yes, Java is a very beautiful graphic interface. To be honest, I am sorry. You have just mentioned that the key issue of program writing is to solve the IT problem, when we have all these things unified, I hope to see a better development of it. Can you start from the amateur programmer to the current position? How do programmers go up? You see, programmers around us say that there are still a lot of limited people. Han Lei: Yes, I think this is the case. No matter how you work as a program or as a career or as a person, you must have a high vision, if you want to build a well-developed application, and the high-rise buildings do not shake, you must stabilize the architecture, whether or not you are going to do a career, you must check whether it takes a long time for you to engage in it. Is there a good foundation? In fact, you are the same as dealing with people or people. This is the basic principle of being a person. A programmer is far away from looking at dealing with people and careers with the enthusiasm of research programs, either it is to keep doing it, or because of Seat Management, how can we make these people execute your ideas well and satisfy others? These three categories are to start a business, that requirement is even higher. In fact, I believe that the truth in the world is the same. From my perspective, it is translation, and human thoughts depend on translation, I want to ask you to do one thing. I need to tell you my thoughts. My translation skills must be very strong, my thinking skills should be very strong, and I must be very careful in doing things. Because after you get into it, you don't want to ask others how to do it. The same is true for development. Development is to solve the problem. You have to have a problem. There must be a solution to this problem, there must be a way to implement the process of this method, and finally there is a way to follow this process, the final things will at least produce bad results. Meng Yan: Well, today is very interesting and interesting. Let's get there today.