Beginner programming anti-pit guide!

IT technology is changing with each passing day. For common programming languages, there are C/C++, assembly, Java, C#, Python, etc.

Operating system platform has unix / linux, windows series;

Development tools include VC, visualStudio2008, Eclipse, NetBeans, etc.

Under each big platform, there are many directions: such as network, database, script, HTML, dynamic website, game development, etc. Some people still learn Dreamweaver to do web pages, Flash to do animation, Photoshop to do art, 3DMax to do 3D animation......... ... Yes, we want to learn anything. I can't wait to put all my knowledge into my stomach. What you want to learn when you see something!

Look at the book of VC today, see Java again tomorrow, look at C# the day after tomorrow, do the west to engage in West! See others doing webpages. I was interested in myself. Well, learn html language, I also do web pages, I heard that to do web pages will be "Web Three Musketeers", so I want to learn Dreamweaver, Flash. Later I started to know that there are JSP, PHP, ASP.NET dynamic sites this stuff. I also want to study, learn to learn...

This is a common problem for almost all beginners. However, this is not a bad thing. It can even be a good thing. Explains that your "interesting desire" is high! It's always better than those, life is not passionate, know all day to pick up girls, surf the Internet, play games, and have a hard time.

But if you want to learn this today, you want to learn that tomorrow. In this way you can always stay outside the technology.

Many people have had or are experiencing such depressed days: they always feel that there are “too many things” to learn. However, people’s energy is limited, and they always have a feeling that they can never learn, so they’re particularly anxious. I can't figure out which one to learn first, pick up this book for a while, pick up the book for a while, toss for a few months, and suddenly realize that I haven’t learned anything...

If you do not study in a large number of years in each major direction, it is difficult to learn anything. But the fundamental things of programming are the same. Therefore, we must study fundamentally. As the saying goes: Pass a rationale and melt into hundred miles.

Learning programming is like learning martial arts. If internal mechanics are good, other skills are easy to learn. Didn't you see Zhang Wuji in "Yi Tian Tu Long Ji" practicing "Nine Yang Yang Gong" for 8 years, and practicing "Immortal Diversion" in just 12 hours?

The ancients have gone through untold hardships to find these "craftsmanship of martial arts." We are now these younger generations, compared to the ancients: It is simply too lucky.

Go to the bookstore, all sorts of heart work, swordsmanship, boxing, everything, see what you're looking at... what are you picking? Today, I practiced the "six-pulse excalibur sword" style, and tomorrow I went to learn "half-dragon eighteen palms" several strokes. The day after tomorrow, I went to practice the "fabricator" so that when will there be an end? You said that you would have any martial arts, but "likeness and lack of likeness." Once on the ring, they were beaten by others. I would like to ask which software company dares to ask for any programming language. Instead, each language can only write "helloworld!" programmers.

Is learning XX or learning XX more promising?

Looking at the above, some of my little friends have begun to bother. "You know, you know, more than one so-called 'old man' like you said, 'Everything is the same, thinking is the most important'. Reason, but you stand to talk about it backache Yeah, the reality is that there are many technical needs to learn, such as doing Web development there are many directions such as JSP, PHP, ASP.NET, I have to choose one! In the end to learn which has its future? I must choose a promising one. If I choose the wrong one, I will have trouble."

Actually, if you want to learn XX or learn XX is more promising, then it doesn't make sense, because the difference in the future of "Choose JSP or choose PHP" is not as great as the future of "Choose English or choose Japanese". There is no "choose the wrong direction." The problems, because they are all the same, you can't guarantee that what you do after graduation will be the direction you've learned, and there's no guarantee that you will be able to eat forever by learning from you.

However, just as the above said, "There are many directions for Web development such as JSP, PHP, ASP.NET, etc. I have to choose one!" This question is very practical, because only by learning one thing can we go in this direction and take this direction. Only after passing the study can you think of "one pass and one hundred pass."

Therefore, my suggestion is what language the school has taught. You will continue to study this language in depth, instead of asking the stupid question of whether this language has a future or not. Try not to learn a new language that is called "promising," because if you go to learn a new language, you must spend a lot of energy on the language and grammar itself, and you're delaying the actual combat of programming, and taking a language you have already learned. To learn, at the very least, the grammar itself does not have to go to school, and the development tool itself does not need to be familiarized with. It is OK to study how to use this language to develop useful programs.

Do not control “whatever language is good for employment and promising” because those “good jobs and promising people” are paper tigers. Try not to learn a new language, start with the language you know best, and study in depth. After you leave the mountain, you are a red man who is being scrambled by employers.

What talents do you need in your company?

This depends on the requirements of employers. You have not graduated yet, nor do you know what kind of job you will face in the future. Therefore, it is recommended that you don’t go to school before you go to school. Therefore, all courses must be well studied, learn professional courses, train your own internal skills, and then enter a large company. Then big companies will naturally arrange a talent training program for you. Learning in a work environment is more purposeful.

