SoFunction
Updated on 2025-04-07

The Road to Java Learning_Excellent Good Article Page 2/3


1.7 Only if you have no choice but to ask others
When I solved student problems in the online tutoring system of ChinaITLab online school, I found that most of the problems can be solved by students with a little thought. Before asking others, you should answer the following questions first.
Have you searched Google for solutions to the problem?
Have you viewed the JAVA API documentation?
Have you searched for related books?
Have you written code to test it?
If the answers are all "yes" and no solution has been found, it will be too late to ask others again. You should know that the ability to think independently is important to you. You should know that programmer's time is precious.
1.8 Read more good books
There is a beautiful woman in the book. Bill Gates is a well-read person. Although he had not finished college, Bill Gates had already read all encyclopedias at the age of nine, so he was proficient in astronomy, history, geography and other disciplines. It can be said that Bill Gates is not only the richest man in money in the world today, but also a wealthy rich man in knowledge.
When I teach students, I often recommend books to them. Later, the students couldn't bear it anymore and started complaining, "Oh my God, when will I finish reading so many books?" "Learn software development, I feel like I'm on the pirate ship." At this time, my answer was usually, "Don't worry, when will I take you to see my study? I've spent 400 yuan on technical books every month, which is only a medium among software developers." The student fainted on the spot. (Note: This group of students are just learning software development)
I will give special comments on good books in the field of JAVA development in another article. This article can be used as a companion piece of this article.
1.9 Using appropriate tools
If you want to do a good job, you must first sharpen your tools. Software development includes various activities, including requirements collection and analysis, establishment of use case models, establishment of analysis design models, programming implementation, debugging programs, automated testing, continuous integration, etc. It can be said that it is difficult to move forward without the help of tools. Tools can improve development efficiency and make software of higher quality and fewer bugs. Combining a competent weapon. It is very high to reach the level of being able to hurt people when you pick flowers and leaves. No move is better than a move. There is almost no sword in your hand and a sword in your heart. In another article, I will specifically explain how to choose the right tool (this article can also be used as a sister article in this article).
2. Software development learning route
The Confucianism and Confucius and Mencius have been in the way of Confucianism for more than two thousand years. The idea of ​​the doctrine of the mean is penetrated into the bone marrow. It is neither aggressive nor conservative. It is not the way of the mean, but finding the correct route and rules for learning software development.
In terms of career planning for software developers, we can roughly divide it into three stages: software engineer → software designer → architecture designer or project manager. A soldier who doesn’t want to be a marshal is not a good soldier, and a programmer who doesn’t want to be an architecture designer or a project manager is not a good programmer. We should work hard to move up. Let’s first sort out the main techniques that need to be learned in developing application software.
A. Basic theoretical knowledge, such as operating systems, compilation principles, data structures and algorithms, computer principles, etc., is not unimportant. If you don’t want to become a computer scientist, you can adopt the principle of “learning when you use it”.
B. A programming language is now basically an object-oriented language, such as JAVA/C++/C#, etc. If you do WEB development, you also need to learn HTML/JavaScript, etc.
C. A methodology or idea is now basically object-oriented thinking (OOA/OOD/design pattern). This results in the derived component development CBD/face-oriented programming AOP and so on.
D. A relational database, ORACLE/SqlServer/DB2/MySQL, etc.
E. A production-enhancing IDE integrated development environment JBuilder/Eclipse/ etc.
F. A UML modeling tool that uses ROSE/VISIO/pen for modeling.
G. A software process, RUP/XP/CMM, etc., organizes many activities of software development through software processes, making the development process professional and standardized. Of course there are other software engineering knowledge.
H. Project management, architecture, framework knowledge.
The correct route should be: B→C→E→F→G→H.
Some more points need to be added:
1). What we need to add to A and C is that we should gradually understand programming theory and programming ideas in practice. Although new technologies continue to emerge, the update speed is dazzling; however, the changes are always the same, and the changes in programming theory and programming ideas are very slow. Once you master programming theory and programming ideas, you will feel like you are clearing the sky. Object-oriented thinking is currently quite critical and is one of the strong technologies. It requires more time to invest in it, and the rewards you will also surprise you.
2). For databases, it is independent learning, so the timing is up to you.
3). Programming languages ​​are the main line of learning software development, while the rest are the auxiliary line.
4). Software engineers focus on B, C, E, D; software designers focus on B, C, E, D, F; architecture designers focus on C, F, H.
3. How to learn JAVA?
3.1 JAVA learning route
3.1.1 Basic syntax and JAVA principles
Basic grammar and JAVA principles are foundations. The foundation is not reliable, just like building skyscrapers on sand, which is quite dangerous. The same is true for learning JAVA. You must have a solid foundation so that you can be at ease in the fields of J2EE and J2ME. Taking the SCJP (SUN company certified JAVA programmer) exam is a good way. One of the reasons is to be worthy of the 1,200 ocean test fee you paid, and you will study harder. The second reason is that the SCJP exam can help you lay a solid foundation. It requires you to be as familiar with the basic knowledge of JAVA as JDK; but you must not think that passing the SCJP exam will be too great, you will be able to win the favor of software companies and get high salaries. This idea is also very dangerous. Obtaining a "real" SCJP can only prove that your foundation is still acceptable, but there is still a long way to go before actual development.
3.1.2 Understanding of OO Thoughts
After mastering the basic syntax and the principles of JAVA program operation, we can use the JAVA language to implement object-oriented ideas. Object-oriented is a methodology; it is a programming idea independent of language; it is the basis of CBD component-based development; it is one of the strong technologies. When you transfer to other object-oriented languages ​​due to work needs in the future, you will feel particularly familiar and friendly, and learning is as simple as drinking cold water.
The basic process of developing using object-oriented ideas is:
●Investigate collection needs.
●Build a use case model.
●Identify the analysis class and the static dynamic relationship between classes from the use case model, thereby establishing an analysis model.
●Refine the analysis model to the design model.
●Use specific technology to achieve it.
●Test, deployment, summary.

