CodeWeblog.com » shenzhen,programming language,language selection » JAVA school so school

JAVA school so school

The road to software development is full of thorns and challenges of the road, the road is full of hope. The same is true of learning Java, there is no short cut. Dream like "Dragon" in the same虚竹son Cliff was no easy access to a sobering and Jiazi skills, is very realistic.仰天day shouting "God, ah, please give me a sunflower Baodian it", not knowing even if you won the sunflower book, apart from the palace by the hardship of his life, you may not be scored as "The East is Red", However, as "the failure of the West" higher probability.
"No detours, that is, a shortcut," said Buddhist justified.
1. How to learn programming?
Java is a platform, is a programming language, how to learn programming is not applicable to Java, for C + + and other programming languages as useful. Experts believe that there is programming, Java or C or nothing, respectively, used to use. Why did they attain such a state? I think the reason that programming languages have common understanding of the essence of programming, natural to do a single pass 100. How to learn programming of course there are many common areas.
1.1 to cultivate an interest
Interest is to let you keep the momentum. If only the writing process as a means to earn a living, you will live very tired, I am sorry myself too. Interesting show more concern for some industries, more than think about Bill Gates. Build castles in the air every day, not to promote, but who would not dream, you have a taste of it? May be as many local farmers, like Shenzhen, play mahjong, kung fu drink tea, worship God of Wealth;万十every month there is a few tens of thousands or even more revenue, more out of thin air a "rentier class." Do you think, so taste it? More time to a number of programmers around the forum, you will find that they are very optimistic about the humor and wisdom from time to time the sparks will be emitted.
1.2 programming language selection
Men fear into the wrong line, afraid of marrying the wrong woman Lang. Choice of programming language for beginners need to be treated with caution. Software development is not just a programming language to master matter, it needs many other aspects of background knowledge. Software development is also not limited to a few areas, but have penetrated to every corner of almost all walks of life.
If you are more interested in hardware, you can learn C language / assembler language, entered the field of hardware development. If you are in the telecommunications industry knowledge and network are more familiar with, you can in C / C + + and so on to spend more time with a view to entering the field of telecommunications software development. If you are more familiar with the operating system, you can learn from C / Linux, etc., for the Linux kernel development / Driver Development / Embedded Development foundation.
If you want to get involved in the application of the most widely used software development (including e-commerce e-government system), you can choose to J2EE or. NET, or LAMP combination. Each of these areas do not require the same background knowledge. Applications do need to be familiar with databases. In short, you need according to their own characteristics to choose appropriate programming languages you.
To 1.3 feet on the ground, fast-learning undesirable
To share a story.
A little child, he likes to study biology, those who would like to know how the butterfly came out of the shell from the pupa, the butterfly will fly into. On one occasion, he went to see the grassland above a pupa, then check the home, and then watch, after a few days later, the pupa of a rift began to see the inside of the butterfly struggling, I would like to fly from scratch pupa shell. This process for several hours, the butterfly inside the chrysalis struggling very hard, how it can not come out. Looked at the child could not bear watching, thought it better to let me help you, they readily pick up the scissors cut the pupa to butterfly pupae break out. However, after the butterflies, not because their wings, and become very bloated, do not fly together.
This tell us is: More haste, less speed.
Impetuous is the most common mentality of modern people can怪谁? May be poor for so many years because, like the Great Leap Forward was the same, want to stride into the society ***. Now software companies, customers, government, schools, training institutions and so on around the air filled with impetuous. I am more familiar with the case of the Dalian IT vocational training workers for example, could advertise that "the computer more than 20 years of vocational education, the top ten schools in Liaoning Province", not knowing just a few years the development of China's computer, software development just a few years, even to many students apply, it is contemptuous of the world programmers. Trained by the "programmers" do not know most of OO, OP what? If the social environment, we can not change, only to change ourselves busy in peace, precious. Many beginners C + + / Java not started, immediately use the VC / JBuilder, will use the VC / JBuilder development of a Hello World program, it hastened the declaration to the world, "I'll be a software development", notes also bragged to write " proficient in VC / Java ". The results of interviews to the software companies either三两下away, and either split the tear, for shame. Faced with a stone wall only after winning the "C + + programming ideas" "Java Programming thinking" careful study, it was why they had known this beforehand.
"You're about simple after you on the long road", as if the Buddhist is advised.
More than 1.4 in practice, fast in practice
Peng Shu-side of "To learn that a子侄" poor monk in the story of the monk and the rich.
Once upon a time, there are two monks in Sichuan border, a poor, one rich. One day, the rich poor monk monk said: "I intend to go to pilgrimage in the South China Sea, you see how to?" Fu monk said: "There are thousands of miles away from the South China Sea, you rely on to get there?" Poor monk said: "I so long as a water bowl, a rice bowl is enough. "Fu monk embarrassed to say:" A few years ago I intended to buy a boat to the South China Sea, did not go so far as can be, you do not go! "A year later, the monk is still rich raise money for the lease of vessels, but poor monk pilgrims have returned from the South China Sea.
This story can be interpreted as: anything, once considered good, it is necessary to go immediately, not wait until after the well-prepared, then do things. Prepared to consider if things go well, then again, I am afraid not gain an advantage over the others. Software development is an engineering discipline, pay attention to is the practice of "gentlemen's tongue but not his fists" of software developers is simply wrong, and they promote "hands-first", but Do not be afraid, most of them are gentle, not violent, Although some of an unkempt, "Bill Gates" kind. There are senior expert believes that the secret to learning programming are: programming, programming, re-programming, I agree. Not only have to practice, and practice to be fast. When we read books, do not wait until you fully understand the hands-out code, but should be read out at the same time code, the program running on a variety of circumstances can let you faster and more solid point of access to knowledge.
Reference to more than 1.5 code
Program code is software development, one of the most important results, including the infiltration of the programmer's thinking and the soul. Many people have been "Fairy仙剑Biography" in the beautiful love story touched by tragedy is more a shortcoming of the outcome of the United States. Why at the end of a tragedy? Is said to be because the term "Fairy仙剑Biography" and the programmers wanted to take the outcome of such arrangements, he feel into the game, left many fans仙剑muscle.
Many examples of the reference code of Java in terms of reference [4.3], there are API class source code (JDK installation directory under the src.zip file) or to study some of the software or open source framework.
1.6 to enhance English reading ability
Program of study, the English are not required, but not that it will not,. At least as Java API Document (Reference [4.4]) these things or to be able to understand, and even with dumb can guess; next to re-open a "PowerWord." Will see more and more skilled. Java in school to learn English at the same time, kill two birds with one good. In addition to English needs a lot of software downloaded from the web sites, you should be able to find them, which is a basic requirement. Good for you to learn English very helpful. Spoken more access to good management, and programmers can be exploited, "周扒皮."
Only 17,000 had to ask someone else
The author with the Java Forum Martix counseling online system to solve the problem of students found that students most of the problems can be solved a little thinking. Ask someone else, you should first answer a few questions.
Are you in the google search for a solution to the problem?
Do you see the Java API documentation?
Do you find relevant books?
Do you write the code tested?
If the answer is "yes", but also did not find a solution, again not later than others. To know the ability of independent thinking is very important to you. Programmers need to know the time is very valuable.
Reading a good book more than 1.8
Yan Ruyu own book. Bill Gates is a well-read group of people who book. Although there is no finish college, but when nine-year-old Bill Gates has been reading all the encyclopedia, so he proficient in astronomy, history, geography and so on all kinds of subjects, can be said that Bill? Benz is not only the money the world's richest man , but also can be called a knowledge of the wealthy.
To the students I often give them a recommendation of books, students could no longer remain silent and then began to complain, "God, so many books when they could read the," "school of software development,上了贼船feel." At this time, my answer is, "Do not worry, when I take you to see the study, up to now spend a month of technical books on the 400 money, which are also software developers can only be regarded as middle - the "students fainted on the spot. (Note: this part of the students are just learning of software development)

