[Program life] learning is a long road

Source: Internet
Author: User

I started learning Java before Java 1.0 was officially launched. After so many years, I have not stopped learning Java. I read the original book, studied the original code, and wrote the program. I thought that I had taken a solid step, and I did not expect to go to heaven. An old-fashioned way of learning like me is clearly contrary to the current fast food theory. From the comments of many readers and the responses of students, I found that most people have similar learning experience in Java: Because companies need to use Java for server planning, so I was eager to learn the Java language, and then began to use the J2EE API and started to write the program. As a result, programmers cannot master the essence of object orientation, understand the internal operation mechanism of the Java language, and understand the overall consistency of APIs.

Of course, we cannot blame programmers for this. After all, software technology changes too fast. It is impossible for a company to give programmers enough training to start planning. Programmers are assigned to use the technology at once. They have not yet understood what the technology is. They are also assigned to use the B technology, and they are all learned and used by means of sewing and makeup, every time it seems like a new start, let's talk about the accumulation of technical energy.

I'm glad that I don't have such troubles. Because I was from the Information Engineering Department (and I have always taken classes seriously in College), it is not difficult for me to learn new technologies because I have a solid theoretical foundation. When I was in college, many people around me looked down on the so-called "Schools" of data structures, programming languages, and operating systems, and thought these courses were not practical at all. They thought that what they learned from external companies could not be used. "As long as Visual Basic and database are used 」. This kind of biased mentality may make them suffer in the era of knowledge economy.

Another group of students looked down upon the design work. They told me that people who write programs like me will enter the community in the future, "they are not under the feet of management personnel 」. Therefore, they are very light on learning science and technology courses, and even some people are very keen on "success". They think that this is a fast way to success, but they leave their school class blank. I can't believe someone put the horse above the horse.

The people in the first category are too short-sighted and close-benefit, while those in the latter category are too ambitious. I have never understood why these people think like this, perhaps because of the social environment. I am glad that I have not been corrupted by the big dyeing cylinder of the society (it is best not to use it in my life ).

I don't think my learning method is a model, but it is still quite a little progress along the way. Many readers have asked me about my learning process. Although my personal learning method does not apply to everyone, there may be some reference values (especially for young students who are interested in the information industry ), I would like to briefly describe this article.

I have always used Deep learning (also known as Bottom-Up and Deep-First. For example, when I was learning A technology, I learned half of the basics of B technology. I would go to the bookstore to find one or two books about B technology, and then put A aside first, start reading the Book of skill B. Even when I see unfamiliar sentence structures in technical books, I will find an English grammar book that I have read in detail. This kind of deep learning method is suitable for students in the age of comprehensive self-improvement, but not for the industry. Imagine how the boss has delayed the development of the ERP system. How can you study the English Grammar in the original J2EE book. The advantage of deep learning is that learning is solid, but sometimes it may deviate from the topic too much. I once discovered that I was going to learn a software technology. After several times, I was able to see Lao Tzu's morality.

Technically, I have always been a new and tired person. Few software technologies allow me to continue my research for more than half a year, and I will change my field almost every few months. Java can last for so long, Because Java is widely used. Through Java, my technical vision has become wider. Over the years, I have changed Java-related fields including: virtual machines, databases, enterprise computing, multimedia, 2D/3D graphics, networks ...... .

My learning is completely interest-oriented, so the pressure is not great. I would like to fully understand all the details. Also, due to understanding, many original piece of disconnected knowledge can be gradually integrated with each other, accumulating technical energy, and the barriers between theory and practice are broken, increasing the learning efficiency.

I have a keen learning experience over the years. I often take the lead to learn proactive technologies. For example, when Java is still beta, UML is still 0.8, and XML is still draft, I have downloaded the technical files from the network and read them through the network. I have been familiar with these technologies since Java, UML, and XML became popular.

As for what technology I should learn, my judgment is based on the advantages and disadvantages of the technology. Excellent and unique technologies are my favorites. Although such technologies do not necessarily win in the market, they are inspired by learning these technologies, this will be of great help to the accumulation of technical energy and the improvement of capabilities. As for poor technology, but the market demand is very high, I am still too reluctant to touch. (Okay! I admit that I have learned MFC for the sake of market demand. The more clear the technical details of MFC, the more annoying it is, the more difficult it is to look back .)

I usually only read technical materials in English. After all, most of the first-hand technical information is transmitted in English. So I started reading technical documents in English very early. The advantage of reading technical documents in English is that even if I have not learned the professional knowledge in the book, at least I have accumulated the ability to read English. I have always been holding this attitude. At the beginning, I was sitting at risk to read technical books in English. dictionaries and translation machines were on the sidelines. After a few years, I was lying down and reading technical books in English, because reading English technical books has become a habit. Now, I can quickly absorb the knowledge of technical books in English (I am called a "machine that eats books", and I regard this title as a compliment ).

In recent years, I have spent less time writing programs, because time is very valuable to me, and writing programs is a waste of time. For beginners, it is necessary to write a large number of programs. However, after a certain stage, the technical capabilities brought by writing programs have reached the limit. It is better to spend more time reading books, learn New Technologies and concepts.

I have been learning and writing programs since the elementary school in China for nearly 18 years. I have been studying and writing programs in intensive mode in the above way, and I have been learning programs for nearly 10 years. Over the past few years, I have been increasingly engaged in more and more fields, and the learning speed is accelerating. I think the roots of my previous efforts have started to grow. Looking at me now, you may feel envious, but it is not a long journey to review the years of study.


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.