Suggestions from a Senior Programmer

Source: Internet
Author: User
 

One advanced Program Suggestions from students (reproduced)

I always believe that for a beginner, the technical trend in the IT field cannot catch up with and cannot catch up with each other.
To catch up. I often see my ddmm throwing away textbooks and selling expensive ones such as C # and VB. NET.
This makes me very sad. Many BBS friends who cannot figure out what the pointer is.
It makes me feel funny without a pointer. C # Just like ASP in the past, "It's just like a spring breeze in the night that has been around for thousands of trees
As a result, the information colleges of many schools have become "Web Colleges ". Many college students at and 97 are doing
EB. Of course, I have no awareness of discrimination against a certain industry. I just think if they catch up with these trendy Technologies
A little more time on basic courses should be able to 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
To illustrate these phenomena, you can step by step to see if you belong to one or more of them:

think that computer technology is equivalent to programming technology:
some people do not have this idea, and they are also impulsive in the subconscious. It is strange to me that many
students of the Information College also have this idea. I think that computer majors are programming majors, and they have nothing to do with programming or less relevant courses.
Cheng does not care about all of them, extreme students will not read it if the book does not contain the word "programming.
In fact, programming is only one of the most complex tasks in the application of computer technology. This is why the people in the IT industry are coder.
). Computer technology includes multimedia, computer networks, artificial intelligence, pattern recognition, and management
information systems. Programming only expresses the process of algorithm 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. Online hype and good working conditions in the real world
make the work of programming mysterious. In fact, every programmer understands that they are not difficult to learn these things
than other majors, so naturally they will not go anywhere.

the bit-and-Chew style is already self-developed:
I have met a girl's "Computer Network Principles" textbook. This girl is filled with books like a primary school student.
, the notes are full and printed out must be thicker than the teaching materials. 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. In the course "principles",
, many students recite their memories as if they had learned the principle of marle. This is the most stupid behavior I have ever seen.
the term "principles" means understanding why it does this and learning why, rather than how ). Extremely serious
students have forgotten the routing principle, including 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.
, I forgot the purpose of the TCP/IP protocol design. In short, many people spend a lot of time learning the book back.
.
This is also true for these students when learning programming. They exactly remember the details of C ++ syntax. After reading the
C ++ tutorial, read thinking in C ++ (indeed a good book), inside C ++, c ++ referenc
E, this c ++, that C ++ ......, Then I learned a lot about the C ++ syntax on the Internet, and then I found out
I forgot some C ++ syntaxes, and finally I went back to the website 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
I taught him anything, but told him that the syntax of dead C ++ is just as meaningless as there are several ways of writing the word "" that Kong has already showed off.
. You don't need to worry too much about the C ++ syntax at all. You just need to start programming. If you don't remember it, just check msdn.
. I have concluded that the understanding of program syntax in the actual development process is the most insignificant.
Why did I read the syntax when I used basic (I have never learned it before) to write a small program?
, then I completed the program in half an hour, and an hour later I completely forgot the keyword of basic
.

