Title: "Beyond Java"

English translation: "Beyond Java"

Author: Bruce A. Tate

Publisher: O'Reilly authorized the publication of Southeastern University

Recommend a book:



Occasional book in my library are found do not intend to go for a walk, when I remember looking at a "UML essence," not looking for a long time, but at a very remote corner found this book was to see Title: "Beyond Java", I was living in awe as soon as look at the directory (my first look at the directory read books 10 minutes), the authors found a very high standing height to look at Java and other languages, give out the advantages of Java, why it will succeed, and its shortcomings, there are other languages than Java must be conditions, such as Ruby, Python, Perl, PHP and so on. Learn Java ME is not a very long time, but also just over a year, never wrote any large-scale enterprise applications, such as What is distributed only with JSP / Servlet system has a small shop, and even I could not even SSH in the know are still only stage. But this does not hinder the look of this book my passion, before and after I spent almost a day reading, which involves ROR, my servers are似懂非懂extension. I feel that Java is indeed on the decline, Imagine if you will only Java language that you basically can not do any meaningful things, J2EE this is there is JSP, Servlet, Tomcat, XML, EJB, which have stack frame. I SSH to the present study is not because I do not want to spend too much at this time above. If I just build a small-scale enterprise applications, I learn those things is true of the effort in vain. CSDN as the book review: Study have spring again if the people will be able to learn ruby deep understanding of this point, the author pointed out that the current sharp java encountered an insurmountable problem, as well as a popular language in the end should have those the most basic overview of features and there are some possible candidates to become the Challenger java language. the focus of talk at ruby, there is interested in studying the ruby and ruby on suspicion they may wish to Friend Buy this book first to see, as an over - .

Study may be had when I SSH in this book I will be more to touch, but now let me use their own language to describe this book, I spent an afternoon time of the essence of hope for everyone, huh, huh.

Owl and ostrich

At its peak in Java, other languages can be neglected to bring our productivity, but when the Java start declining, you have to look at around the start, whether you are an owl or an ostrich, they are not in order to be eliminated, and only pay attention to him at any time risk. Complex issues will drive more abstract, language is one such development, the complexity of the river will flood, urging us to adopt a new abstract, the sooner the better. When we are unable to use Java, when things are more easy to become more complex, we look at are not around the see also no better way to solve the problem.

Perfect storm

The emergence of Java is not accidental, it is the coalescence has a lot of factors together, as the formation of the storm, there must be dark clouds, lightning, wind also. .

Innovation from the demand, when we encountered something similar when combined, we would not want to change it until it becomes not suitable so far.

Help to make the reasons for the success of Java has approximately the following:

Internet, Java is catching up with.

Object-oriented, but was popular OO languages.

C + + experience, such as pointer operator, nested quote, string, DLL, inheritance, portability, these are C + + programmers Java turned reasons.

These factors triggered a storm, Java can be considered a perfect storm.

The jewel in the crown

Let Java pop what? Which are indispensable to the success of Java technology?

Portability, JVM is the biggest wealth of Java technology, the virtual machine is not invented by SUN, but are popular on the SUN. Have similar garbage collection and reflection.

Safety, language and the JVM was designed to ensure the safety of Java has a very good, procedures are in the JVM sandbox in the running, SUN provides a good security mechanism, including the target language is not computing, and the strong run-time type checking .

Internet, Java is only carried forward by the network, which we all know.

Enterprise support, SUN is the inventor of Java, but the support behind the biggest is the green giant IBM.

Community, community is the crown jewel Java.

Open-source, let us look at these tools: Ant, JUnit, Tomcat, Struts, Lucene, Tapestry, Spring, Hibernate and so on. These open source software for the industry have had a great impact, if you are a Java programmer, you do not dare say this one of a kind used for?

To break the glass

Let us take a look at the shortcomings of Java:

java has been the learning curve too steep, and in order to use Java to do useful things that need to learn a lot of technology.

Java in the web of the productive forces there is no better than PHP, ROR, in the small-medium-sized applications, J2EE is not necessarily the best choice.

For the treatment of XML, Java has a better way than, XML string parsing and necessary treatment, and Java in this regard愚拙too.
Java is not suitable for XP, Java is not the most simple language, for a very short development cycles do not fit.

Compile-time type checking can be abnormal and improve security, but let time and increase the cost of the grammar.

Java does not fit the structural performance of the data, which makes Java over-reliance on XML, resulting in extra complexity and increased volume.

Java much of a compromise, such as basic types, so that Java Learn more bad, more bad Writing.

Java than C + + dynamic, but far less than the dynamic Smalltalk and Ruby. Meta-programming aspects of Java than in Ruby.

Literal translation than any other Java language, dynamic language, compiler and deployment of a longer cycle.

Instrument rather abstract Java barren and abstract features the first category is not Java. There is no reference parameters; NOT keyword; NOT the default parameters; not bind or destructor parallel assignment; there is no way to return multiple values efficiency; no continuity; there is no user-defined operator; NOT Generator; no code words ; there is no array.

Java is a static language, it can not decide which has the advantages of dynamic languages.

Have a lot of. . .

The rules of the game

Java unprecedented guidelines improve the language, the authors cited in this chapter of the Java language to build the threshold, followed in order to go beyond the language of Java, you must first meet the required standards, but it is not enough, it must have other characteristics.

Java language can see the threshold:

JVM / CLR running in the JVM in its own virtual machine running

Support the focus on the Internet at Internet applications

Internet user interface allows rich Internet user interface

Service provision and Java integration layer of the SOA style

Web service to allow certain types of Web service

XML provides a rich and productive XML API



New language must have the characteristics of the enterprise:

Database Access API provides brief introduction, with productivity for database access API

First focus on the relational database relational database on

Database performance and database interaction must be very soon

Service applications can be divided into the

Concise language to provide basic security to protect the safety of the language

Application security to allow developers to protect their own security applications

Security integration to enable developers to integrate enterprise security, especially for Internet applications



Java has become the best person to take over should have an important language features:

Supporting the dynamic type of dynamic types to enhance productivity

Rapid feedback to reduce the "change code" to "see results" of the time difference between

The focus of the user interface provides a high productivity and rich environment to set up the user interface

Found to enhance the dynamic type of model and change the type and run-time part of the capacity of

The concept of the real pure OOP NOT provide basic types of objects and all have a single version of the OOP practice

Clean and consistent code language should be encouraged to clean and easy to maintain

Language should support the continuation of higher abstraction, such as continuation of



Chapters are behind the introduction of Ruby, but also cited the competitiveness of some of the language there is, I do not drag the.

Authors should be a "drift" lovers. Rapids throughout analogy, quite fascinating. Combination of drift and work will, in fact, is a reason, the authors stand on a high altitude, is also very clear thinking, not on impulse. May be, we really pay attention to the changes around you, do not坐井观天.