What is the easiest to learn?

Due to the continuous introduction of rapid development tools, software development is becoming easier and the threshold for entry into software development is getting lower and lower.

Many people, under the trickery of IDE tools, have been able to enter the so-called "programmer" field within ten days and half a month, becoming a so-called "programmer." This is a joy for IDE providers, but it is an invisible blow to software.

Due to the prevalence of rapid tools, many people regard development as a piece of cake. In particular, many college students in school believe that the contents of teaching are outdated once they have gone out of school. This has inevitably created a psychology of weariness.

In the future, software development will gradually become more polarized. On the one hand, more and more people will engage in simple and repetitive development, and the development of this part will be gradually reduced in difficulty. On the other hand, the development of the core part will become more and more complex. The knowledge content involved in this part of the entry will gradually increase.

Therefore, for students who wish to engage in software development in the future, they need to work hard and study. The school's things will have their use. As long as the foundation is now firmly established, you will have a good opportunity in the field of software. Do not blindly Give up the opportunity to learn.

Is there any quick fix?

The quick method for a person to learn a technique is not to learn what is called "useless" and tell him the final conclusion and operation method directly. However, many things can only be realized through exploration and study. Many people search for information, read books, and verify evidence during the process of researching a technical problem. In this process, they not only exercised their ability to think about problems, but also strengthened their basic knowledge. The most important thing is to harvest a lot of unexpected new things in the process of exploration. Many of my friends often learn new things by accident when they are delving into a problem.

The “crash” approach to the mountain is to go straight up the cable car, but you will see fewer roadside scenery than the climbers. So are you willing to be a person who has mastered the "quick" method, or are you willing to have the opportunity to look at the scenery on the roadside?

The last sentence: We must focus on floating sand to build high platforms, practice training from difficult places, and use easy-to-use services! No speed, only insist!

In addition, most of the beginner programmers have these misunderstandings, and today the language masters are skeptical of these misunderstandings.

1

C/C++ is too old, obsolete, and rarely used at ordinary times. It is now popular with Java, C#, and so on.

Answer: Do not feel anything out of date, COBOL OO version also available, as well as FORTRAN, LISP, a good old language, and now it is widely used. “All languages ​​are paper tigers, and they are all connected.” The school has already started a programming language course and wants to continue to study in-depth programming. Then continue to use learned language to learn and not to learn a new language.

2

Beginning with OO, cultivate the habit of thinking in the OO way.

Uncertainty: Beginners begin to mess with Java, C++, etc. It is easy to misunderstand, it seems that OO = Java, C + + .... The essence of all programming languages ​​is process-oriented. Java, C++, and other languages ​​are also process-oriented languages ​​that support object-oriented features.

The process-oriented process is if...else..., while, for these things. Are there no such statements in languages ​​such as Java and C++?

The essence of a procedural language (or a structured approach) is not going to die. It is impossible to get rid of a single statement, a function call, or a structured method in OO.

OO method is not so easy to learn (OO language grammar is very skillful does not mean that you understand OO), and the structure of that set of methods, write a thousand lines of the program can be very good experience, I mean write a Practical things, such as trying to implement some data structures and algorithms, writing a few small games. Writing a thousand lines of HelloWorld is equal to not writing.

I think the method is realized in practice. It is not a matter of reading a book. The procedural language code is generally relatively concise. The final purpose of our program is to solve the problem. It is to calculate, to obtain information, not to be confused by OO, design patterns, and so on.

3

The procedural language has been a long time, it is difficult to turn into OO thinking mode

Uncertainty: I didn't think about this reason before, but after a long time, I realized that I was merely lumping together the data and methods. Looking at the convenience, there are actually many unreasonable things. The OO theory is needed here. Guided, it still takes time to experience.

I believe that many people who use the OO language just add code to the framework, call them to call them, and use humans as packagers of data and operations.

Personally I feel that only after using the procedural method for a decade or so and after coding 100,000 lines will it be difficult to get used to looking at the system with OO. However, this change is still much easier than changing a person’s bad habits. OO method is not learned Java, C + +, etc. can be mastered, need practice, take time.

The procedural language is also easy to cultivate a person's rigorous attitude, such as writing code with assembly, C, etc., without namespace, without a lot of libraries, no templates, no exceptions, you have to spend a lot of time dealing with some details, such as vigilance Array index cross-border, hanging pointer, wild pointer, etc., please do not feel trouble, this is the computer ah, the bottom is like this.

4

C is hard, I'm still getting started with Python, C#

Untangle: Language is only a tool for expressing ideas. Do not confine yourself to only one language. Don't be crazy about a certain language.

Basic Physics Experiment Instrument Series

Basic physics experiment instrument series, used in physics laboratories of colleges and universities.

Basic Physics Experiment Instrument,Light And Optical Instruments,Optical Viewing Instrument,Microscope Light Source Instrument

Yuheng Optics Co., Ltd.(Changchun) , https://www.yuhengcoder.com