Ten-year conclusion-opening: Just take a rest before you can go further

Source: Internet
Author: User

I often see people in the forum asking how to start with Java, or whether to learn Java or the XX language.

I have always felt that programming has little to do with languages, and the key point is to have a solution to the problem.
Learning a language is actually just looking for how to implement the idea of programming.

Learning Software development may be better at starting with the principle. Many people like the example,
However, I think the information provided by the examples is intuitive but limited.

In addition, learning through examples may cause the following consequences:
Limits the flexible use of a technology.
This restriction will prevent learners from giving full play to the advantages of a certain technology,
It may also make him unable to make the best match between the technology and the problem to be solved.

Therefore, I said that we should use our own things to solve all the problems, or find suitable technologies based on the problems,
It should be an important difference between high and low capabilities.

What is the principle?

Take martial arts novels as an example,
Experts both work internally and externally, and often accumulate deep internal forces in various ways,
With this foundation, you can get twice the result with half the effort when practicing exquisite tricks.

In this case, internal efforts are to stimulate human potential, while recruitment is a skill,
Moves are easy to inherit and imitate, and can be quickly achieved, but it is not possible to take advantage of internal skills.

So in the programming learning process, what can be considered as the principle?

Taking the multi-thread chat code that many people have asked for as an example,
I think the knowledge points that can be viewed as principles include:
Synchronization and mutex model of threads (processes,
TCP/IP communication protocol

In terms of process control, the computer team should know that process synchronization and mutex are learned in the operating system, rather than in which programming language,
Java has its own thread control mechanism and C ++, but their principles are the same.

However, the TCP/IP protocol may be controversial. Some people may think that this is of no practical value.
Indeed, modern languages are very good at the underlying communication encapsulation, but I think it is still necessary to understand the working principles of the three layers of IP, UDP, and TCP in TCP/IP,
It is usually useless. Once a problem occurs, this knowledge is the foundation for solving the problem.

Let's talk about the current J2EE,
I think the first thing to learn J2EE is Sun's official tutorial. We must understand the J2EE architecture,
At least understand the location, role, and working method of JSP and Servlet in the J2EE architecture.

The J2EE architecture can be considered as the core principle of all J2EE-related frameworks, containers, and tools.

--------------------

It is difficult for an article to carry too much content. I will post in the future to express my views,
It is mainly about the software development learning process, the software development process itself, and my views on the technology I have mastered,
And non-technical factors (mainly human factors) in the software development process ).

This is a summary of my 10 years of practice, to prove that I have not been white-mixed for the past 10 years,
It is also a new starting point for me in the next five years.

No matter what your thoughts and opinions are, as long as they are in good faith, you are welcome to discuss and debate with me.

If this series of articles can help some people, I will be very happy.

Related Article

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.