In the end is hard to learn programming? After reading this one no longer doubts!

Essay up posture, looked not look white, and so are not concerned about what?
I, as a software engineer and trainer, used to be a lot of people had asked to "programming in the end is hard to learn?" "I, as a non-computer science students, can learn to program?" "I can not pass self-programming programmers find a job? "questions. It is no exaggeration to say that such a problem in my career, was asked no less than 100 times. I deeply feel, many of them on this issue is indeed very concerned about. Online search, you can see the answers varied a similar problem, I feel the need to write an article for this issue dedicated to elaborate on my personal point of view.
My article focuses on four issues:
First, the non-computer science students can learn programming
Second, the program needs to learn what the basis of
three school classes or self-reported
four or learn what to avoid misconceptions

A non-computer science students can learn programming?

My view is very clear: if you want to learn, can certainly learn! I am in the process of trainees, the encountered many examples of non-computer science students transition to software engineers get paid by. Some may say that it is an example of the success of others, I can not put my body. And I think: As long as you can reach normal IQ level, you can certainly learn! To convince you, then we do a little experiment.
We are looking for some articles in English, not too long, about 300 words on it, then feel free to use a translation software, or find an online translation service from the Internet, the English translation article and paste in the operation. You will find that article translated by the computer can be said to be "bullshit"! What does this mean? In fact, explain at least for now, the computer is very low in our understanding of human language! So let's think about a problem: the computer can not understand the programming language? The answer is yes: can! Then, the computer can accurately understand the programming language, but we can not understand human language, explains what? That we human language than the programming language to be difficult! And we can ask ourselves: we now are able to master the difficult human language, why can not grasp relatively simple programming language? So my conclusion is very sure: as long as the intelligence reached the normal level, anyone can learn programming! Some people learn the difference between just a little faster, some people learn a little slower, but after a certain time of training, finally able to master this skill.
It was pleaded, I would say: I have studied programming, programming language is more difficult than I think human language! With a little experiment you can prove that human language is more difficult than programming language, is not it absurd? We can compare the ease in both languages. Expressed in human language is not just "We want to do", but also our thoughts and feelings, emotions such as these emotions, and the same word, in a different context, the meaning expressed are not the same. For example, you got full marks in the exam, someone says to you: "! You great friends," This is obviously praising you. However, if you put a very simple thing screws up, someone says to you: "You're great friends!" This is obviously in your sarcasm. The same word in a different context, its meaning is also very different.
Let us compare programming languages: programming languages do not have emotions inside, not what's involved, "quipped" such language skills. Functional programming language is only used to describe "We want the computer to do." Put it more bluntly, is actually a collection of instructions programming language. We just need the right combination of these instructions together, the computer will obediently follow our instructions to our service, you totally unnecessary to worry about the computer will understand what we mean wrong. Of course, you want to accurately grasp programming language, is the need of trained a certain time.
From a professional point of view, there is the fire of "artificial intelligence" technology field, there is a very popular search direction is the computer recognition of human language, called "natural language processing", referred to NLP. This is a difficult issue began to be vigorously research of national experts in the last ten years, and research has just achieved initial results. And let the computer recognizes the programming language, as early as four or five years ago has been achieved, and has done very perfect, it is sufficient to prove that human language is far more difficult than programming languages.
Here, one might ask: "Why do I always feel that learning programming more difficult than learning human language?" Where is the problem then? Is your mindset changed! Think about what you had to learn to speak is what kind of mentality? Is summed up with a saying "Mozhizhemowei!" When did you learn to speak, is about 1-2 years old, you do not worry can not learn, you just boldly say, you were afraid of a joke you slurred speech, you afraid of a joke you lied ... in short, when you do not know fear, you are just trying to express your heart want to say. And now? You can not learn to be afraid, afraid to put a lot of time and effort but no harvest. You worry too much, indecisive, lost that spirit of "fearless", causing difficulties you encounter point retreat! So I suggest you just want to learn a bold attempt, difficulties ahead, we again can not learn to do it again! After a period of time, you can certainly learn a programming language.

Second, the need to learn what basic programming

After the figure is "what non-computer science students can learn programming," this issue, many people have asked: What are the basics if I am beginning to learn programming, you need to? Online there are a lot of people answer this question, you mentioned the need to learn the basic principles of computer-related knowledge, basic knowledge of computer networks, binary counting method. I personally think that, as long as there is a high school education as a basis, we can begin to learn programming basics online for those mentioned, it can slowly make up in the learning process.
Why the emphasis on high school education as a basis for it? Personally, I think: learning programming requires some logical thinking ability, it will take some foundation in math and English, and a high school education by those who have the knowledge and thinking ability, we have the basic conditions for learning programming. As long as you have this basic condition, you can begin to learn a programming. As for the basics "basic computer theory, basic knowledge of computer networks, binary notation" Internet was mentioned, in fact, can be seen as part of the programming skills, so when the need to use this knowledge, targeted tutorial about this part is not too late.

Third, school classes or self-study report