1.9 Use appropriate tools
工欲善其事必先利其器. Contains a wide range of software development activities, the demand for the collection of analysis, use case model, analysis and design models, programming, debugging procedures, automated testing, continuous integration, etc., there is no tool for the help it can be said that step. Tools can improve development efficiency, so that higher-quality software BUG less. Portfolio, said the weapons in hand. Leaves can be picked to fly the assault on the very high level, and there is no stroke of-sheng Zhao, sword in hand to do the hearts of the realm of sword almost unattainable.
2. Line learning software development
More than two thousand years of Confucian thinking孔孟之道, moderation of thinking through入骨髓neither conservative nor aggressive is not the doctrine of the mean, but the development of learning software to find the correct line with the law.
From software developers in terms of career planning, we can be roughly divided into three stages, a software engineer → → Software Architect designer or project manager. Marshal of the soldiers did not want to be not a good soldier, did not want to be architects or project management division is a good programmer or programmers. We should strive to follow up. Let us organize the development and application of software you need to learn the main techniques.
A. The basis of theoretical knowledge, such as operating systems, compiler theory, data structures and algorithms, such as computer principle, they are not unimportant. Such as computer scientists do not want to be, you can take "when used in school again" principle.
B. A programming language, and now are basically object-oriented language, Java / C + + / C # and so on. If so, then WEB development will also have to learn HTML / JavaScript and so on.
C. A methodology or ideology, are now the basic object-oriented thinking (OOA / OOD / design mode). Thus derived from component-based development CBD / Aspect-Oriented Programming AOP and so on.
D. A relational database, ORACLE/SqlServer/DB2/MySQL, etc.
E. Improve the productivity of a IDE integrated development environment JBuilder / Eclipse / VS.NET, etc..
F. A UML modeling tool, the ROSE / VISIO / pen model.
G. A software process, RUP / XP / CMM and so on, through the software process to organize the large number of software development activities to develop a standardized process of specialization. Of course there are other software engineering knowledge.
H. Project management, architecture, the framework of knowledge.
Correct line should be: B → C → E → F → G → H.
Also need to add a few points:
1). For A and C would like to add is that we should be gradually realized in practice, programming theory and programming ideas. Although new technologies have emerged to update the burn speed is blurred雾里看花chaos; but万变不离其宗, programming and programming theory but slow changes in thinking. Mastered the theory of programming and programming will be thinking of you a sense of Sudden Impact. Object-oriented thinking in the current is very critical in terms of is one of the strong, the need for more investment in the above time, return to your surprise you also.
2). The database is an independent study, this time to decide on it by you.
3). Programming language learning software development as the main line, while the remaining line as a secondary.
4). Software engineers focus on the B, C, E, D; software designers focus on the B, C, E, D, F; architecture designers focus on the C, F, H.
3. How to learn Java?
3.1 Java to learn routes
3.1.1 based on principles of grammar and Java
The basis of principles of grammar and Java is the foundation, the foundation is not solid, like sand to build skyscrapers, it is very dangerous. The same is true of learning Java, there must be a solid foundation, you can be in J2EE, J2ME little wonder the area. To participate in SCJP (SUN Certified Java Programmer) exam is a good way, one of the reasons for you to pay in order to be worthy of examination fees for the 1200 ocean, you will try even harder to learn, the reasons for the Second SCJP exam allows you to play based on very strong, it requires the same JDK you are familiar with basic knowledge of Java; but you do not think there SCJP test had more than great software will be able to access the company's favor, we will be able to obtain high-paying, so the idea is also very dangerous. Access to "true" SCJP basis that you can also decent, but far from the actual development there is still a long way to go.
3.1.2 OO thinking comprehend
Grasp the foundations of grammar and principles of Java program to run, we can use Java language to achieve the object-oriented thinking. Object-oriented, is a methodology; is independent of programming language theory; the CBD based on component-based development; belongs to one of the strong. When the work after the switch to other object-oriented language, you will be familiar with the particular kind of learning喝凉水like as simple as that.
The idea of using object-oriented development of the basic process is:
● demand surveys.
● the establishment of use-case model.
● From the use case model analysis to identify categories and classes and types of dynamic relationship between the static and thus the establishment of analytical model.
● detailed analysis model to design model.
● use of specific technology to be realized.
● Test, deploy, summing up.
3.1.3 Learning the basic API
When software development is not a function we need to achieve, which is famous as "do not need to re-invent the wheel." We can use the ready-made categories, components, framework to build our applications, such as SUN drawn many companies to achieve some of the underlying functional categories, as well as from our download the JAR file contains the class, we can call the class method to to complete certain functions or to inherit it. What these categories to provide a method which we use? Method and type the number of parameters? Class constructor parameters need? SUN total engineers can not make international long-distance and even crossed the ocean to tell you that the preparation of his class how to use it. They can only provide documentation to our view, Java DOC files (Reference 4.4) is one such document, it can be said that the exchange of programmers and programmer documentation.
API refers to the basic realization of the underlying function of a number of categories, more versatile API, such as string handling / input and output and so on. We took it as a class library. One is familiar with the API method of multi-document search Java DOC (Reference 4.4), and the other is the use of JBuilder / Eclipse and other IDE features code prompt.
3.1.4 learning specific API
Java involved in a wide range of areas, different areas have different API, and no one familiar with all of the API, for most people to use only familiar with the work of the API. If you do interface development, you need to learn Swing / AWT / SWT such as API; to online game if you develop, you need deeper understanding of the network API / Multimedia API/2D3D, etc.; WEB If you do development, Servlet, such as on the need to be familiar with API you. In short, according to the needs of work or your interest in learning to choose the direction of development of specific API.
3.1.5 the use of development tools
Foundation in learning the basic syntax and object-oriented concept of language proficiency from the training point of view, we recommend the use of the tool is Editplus / JCreator + JDK, this time not to rush to use JBuilder / Eclipse integrated development environment, etc., in order to avoid too much IDE and scattered the power of Java technology to the attention of their own. After this stage you can become familiar with the IDE.
Day-to-day work of programmers, including many of the activities, edit, compile and build, debugging, unit testing, version control, to maintain the model and code synchronization, update documents and so on, almost every event has a special tool, if the independent use of these tools , you will be very painful, full of tools you need to keep the task bar of the switch, the efficiency is very low, it is also very prone to error. In JBuilder, Eclipse and other IDE has automatically integrated editor, compiler, debugger, unit testing tools JUnit, automated build tool ANT, version control tool for CVS, DOC to generate and update documents, etc., or even UML modeling tools can also integrated into, and the wizard provides a rich framework to help generate code, so that our development easier. It should be said that the development trend of IDE is to use integrated software development tools to almost all.
Efficiency from the development point of view, the use of IDE is the only way a student from a professional programmer to change the milestone.
Java development using the IDE main Eclipse, JBuilder, JDeveloper, NetBeans, such as several; and Eclipse, JBuilder possession is the largest market share. JBuilder in the past few years has been a Java integrated development environment of hegemony, it is distinguished from Borland programmers has been developed in the smoke of the Java IDE Wars, the updated version of its speed to beat IBM's Visual Age for Java and accomplish something, such as Albert. IBM in the Visual Age for Java has been profitable under the contribution simply to the open source community, to become the predecessor of Eclipse is really the so-called "new vista." Ashes reborn Eclipse plug-ins for its open-ended extension of the mechanism, free access to the majority of open source programmers (including almost all the ashes-level programmers) in favor of great potential for development.
3.1.6 Learning Software Engineering
For small projects, you may think that not too much software engineering is necessary. With the complexity of the project is getting higher and higher, the need for software engineering will be reflected. See "Software development learning routes" section.
3.2 Learning points
Line established after study, we also need to learn Java to summarize the main points, these points more or less mentioned in the former text, but I think these places should be paying particular attention to aggregate them, not too sentimental, I ah.
Ground search API Documentation 3.2.1
When certain types of good programmers to prepare, find a great sense of accomplishment, you want to contribute to the suffering of the peer. At this time you want to use the "Javadoc" tool (included in the JDK in) to generate standard Java DOC document for peer use. The J2SE/J2EE/J2ME programmers DOC document is a tool for communication with the programmer, a little staff, in addition to rookie outside. Download J2SE DOC official document addresses: http://Java.sun.com/j2se/1.5.0/download.jsp, you can google search to download the CHM version. Can also be viewed online: http://Java.sun.com/j2se/1.5.0/docs/api/index.html.
DOC document to be treated as Quotations from Chairman Mao, read the morning to get up again, read it again for dinner before going to bed.
When a function of time, you should check the appropriate DOC document to see if there is no readily available to achieve, so do not bother to worry about the direct use of it, can not find the time to consider their own to achieve. The use of the general steps are as follows:
● look for a specific package, including the general organization according to function.
● find need to use categories, category naming convention, then we can guess the name of type 12.
● choice of structure, and the majority of the use of the object is created.
● Select the method you need.
3.2.2 check books / google-> write code to test -> View source code -> ask someone else
When we are faced with the problem how to solve?
急着问others do not at this time, the question is too simple, not thinking through the issues, while others will look down on you. Can look for books in the google search you look at the basic to most of the problems solved. Like "certain types / methods of how to use the issue", DOC document is the answer. Knowledge of certain points of doubt, the writing test code, will give you impressed. While others, you may need to directly see the source code to verify the API you think. Only a last resort to ask someone else.
3.2.3 open-source software to learn design thinking
There are many areas of Java and open source tools, components, framework, JUnit, ANT, Tomcat, Struts, Spring, Jive Forums, PetStore numerous pet shops and so on. But the older generation of these gems left us with it. Baoshan and return empty-handed into your heart Gambari it? Of these tools, the framework for analysis, understanding of the design idea, maybe one day you can also write the framework of what a XXX, a scenery. Analysis of open-source software is that you in fact to improve their skills, improve the combat capability of the easy way.
3.2.4 the importance of norms
No rules, no radius. This has two implications of the norms. The first tier is the meaning of technical specifications and more normative JSRXXX to http://www.jcp.org download, multi-time norms, which are the most authoritative and accurate up-to-date teaching materials. Second-tier program means that the norms, if you use a large number of unique algorithms, full of personality variables and methods are named; At the same time, not to the procedures for the Notes, in order to show you how the programming of deep foundation. This code looks like hieroglyphics others, not at all easy to understand, let alone maintained, will inevitably be swept into the dustbin mercilessly. Java coding norms here to view or download http://Java.sun.com/docs/codeconv/, the Chinese have, ah, we should also ask me where, please refer to section 3.2.2.
3.2.5 are not limited to Java
Unfortunately, very fortunate to learn many things. Unfortunately, because too many things to learn and changeable, no time to accompany his wife or girlfriend family, leading to mental and physical exhaustion, severe cases, even lead to depression. Fortunately someone else trying to scramble for jobs you will not be easy, they need to do a lot of them can be fulfilled.
Java not isolated in the learning process, the need for a comprehensive study of data structures, OOP, software engineering, UML, network programming, database technology, knowledge, compared with horizontal vertical Lenovo will be the way to learn more effective. Learning Java, such as collection of data structure to find the time to look at the book; school when JDBC database technology review; take is still a "need time to learn" principle.
4. Concluding remarks
Should be emphasized that learning software development is indeed a certain degree of difficulty, but also very hard, need a lot of efforts, but do not give up halfway. If this article has been hovering on the outside of the temple in Java had a friend help, I also satisfied. Haha, how it sounds老气横秋? No way, the long-term radiation on the computer, the faster becomes the old man. Finally, the programmer would like to advise you especially MM programmers, as soon as possible after the completion of the work away from the computer, as far as "reported that Hu sowing chaos," reported that the computer radiation above the skin in the white dotted小黑点some looks very bright ... ...拖起the dream of tomorrow depends on its own!
Digg Technorati StumbleUpon Mixx del.icio.us Reddit BlinkList Furl YahooMyWeb feedburner

Tags: shenzhen (RSS), programming language (RSS), language selection (RSS), programming languages (RSS), programming java (RSS), writing process (RSS), thorns (RSS), buddhist (RSS), java school (RSS), castles in the air (RSS), god of wealth (RSS), drink tea (RSS), play mahjong (RSS), learning java (RSS), interest interest (RSS), bill gates (RSS), single pass (RSS), worship god (RSS), thin air (RSS), sunflower (RSS)

Permalink: http://www.codeweblog.com/java-school-so-school/

Leave a reply