This article does not share technology, but discusses the ways and methods of learning with everyone.
How to learn programming for beginners with zero foundation:
1. Learning needs
Programmer The technology in the industry is updated and iterated very quickly, a characteristic that every ape friend in the industry has a deep understanding of.
Many technologies basically have a large or small version every year. The emergence of each version means the emergence of new technical ideas and application skills. Maybe you won't use it but you need to know it. You see, since Oracle announced its acquisition of Sun, the JDK version of Java has basically been updated once a year. In 2014, Oracle released the official version of Java 8. In the past five years, the latest version is JDK12.
Facing various updates of various technologies, programmers have to face not only the version update of a single technology, that is, vertical update. It is also necessary to compare the advantages and disadvantages of various similar technologies, that is, horizontal comparison.
Therefore, ape friends must always maintain the spirit of learning and research. Not only must they be able to endure loneliness to learn technology applications, but they must also be able to calmly study various tedious technical source codes and understand their principles. It is very confusing just thinking about it. big.
Regarding learning, it generally varies from ape to ape and is divided into two types. One is externally driven and the other is self-driven.
Externally driven ape friends are relatively passive in learning technology. They will only learn and research when the company's business requires certain technologies or when they are asked about certain technologies that they have not been involved in during the interview. Self-driven ape friends, on the other hand, have their own set of learning positioning and technology growth route planning. They are more proactive in learning technical fields that they have not yet entered.
Of course, no matter what type, when it comes to learning, you can’t do without the following ways: watching videos, buying technical books, visiting blogs and communities, reading official documents, and using knowledge payment platforms.
Let’s analyze and discuss the characteristics of each of the above approaches in detail, and which one do you prefer?
2. Watch free teaching videos
Free teaching videos are generally recorded by training institutions, of course for the purpose of promotion and enrollment. For example, when I first started, I also studied Bi Xiangdong's basic Java teaching. For beginners, videos are really helpful. Recommended video tutorial: "JavaTutorial"
Of course, there is also the ever-popular server scripting language PHP. Using PHP to develop web sites is very efficient! There are also a lot of free PHP video tutorials on the Internet. Free videos are recommended: "PHP Tutorial"
The purpose of these videos is promotion and enrollment, so they are usually very serious when recording. Moreover, the people who record the videos usually have rich experience and explain in detail, because only in this way can students be attracted.
Some technical videos are recorded by some teaching websites as an example to attract traffic, but these videos all have a characteristic: the knowledge points are biased towards the basics.
For beginners, video tutorials are helpful because the learning cost is low, and the teacher will explain the summary of each knowledge point in detail. At this time, you are like a newborn baby, accepting and absorbing The efficiency is relatively high. But if you have worked for a few years, you already have several years of industry experience. Video tutorials generally cannot meet our needs. Why?
Because its efficiency is too low. If you watch the video if you have several years of experience, you may have mastered or understood some of the knowledge points in the video, but the video is not targeted at you personally, so a video that lasts for tens of minutes or close to an hour, for you, Maybe only a few minutes of it are what you want, and you may press the fast forward button to watch the rest. You will gradually feel that this is a waste of time, and then you need to adjust your rhythm.
3. Buy technical books
Technical books, there is nothing to say. As a technician, I believe that no one can say that they have never bought technical books, and generally technical books are relatively expensive, with the average basic price being around 70 or 80 RMB.
In fact, if I say that every programmer has paid for technical books, there will be no programmer in the world who has not bought technical books. I believe no one objects to it. Because this is the most common and common way of learning.
It is often said that books are the ladder of progress of human civilization. Each book is a summary of the author's many years of experience and thinking. To grow by reading a book is equivalent to having a long conversation with your predecessors. Such a valuable thing is certainly worth doing.
I am a deep book buying enthusiast. From school to entering society to now, the money spent on books can be said to be a huge expenditure. I have bought both good and bad books. I used to be a lover of literature and art, and my reading habits mainly focused on historical classics, novels, essays, and martial arts. But since I entered the programming world, my taste has become more exclusive and less distracting. On the bookshelf There are only "** Authoritative Guide", "In-depth Analysis of ** Principles", "** Source Code Analysis", "** Practical Combat" and so on.
However, as I accumulated experience in the industry, I found that buying technical books was not a good thing -- moving was seriously inconvenient. Everyone knows that technical books are thick and solid.
And there is another problem. Many technical books are actually just introductory tutorials. After you master the technical theory of such books, you will never touch it again. For example, there are "**From Beginner to Mastery" and "**Basic Tutorial" on the market. But these kinds of books take up space on your bookshelf, and these kind of books become tasteless and a pity to throw away. So in order to avoid this happening, don’t buy such books.
We all know that technology is time-sensitive and version-differenced. The technology explained in many books may be version v2.0, but due to technological updates and iterations, v2.0 will be outdated after one year, and v3 is mainly recommended. 0. However, the content of purchased paper books will not be automatically updated. The content will still be in the old version, and such books can only be invalidated. For example, friends who bought technical books related to Struts and Hibernate a long time ago, are these books still on your bookshelf now? Or maybe it has become a hot pot mat.
In fact, if there is a need to read, we can purchase e-books for such books. You can throw it away after reading it, and it will not occupy your living space when it becomes outdated. You only need to allocate a few M of hard disk space that can be released.
So what books are worth buying? Books that explain technical implementation principles and architectural ideas, as well as books on management experience.
Because technology is ever-changing, but it remains true to its roots. The essence of technology will not change, and technical principles and design ideas have guiding value. Such books affect our thinking. For example: "Data Structure", "Programming Thoughts", "In-depth Understanding of Java Virtual Machine" and other books that we can read over and over again are worthy of occupying a place on our bookshelf.
4. Visit blog communities and technical public accounts
Blog communities and technical public accounts are online platforms for technology sharing. Here, from basic to complex, there are There are technical novices and technical experts. Everyone can share their technical experience and study notes here. Therefore, it is quite a mixed bag here, some are original and some are reprinted, and are full of all kinds of copyright disputes. Everyone claims copyright but rarely can it be maintained.
Learning and sharing are both a process of growth. Here are the footprints of experience left by predecessors after crossing the river by feeling for stones, and there are experts sharing their experiences. Although it is messy here, you can often get answers to certain questions here very quickly. There is strength in numbers.
However, this approach is a somewhat fragmented learning feature and is not a general explanation. When you encounter a certain problem, you look for relevant solutions, or read pushed articles regularly, but they are all aimed at a certain point, which is a fragmented approach.
5. Official Documentation
If you want to learn a certain technology, is there any better place than the official technical documentation? Official documents are generally written and maintained by the technology developer himself or his organization, which is where the technology source is directly contacted.
When I came into contact with Elasticsearch last year, I built a search platform from scratch and understood the search principles of ES basically through official documents. I haven’t bought a single book about Elasticsearch because the official documentation has introduced everything in detail. Index creation, index principles, distribution principles, search by segment, etc. are all explained in detail.
The only thing you need to do is to calm down and read it carefully, then set up your own environment to write the demo, and finally summarize your experience.
6. Knowledge payment platform
In recent years, knowledge payment has become popular. Many paid learning platforms have appeared on the Internet. Some experienced technical people will pass a certain technical point through Multiple issues are recorded into videos, and consumers who are interested need to pay a certain amount to purchase. Moreover, the full-term price of a certain technical point is generally around one hundred yuan. Recommended: PHP Chinese website online live course.
This phenomenon is mainly due to the explosion of the IT Internet industry in recent years. The salary and benefits are not bad, and then a large number of programmers have poured in. Where there is traffic, there is consumption. As mentioned earlier, programmers need to continue to learn in order to cope with the challenges of technological updates. Where there is demand, there will be consumption. In particular, the teaching tutorials and summary videos of some popular technologies are even more popular.
7. Ape friend discussion
In fact, everyone has more or less experienced the above ways. It is not a single way to learn, more There are multiple learning modes. My current main method of learning new technologies is: first, investigate the characteristics and applicable scenarios of new technologies, then read official documents, write demos, run them locally, and finally understand the principles through some methods, and finally Technical summary.
For me, at present, I generally do not learn by watching videos such as teachings. Book purchases are also targeted, and I buy some principle books. And blogs and communities are places I often hang out in the morning or noon. The knowledge payment platform currently mainly purchases a few courses of interest from a certain mobile app, such as data structure and network protocols. The overall feeling is good.
What are your learning methods? Which ones do you think are your current main learning channels? If you like, you can leave a message in the comment area to share and discuss.