3.1.3 Learning of basic APIs
When developing software, not all functions need to be implemented, which is what the classic saying says, "There is no need to reinvent the wheel." We can use ready-made classes, components, and frameworks to build our applications. For example, SUN has written many classes to implement some underlying functions, as well as the classes contained in the JAR file we downloaded. We can call methods in the class to complete certain functions or inherit them. So what methods are provided for us to use in these classes? What are the number and type of parameters of the method? Does the class constructor need parameters? It is impossible for SUN engineers to travel internationally and even cross the ocean to tell you how to use the classes he wrote. They can only provide us with documents to view. The JAVA DOC document (Reference 4.4) is such a document. It can be said to be a document for programmers to communicate with programmers.
The basic API refers to classes that implement some underlying functions, APIs with strong versatility, such as string processing/input and output. We make it a class library again. The first way to be familiar with the API is to check the JAVA DOC documents more (reference 4.4), and the second is to use the code prompt function of IDEs such as JBuilder/Eclipse.
3.1.4 Learning of specific APIs
JAVA has a wide range of areas involved, and different fields have different APIs. No one is familiar with all APIs. For ordinary people, they are only familiar with the APIs to be used in their work. If you are doing interface development, then you need to learn APIs such as Swing/AWT/SWT; if you are doing online game development, you need to have an in-depth understanding of network APIs/multimedia APIs/2D3D, etc.; if you are doing WEB development, you need to be familiar with APIs such as Servlets. In short, you need to choose to learn specific APIs based on your work needs or your interests.
3.1.5 Usage of development tools
When learning basic grammar and basic object-oriented concepts, from the perspective of exercising language proficiency, the tool we recommend is Editplus/JCreator+JDK. At this time, don’t rush to get started with integrated development environments such as JBuilder/Eclipse, so as not to pay too much attention to the powerful functions of the IDE and distract your attention from the JAVA technology itself. After this stage, you can start to become familiar with the IDE.
Programmers' daily work includes many activities, including editing, compilation and construction, debugging, unit testing, version control, maintaining model and code synchronization, document updates, etc. Almost every activity has special tools. If you use these tools independently, you will be in pain. You need to switch continuously on the taskbar full of tools, which is inefficient and easy to make mistakes. Editors, compilers, debuggers, unit testing tool JUnit, automatic construction tool ANT, version control tool CVS, DOC document generation and update, etc., can even integrate UML modeling tools, and provide rich wizards to help generate framework code, making our development easier. It should be said that the trend of IDE development is almost all the tools to be used in integrated software development.
From the perspective of development efficiency, using IDE is a must-pass path and a milestone in the transition from a student to a professional programmer.
Previous page123Next pageRead the full text