A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service
Author Josh Long translator Song posted on May 5, 2010 9:7 P.M.
Josh Bloch has made an outstanding contribution to the Java platform for many years at Sun (if you have used the Java collections framework to understand this), now Google is taking office, is the award-winning book "Effective Java" and "effective Java The author of the second edition. He recently gave a speech at the Web-based Red Hat Middleware 2020 conference, which was designed to show cautious optimism and concern about the future of Oracle's managed Java platform. Infoq interviewed Josh to learn more about his ideas in this area. Because there are so many different and realistic ideas intertwined, this discussion, especially in light of the growing loss of sun talent from Oralce and the worry about how Oracle manages the community and Java intellectual assets, is the most recent one. We are delighted to discuss these issues with Bloch.
InfoQ: What are you most concerned about. This is not a single topic, and over the past few years there have been many factors that have been intertwined, leading to a change in the direction of the Java wind.
InfoQ: Why do you think the pace of Java development slowed down. the Sun/apache dispute and the TCK permission dispute all seriously interfered the JCP process operation. The lack of sun support, leadership and transparency makes Java 7 slow. I don't know how many resources sun has allocated to Java SE in the last few years, but the result is very obvious: JavaOne is doing it every year, but Java 7 is still out of reach. Many of the disputes between Java supporters are really annoying. In the early days, Sun's role as a benevolent actor helped to reduce internal contradictions. OpenJDK use of GPLV2 permits prevents people from using OPENJDK, that is, those who are less concerned with TCK issues. "Copyleft" scare away a lot of potential corporate users. As a result, resources were split in half in order to develop both harmony and OPENJDK. The different licenses used by different JCP members for different components of different standards are really confusing, and the result actually has a negative impact on the development of the Java platform.
InfoQ: For Sun, Oracle has a better solution. Oracle has a history of supporting JCP reforms to end disputes. And they are financially more powerful than sun, so they can take on the task of reviving the platform, and they are openly promoting it. In the end, some of the legacy of history will end, thanks to the Easy Lord. For some of the changes that are unacceptable to sun, Oracle may look at it from a new perspective-"why not?" ”
InfoQ: Whether all the sticking points are a matter of licensing. No, the licensing issue is just one of the main issues, but there are other problems. As I mentioned before, the lack of resources, leadership and focus is also a problem.
is the situation of the Infoq:apache Harmony Project (as the basis of the Android class library) acceptable? (before Google adopted harmony as the basis for the Android library, harmony and Sun struggled fiercely with TCK licensing issues.) Google's decision to use harmony, rather than openjdk, had little impact on Harmony's TCK licensing dispute, but it had a significant impact on Sun's decision to openjdk the use of GPLV2 licenses. Without a looser license agreement, Google's partners will not agree to use it. The Apache organization was once granted a restricted TCK license, but it was rejected because restrictions on the use of the domain were unacceptable to both Apache and JCP EC, which they considered to be a violation of the JCP agreement. ) cannot be accepted. As I mentioned before, it hinders the healthy growth of the platform. And it has brought enormous work pressure to many companies, resulting in unnecessary resource splitting between harmony and OPENJDK.
InfoQ: How do you expect Oracle to react to harmony such things? I hope that they will fulfil the resolution presented at the JCP EC meeting on December 12, 2007:
Resolution 1 (Oracle proposal, BEA seconded)
"The executive Committee believes that JCP should be an open, independent, vendor-neutral standardization organization where all members participate in a level playing field that has the following characteristics: A legal entity, governing body, membership, etc. for the development of funds and the management of expenses. A new, simplified IPR policy that allows for the most extensive implementation. Regulations need to be compatible to promote the Java programming model
Moreover, if this change actually has little impact on the Java community, the EC should make a plan for it as soon as possible. ”
As for the "new, simplified intellectual property policy", if all the components of the Java specification adopt a broadly accepted open source license such as Apache or BSD, I think it would be very beneficial to the community as a whole.
InfoQ: What do you think of Oracle's role? I'm happy to see them correcting sun leadership and the slow development of the Java platform. Of course the situation is a little different now and the world has changed. Other organizations will contribute more resources and enjoy greater control.
InfoQ: Do you think things like Dalvik adapt to the new Oracle Java environment? in the new open source world, there are a number of related platforms is the established fact. There are many Unix-like operating systems and many Linux variants (optimized for a variety of purposes). I think Dalvik, as a VM, has very different design goals and is constrained by hotspot or JRockit.
InfoQ: In addition, how do you see the development of Java me. have been completely replaced. Sun will "bless" Android as the next generation of Java me. In Android/iphone today, jave me how to compete with it. I don't think I would be right to speculate on this, but it should be noted that in the development world "functional mobile phone--featrue phones" (as opposed to "smart phone--smart phones") still has a place, and Java me is designed for functional mobile phones.
InfoQ: More recently, the Tiobe language rankings show a downward trend in Java usage. What do you think. It shows a slight decrease in Java usage and the corresponding C usage is on the rise. I'm not sure if this is true or some sort of statistical anomaly, but it's interesting to see a "General Assembly language" that has been in existence for 35 of years in the first place. Of course, I admit that C in my heart is a soft rib.
InfoQ: This may prove to be, but do you think that the JVM usage has dropped, or that the Ruby/scala/jython/groovy growth has led to a drop in Java share. in fact, none of the languages you mentioned were ranked in the top 20. This does not mean that they are unimportant or worthless. But they are not mainstream. However, I was shocked by the number of language research and design developments in recent years, and a lot of good ideas have sprung up, and it is even more surprising that people are exploring these languages.
InfoQ: Do you think Java is in decline? Should we be worried about that? I think it's fair to say that Java is in a difficult period. But I don't think the platform or language is in decline. I think there is a risk of recession, but I hope Oracle and the Java community can prevent this from happening. Yes, I think it's a worry for everyone. I think a powerful Java program for the general public is beneficial: including companies, higher education, K-12, open source community.
InfoQ: In your opinion, who has the hope of replacing it (and not on the JVM). with the exception of the CLR, which is actually just a platform on windows, no one has been able to be on the same level as the JVM. In fact, no one has ever really replaced the Java programming language. There are many good programming languages, but none has the same "Design center". Language is a tool, and we should use the right tools for different jobs. There is no medicine to cure all diseases.
InfoQ: There are business cases where the JRE license is issued. Perhaps there are some inscrutable cases. But I think it's in Oracle's interest to keep the JRE widely used, as it was in sun.
InfoQ: The next question, of course, is the single point: What do you think of the idea of coordination between the JRockit JVM, the Sun JVM, and other different kinds of VM technologies? Theoretically, I think it's a good thing to extract the advantages of each JVM into a better thing. But keep in mind that sun never even succeeded in consolidating the different hotspot on the client and server side. Consolidating multiple systems can be very difficult, but not easy to implement. Once the cost of failure will be very high.
InfoQ: Is there anything else to add? I just want to remind you that many of the recent Java success stories have been submerged in a bleak future. Examples include Google collections, Guice, the JVM language you mentioned earlier, and Android. With Oracle's quick, decisive action, and the extensive collaboration of the Java community, I find the Java platform very promising.
View English Original: A Discussion with Josh Bloch on the Future of Java
Turn from: http://www.infoq.com/cn/news/2010/05/bloch_java_future
Start building with 50+ products and up to 12 months usage for Elastic Compute Service