blindly catch up with fashionable technologies despite the Foundation:
the topic is finally reached. 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 progress is
so fast, not followed up is unemployment. However, for beginners (especially those with ample time),
this idea is confusing. The biggest capital for beginners who have not entered the competition in the industry 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 and more easy to master. This is driven by commercial interests, in order to maximize the cost of software development. But in the IT field, the reality is that the more things that are easy to grasp, the more people learn, and the faster the elimination. Every new technique
has been followed up by many beginners who have spent a lot of time in the follow-up process due to lack of necessary foundation.
, as soon as he learned it, this technology will soon be eliminated. Basic courses, such as data structures,
operating system principles, etc. Although you cannot implement a Linux system immediately (this is why many people laugh at the useless theoretical courses
), however, they can significantly reduce the learning curve slope when you are learning new technologies. In addition, many key Techniques
(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 a new power-on button when I was a freshman. He will
write some simple assembler programs. I spent all my time studying the compilation, computer architecture, data structure,
operating system principles, and so on, he began to learn HTML and VB and catch up with ASP. When I was a junior
, I started to learn the principles of the Windows operating system and SDK programming. It took a long time before I could use
VC to develop an image-like application. At one time, I was annoyed because my program was able to run and I was still learning how to create a dialog box. However, after graduation, I found that my choice was correct. My negotiating company
offered more than twice his salary. The following is an inappropriate example: Suppose it takes four months to study vbprogramming, and it takes one year to study
basic courses and VC programming. So if you want to learn VB first and then learn the latter, the time will not be reduced.
It is still one year. In turn, if you want to learn the latter, you will learn VB again, maybe it takes only one week for you to learn less than Changshu
.

Several important basic courses
If you are a student or if you have enough time. I suggest you carefully master the following knowledge. My projects
This discussion is intended for beginners who want to make achievements in IT technology. At the same time, I also listed some bibliography which should
You can also buy them at the bookstore. To be honest, I'm reading other people'sArticleThe biggest wish is to list
Book tickets.

College English-don't be funny. I strongly recommend this course because I do not have the ability to read professional documents.
As you can imagine. Chinese translation is often available in the Year of the Monkey, Ma Yue, and many current publishers simply print e text directly.
Click it. The learning method is to force yourself to read the original teaching materials. At first, you will not be able to understand them. Bitter food
It is absolutely the quality that any industry needs.

Computer Architecture and assembly language-books on the architecture are everywhere and similar
Compile a very good book "80x86 Assembly Language Programming Tutorial" (Tsinghua University Press, black cover, Yang Ji
Text ). You need to focus on the programming of the 386 post protection mode. Otherwise, you are learning the underlying one of the modern operating system.
Some things may feel like they are reading tianshu.
Computer Operating System Principle-our development is always performed on a specific operating system. If not, there is only one
Possible: You can implement an operating system on your own. In any case, the operating system principle must be read. This is like
When a chip is used to create a peripheral device, the basic operating sequence of the chip must be understood. There are many books in this category.
Which book is outstanding. I just think that if I have read these books, I should read "Inside windo" if I have time.
WS 2000
Class ). 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. C
The ++ syntax makes the algorithm implementation process much more complicated, and many teachers prefer to use the module to make the algorithm more complex.
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, although it was just like watching Ma Zhe at the beginning.
Alibaba Cloud. My suggestion is to read "Practical Software Engineering" (yellow, Tsinghua ). Do not take too much time to record entries
Box, jump over if you don't understand it. Each time you complete a software design task (whether it is practice or work ),
Then let's review the results.
Windows Programming-by Petzold, Peking University Press I suggest any attempt to design Windows programs
People carefully finish learning VC before learning it. In addition, it is best to put the previous "Inside Windows 2000" here.
The end of the book. In this book, there is no C ++, no GUI, and no controls. Some are how to use the original C Language
Complete the windows program design. After learning it, you will find that VC is easy to learn. Never
If you haven't read this book before, learn Vc in advance. You 'd better not touch it. Many famous schools I know have even used 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 major well
Basic courses. If not, refer to the curriculum of the computer system. If you find that you cannot read a book
Please go to the end of the book, read its references, find them and learn them, and then look back at this book. If
The title of this book contains the word "principle". You must not remember its details. You should take at least one day.
Master the essentials at a speed of 50 pages. Practice a theory or algorithm on a computer as much as possible.
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 every night.
You need to know the relevant things, what you are most interested in, and spend too much time on 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
Technology trends. At the same time, we strive to use the technologies and theories we have mastered to create new things. Stick to this
The sample can truly turn you into a software "Developer", not just a coder.

Spend the most time on learning
This is the last piece of advice for beginners. Compresses the time spent on playing Cs or CS every week to a minimum.
Okay. At the same time, if your ASP technology has been able to make money, or even some companies ask you to work part-time, this proves your day
Points can ensure that you achieve better benefits after hard work, you should do more complex things. Long-term vision
Some, which applies to anyone.

I believe you can decide whether to learn C # or when to learn it.From: CLPrice:

Comment: That's great.
I have been a Java programmer for a year and a half, and I feel a lot about it.
During college, I carefully studied the data structure for at least four times for a variety of reasons (postgraduate entrance exams, tutoring for my girlfriend, and retaking for exams), and each time I felt like a village, but at that time, I didn't feel its usefulness at all. After work, start designing and writing.CodeAnd truly feel how important it is to have a solid data structure foundation. A good programmer does not need to learn all kinds of languages. If he wants to write in another language, he only needs to temporarily look at the syntax keywords and other things, and all he needs is thinking.
Although I have not done any software work, I sincerely hope that the ddmm in the university can see the post of the poster and avoid detours. After all, the style of study in the university is too impetuous.
Supported !!!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.