Coming back from the C # trend-advice to beginners
---- Abstract: Harbin Institute of Technology BBS
Author: Liu Wei
Monday, July 15 2002 AM
I always believe that for a beginner, the technical trend in the IT field cannot catch up with and cannot catch up
Catch up. I often see that my ddmm threw away textbooks and sold some expensive big headers such as C # and VB. NET, which made me feel
Very sad.
However, many BBS friends who cannot figure out what the pointer is. The discussion in C # does not need a pointer.
Funny. C # Just like ASP in the past, "suddenly like a spring breeze, a thousand trees and a thousand trees bloom", the Information School of many schools became"
Web school ".
Many college students at the 9th and 97 levels are engaged in the web. Of course, I have no awareness of discrimination against a certain industry. I just think that if they spend more time catching up with these trendy technologies on basic courses, they can go further.
Several misunderstandings
A beginner's pursuit of the C # trend is actually only one of the several misunderstandings that often occur during the learning process. I will use some practical examples to illustrate these phenomena. You can step by step to see if you belong to one or more of them:
Computer technology equals Programming Technology:
Some people have this impulse in their subconscious even if they do not have this idea. It is strange to me that many students in the Information School also think like this. I think that computer majors are programming majors, and they do not care about programming or irrelevant courses. Extreme students will not read it if there is no "programming" in the book.
In fact, programming is only a kind of labor with the lowest complexity in the application of computer technology. That is why the people at the bottom of the IT industry are coder ). Computer technology includes multimedia, computer networks, artificial intelligence, pattern recognition, and management information systems.
Programming is only a process of expressing algorithms in the Process of theoretical research or engineering practice of these specific technologies. Programmers do not necessarily know much about computer technology. An interesting phenomenon is that many masters of computer technology researchers do not understand programming. The hype on the Internet and the good working conditions in the real world make programming the work mysterious. In fact, every programmer understands these things,
It is not more difficult to learn than other majors, so naturally it will not go anywhere.
Kong Yiji style:
I have met a girl's "Computer Network Principles" teaching material. This girl is full of books like a primary school student, and her notes are full. It must be thicker than the teaching material. What I don't understand is that it is necessary to take notes for courses like computer network principles? Our exam-oriented education has indeed affected many students. During the course "principles", many students recite their memories as if they had learned the principle of the column.
This is the most stupid behavior I have ever seen. The so-called principle is the need to know why it is doing this, learn why, rather than how ). The maximum length of the Ethernet network cable, the length of the data frame, the meaning of each field, and the format of the IP header are ignored, I forgot the purpose of the TCP/IP protocol design. In short, many people spend a lot of time learning their books.
Nothing is learned.
This is also true for these students when learning programming. They exactly remember the details of the C # syntax. After reading the C # tutorial, read thinking in C # (indeed a good book), inside C #, C # reference, this C #, thatc #......, Then I learned a lot about C # syntaxes on the Internet, and found that I forgot some C # syntaxes. Finally, I went back and went on to make up for it .... A younger brother told me, "C # is too difficult. I forgot to learn it here, and I forgot to inherit the template ." I replied, "It's easy if you don't study ". I didn't tell him how to break it down. I just told him that the syntax of dead C # is just as meaningless as there are several methods of writing the word "shen" that Kong has already showed off. You don't need to worry too much about the C # syntax at all. It's just a matter of hands-on programming. If you don't remember something, check msdn immediately. I have concluded that the understanding of program syntax in the actual development process is the most insignificant. This is why I spent only half an hour reading the syntax when I wrote a small program for my classmates using basic (I have never learned it before, then I completed the program in half an hour, and an hour later I completely forgot all the keywords of basic.
Blindly catch up with fashionable technologies despite the Foundation:
Finally, I came up with the question. Most people want their stuff to run right away and turn into money. This idea is reasonable for a programmer or project manager who has already entered the professional field, and IT technology advances so fast. If it is not followed up, it means unemployment. However, this idea is confusing for beginners (especially those with ample time. One has not entered the industry competition
The biggest capital of beginners is that they have enough time to learn basic things and learn why instead of how. Fashionable technologies are often easy to master and more easy to master. This is driven by commercial interests, in order to maximize the cost of software development. But in it
The reality in the field is that the more things that are easy to grasp, the more people learn and the faster the elimination. Every time new technologies come out
Many beginners follow up, because these beginners lack the necessary foundation, so they spend a lot of time in the follow-up process, and wait for him
Once learned, this technology is almost eliminated. Basic courses, such as data structures and operating system principles, cannot be implemented immediately.
A Linux (which is why many people laugh at the useless theoretical courses), but they can significantly reduce the learning curve when you are learning new technologies.
. Moreover, many key technologies (such as Win32 SDK program design and DDK programming) are even indispensable.
A living example is that one of my colleagues and I can't find the power-on button when I was a freshman. He has already written some simple assembler programs. I spent all my time on the course of assembly, computer architecture, data structure, operating system principles, and so on. He started to learn HTML and VB, and catch up with ASP. In my junior year, I started to learn about the operating system principles of windows and how to program using sdks. It took a long time to develop visual applications with VC. I was once able to run the program
However, I was annoyed when I was still learning how to create a dialog box, but after graduation I realized how correct my choice was. Negotiated with me
The company's salary is more than twice that of him. The following is an inappropriate example: assume that it takes 4 months to study vbprogramming and basic courses
It takes one year to design the program and VC program. If you learn VB first and then learn the latter, the time will not be reduced, or one year.
If you first learn the latter and then learn VB, you may only need one week to learn very well.
Several important basic courses
If you are a student or if you have enough time. I suggest you carefully master the following knowledge. My advice is for beginners who want to achieve something in IT technology. At the same time, I also listed some bibliography which should be available in the bookstore. To be honest, my biggest wish when reading other people's articles is to ask the author to list a book order.
College English-Don't be funny. I strongly recommend this course because it is unimaginable to have no professional document reading skills. Chinese translation is often made in the Year of the Monkey, Ma Yue, and many publishers now simply print e files. The learning method is to force yourself to read the original teaching materials. At first, you will not be able to understand them. It is definitely a quality that any industry needs.
Computer Architecture and assembly language-Books on the architecture are everywhere and similar, but there is a very good book in the compilation. 80x86 Assembly Language Programming Tutorial (Tsinghua University Press, black cover, Yang Ji Wen ). You need to focus on the programming of the 386 post protection mode. Otherwise, when you learn something at the bottom of the modern operating system, you will think that you are reading tianshu.
Computer Operating System Principle-Our development is always performed on a specific operating system. If not, there is only one possibility: You can implement an operating system on your own. In any case, the operating system principle must be read. This is like we need to know the basic operating sequence of a chip when making a peripheral device for a chip. There are also many such books, and I have not found any outstanding book. I just think that if I have read these books, I should read "Inside Windows 2000" (Microsoft press, I am reading the E version, the Chinese name must be the inside story of Windows 2000 ). Another article on zdnet has discussed the necessity of learning it.
Data structures and algorithms-This course determines the level of a person's program design and is a core course. I prefer the Tsinghua edition (Zhu zhanli, Liu Tianshi ). Many people like to buy C #, but I don't think it is necessary. The C # syntax makes the algorithm implementation process much more complicated, and many teachers prefer to use the module to make the algorithm more complex. It is best to browse the C # version after learning the C version.
Software Engineering-The more important this course will become, the more important it will be, even though it is just like watching Ma Zhe at the beginning. My suggestion is to read "Practical Software Engineering" (yellow, Tsinghua ). Don't take too much time to record the rules. If you don't understand them, you can jump over. Every time I finish a software design task (whether it's a practice or a job), I will review it and review it again.
Windows Programming-By Petzold, Peking University Press, I suggest anyone who tries to design a Windows program finish learning VC carefully. In addition, it is best to put the previous "Inside Windows 2000" in the back of this book.
In this book, there is no C ++, no GUI, and no controls. Some are how to use the original C language to complete the windows program design. After learning it, you will find that VC is easy to learn. Never study VC before you finish reading this book. Many famous schools I know even use it as teaching materials. It is important.
I think the above courses are essential (if you want to be a Windows programmer ).
There is a simple option for other courses: if you are in the computer department, please learn all your basic courses. If not, refer to the curriculum of the computer system. If you find that you cannot read a book, go to the end of the book, read its references, find them, learn them, and then look back at the book. If the title of a book contains the word "principle", you must not remember it.
Recalling its details, you should master the essentials at least 50 pages a day. Practice a theory or calculation on a computer as much as possible
Method.
You can also read many book reviews on csdn. These book reviews help you decide what kind of books to read.
Huji, the three provinces of Japan
Reading too many books every day is easy to get lost. You must think about what you have learned, what you need to learn, what you are most interested in, and how long it takes to write a book. At the same time, you should also think about the most likely application in the future, so that you can not catch up with the technology trend, but lead the technology trend. At the same time, we strive to use existing technologies and
Theory creates something new. Sticking to this will make you truly a software "Developer", not just a coder.
Spend the most time on learning
This is the last piece of advice for beginners. It is best to reduce the time spent on SC or CS every week without playing them. At the same time, if your ASP technology has been able to make money, or even some companies invite you to work part-time, this proves that your work in tianfen can guarantee you can achieve better benefits after hard work, you should do more complex things. Long term, which is applicable to anyone.
I believe you can decide whether to learn C # or when to learn it.
------------------------------------------------------------------------------
-- Author:
Liu Wei-Senior Programmer, software designer, proficient in VC, VB, COM, platform SDK, DDK, TCP/IP. Multiple types of independent development
Windows applications, wdm usb drivers, and network applications. Familiar with encryption technology and C/C ++ development in Linux.