These years have been mainly engaged in C, C + +, some of the bottom, have always wanted to know more about the upper level of things. So the use of spare time, read some Java aspects of things, but also use some architecture to build some simple program, here want to simply talk about their own a little sentiment.
1.Java really is very convenient. For me to be accustomed to the bottom, relying on documents in the text editor to write programs, has become a habit. Switching to Java in this integrated environment is a little more convenient. Even if the document is not used, the light automatically prompts the information is enough to solve the common problem. Write code, feel flowing, very smooth.
2. There are many libraries in Java, most of which are open source. The feeling of giving is only unexpected, not done. Basically the things that are used, have already been implemented, need just the right call, and then the combination, unlike in the bottom most of the content to rely on their own to achieve. This saves a lot of energy and avoids wasting more energy and time on some very common implementations.
3. Java-related development environment configuration is gradually complex, the dependencies of various packages are sometimes prone to problems. After a variety of libraries, after more references, the configuration is significantly more complex, the package and package dependency deepened. The introduction of MAVEN solves some of the problem of package dependencies, but it has to be admitted that the entire development environment is becoming more complex and larger. This is also a lot of libraries after the inevitable development of it. It might be better to have a unified management of these packages and libraries in the future.
4. Upper-level development differs from underlying development. The underlying development, accumulating is the deep understanding of the underlying details, the accumulation of a variety of functions of the concrete implementation, the accumulation of the computer in all aspects of the details of the deep understanding. But the upper layer is different, the upper layer accumulates more is the design pattern, the structure, the model, the object-oriented and so on these things, certainly itself also enhanced to the development need various APIs familiar.
Therefore, for myself, if you want to learn the upper level of things, in the design pattern, architecture, models, and so on these slightly macroscopic things are not bad, the most need to fill is a to the upper development API familiar. Only when you are familiar with these APIs can you do it in the development process, rather than a temporary variety of lookup documents. The best way to familiarize yourself with the API is to write small programs that actually use them, and you can combine API documentation to have an impression on the whole, at least to the extent that you know what there is and what is not.
PS: For the upper level development, I am a beginner, have no experience to speak of. You are welcome to discuss together.
A little bit about Java---the bottom-level developers learning comprehension