About how to learn programming, in fact, nothing less than have two options: 1, 2 reported training, self-study. I personally recommended to select a training course to learn report on the basis of time and money on. In order to avoid advertising suspects, I do not mention any names here a training course, simply to talk about why the newspaper training and study better.
First, training sessions are generally mature, clear learning path, so you do not have a lot of programs on which to spend time in school screening. Secondly, there is a special training instructor, teaching, there are problems in time to ask the teacher, so that you can reduce the search time to answer questions. Third, the newspaper willing to spend money training students are often genuinely want to learn programming, so the students meet in a classroom, usually have a relatively good learning atmosphere, we have a problem together can discuss with each other, you feel "is not a person in combat", so learning atmosphere will make you stick in case of difficulties down, while the same group of people learning together can expand your horizons, you can learn by talking to students some of you do not know the skills and knowledge. Fourth, the training sessions to learn more about some of the people, but also conducive to the accumulation of a number of connections in the future to help each other in the workplace, in your case then a training course with the entry of a good company, you may also be recommended to the company should know: recommended internal staff of the company than their cast your resume online to get more interview opportunities.
Of course, training is not the white, after all, need money and chunks of learning time. If there is no condition report classes, you can also choose to self-study. So how do self-study? My advice is: pre-reading to see video-based supplement, late on the contrary, to read a book, supplemented mainly watching videos. Why is this line of thought it? Early to suggest that you watch the video mainly due to general video course explains the relatively easy to understand, we will soon be able to get up and running, easy to produce a sense of accomplishment, which allows us to better stick with it. In turn, while beginning to buy a thick book began to bite professional, a lot is easy for us to learn to feel the pressure, two are some professional terminology makes it difficult for beginners to understand, leading to a period of time to learn I wanted to give up.
When the sense of self has learned the entry level, you can choose to read a book mainly to see the video as a supplement. This is because the case is already getting started, we should improve the efficiency of learning, and books about the theory of knowledge tend to be more refined, not doping aside, the simple point about knowledge, learning to read so higher efficiency.
In addition, if you learn a certain extent, it is necessary to do a hands-phased project. For example: learn the Java JDBC future, you can make small information management system, additions and deletions to change search tabular data. This practice hand with a small stage project, it is recommended that you follow the video do higher success rate. Whether it is reported classes or self-study, insist that it is the most important. A lot of people tend to be a few days at the beginning of spirits high, even at night to work overtime, but insisted a few days, then slack off, this certainly can not learn something.
In addition, for starters, those who "come to class, take notes, keep practicing class, timely review" kind of thing do not say, it is a manifestation of your learning attitude. Here operability share a strong study skills, that is, "add a comment"! Specifically: the clincher shining example in a program, and in the case of run correctly, add comments to the code. Notes plus the more detailed the better, do seem a little superfluous, but in fact this practice will improve your ability to read the program unknowingly. Because you add comments represent your understanding of the program, so annotated will force you to think more carefully and read the program, and then insist on doing so for some time, you will find that your ability to read the program will significantly improve!

Fourth, the idea of ​​learning what mistakes to avoid

In the process of learning to program, any person inevitably into some errors. The following is said on the learning process of some typical errors and how to avoid these errors into them.
First of all, I think the most typical idea is a mistake, "even if the end of the project to complete the task" misunderstanding. We are in the learning process, in order to enhance combat capability, and will definitely make some software projects. When the project is completed, no one will have some sense of accomplishment, this is normal. However, many people mistakenly think that: the project can be executed successfully, their task is complete. In actual fact, most people in the process of doing the project, in order to achieve a certain function, a lot of online searching for information, and then follow the step by step online said method implements this function. But why Yaoan such steps to achieve? What is one of the principle? Is there a more optimal solution? For those without their own thinking deeper problem, just know that you can run the project. So, if you really want to improve their real level, it should be after the completion of the project, the project involved the knowledge to carry out a careful study and sort out, try to make every detail of the entire project We are well aware of. As everyone knows, many successful companies, after the finish of a project (not limited to software project) will be devoted to the project "Replay" review of every aspect of the project, summed up success or failure. So as a student learning programming, but it should be.
The second misconception is the typical "do not pay attention to the underlying knowledge." Many people in the learning process, both the pursuit of the most advanced tools, including some third-party framework, while ignoring the underlying research knowledge. The pursuit of good tools and frameworks which in itself is not wrong, after all these tools and frameworks can greatly improve development efficiency. However, always study the underlying knowledge, basic algorithm can not be ignored. If you just use the simple pursuit of good tools and frameworks do not pay attention to the underlying algorithms and knowledge is tantamount to a footballer only the pursuit of sports equipment while ignoring the good practice of the skills. Over time, you will feel very tired and very confused, because the new tools and frameworks emerging, which is also called the update rate with each passing day. But if you are very solid basic skills, understanding of the principles underlying the software is very thorough, you will not have the kind of "Learning endless," the pressure on those emerging frameworks and tools, and even a can walk away with a feeling.
The third idea is a typical mistake "I hope once and for all." A lot of people learning as a pressure and burden, it is not difficult to understand, after all, learning is better than watching movies, listening to music, eat the food to be tired. If you start to learn before the program is the idea of ​​holding "after learning to a certain extent, have the ability to get their desired salary would no longer have to learn," then I suggest you just do not learn programming, because no matter which industry sectors, updated way of thinking is very fast. Once stagnation is sure to be eliminated by the times and the industry, especially in the software industry at this point reflected. Do not feel graduated from training courses, find a good job is the end of your struggle, in fact, it's just you a new beginning!

These are only my personal point humble opinion, I hope this helps the students want to learn programming.

If you want to learn Java programming system, you can click on the linkhttps://edu.51cto.com/lecturer/2256836.html watch my video lessons on this site, there is a problem you can also add my QQ group to discuss 291,839,907!

Guess you like

Origin blog.51cto.com/2266836/2463418