Reporter: Xiong Jianguo Mengyan
[Press:] Today, about eight years ago, Java has just been born, "economists" in an interesting comics in a report entitled "Will Your Next Computer Be a Tin Can and Awire?" A person holding a computer, one end of the computer connects a line, the other end of the line is a network (spider web), the spider web is sitting on a huge unparalleled "a spider wearing a glasses." Today, this "spider" smiled and sat in front of us, he was James Gosling, JAVA.
James Gosling is a very outstanding programmer. He was born in Canada in 1957 and joined Sun Microsystem in 1984 and worked in an IBM research institution. He is the header of the Sunnews window system and the developer of the E m a c s text editor COSMACS implemented with C. He has developed satellite data interception software system, UNIX multiprocessor version, compiler, mail system
And Windows Manager, etc. In addition, he also created the WYSIWYG "see the" test "test compiler.
Mr. James Gosling designed Java languages in 8 years ago, and developed Java compilers and Java virtual machines, making Java a popular development language in the world. The computing model supported by Java has become the standard programming mode of the Internet and the implementation of distributed enterprise-class applications.
Today, this "spider" is still spit, and this net weaving net with Java is getting bigger and bigger, and there are currently approximately 3 million people (developers) gathered in this online, and the growth momentum is very strong. The global Java programmers in the next three may develop to 10 million. Java's application also penetrates into various fields, J2EE to J2EE to normal desktop applications from enterprise server-side large-scale J2SE and J2ME for embedded applications.
Near 50-year-old James Gosling looks very flatly, from the appearance, he is like an artist - golden hair, whitening 胡. But I don't think he is a fun person, although sometimes he can say two humor. Strictly speaking, he owns a Ph.D., a Ph.D. in Mellon, is more like a scholar or scientist. As a vice president of Sun Company, you even have a feeling of watching the businessman from him (I refer to the kind of businessman's embarrassment and show), although he also mentioned J2ME to mobile phone or game many times in his interview. Developers bring a generous profit this fact.
As Gosling, Mr. Gosling came to China, this time, only two categories: developers and students, and these two categories, it is indeed the most willing to see.
Reporter: Mr. Gosling, Hello! First of all, I am warmly welcome to you! We are reporters of "programmers" magazine and CBS website, the CBS website is currently China's largest developer community. Today, we have a multi-technical interview with developers, thank you very much. Can accept our interview!
James: ok! I listened to you in the online meeting (chat) on the site yesterday. Thank you for your efforts and contributions to the promotion of Java technology.
Reporter: You know, this can be said to be a late interview. It should have been conducted in April this year before half a year. Due to the "SARS", it will be postponed until now. Our Chinese Java developers have been anxiously waiting for today, they want to hear you to answer many questions forever.
James: (smile) This event can indeed affecting many work. OK, Let's Begin! About Java technology past and future
Reporter: Mr. Gosling, we know that Java is initially considered a simple language than C , is it simple? If not, where is the advantage of Java?
James: First, I have to say that from the language level, Java is still simple. People tend to generate Java increasingly complex illusions because Java grows and adds APIs that meet various occasions, and then in this Java world, many other providers are offering more and more Java products. And tools. In the face of many of these varies, people mistakenly think that Java has become more and more complicated. I should say that Java applications become more and more complicated, and Java can compete for these complex applications, it is Its advantage is.
Reporter: We noticed that Java development teams are also constantly differentiation, they have to go to J2EE, J2SE and J2ME three different roads, and even have to fight on these three online, I want to ask if Sun has these three The plan is a planning?
James: First, I want to talk about this unified possibility. Just 7 or 8 years ago, if we have a computer with 16M memory, I feel quite good. Today, on my mobile phone, you have this size of memory. I have always thought that there is a memory that can have such a memory on a mobile phone is an incredible thing. This tells us that it is possible to do things that can only be done on the PC on a device such as a mobile phone. For example, we can install a J2SE application on your mobile phone to help us handle more things, it really can run very well. As a developer, you have to face many technologies and changes, I want to say, you sometimes need to choose a road. We strive to integrate Java Card, J2ME, J2SE, and J2EE into a set of components that connect to each other, fill it with each other, and we finally want to provide users with unified Java, rather than many rows, which are not compatible with each other. Java, this is indeed our long-term strategy.
Reporter: We noticed that Sun plans to launch a new Java version -J2se1.5 later. Some developers are now complaining, when they transplant the old system into the new version, some compatibility issues will be encountered. Also, we want to know that what improvements in Sun will do in the new version?
James: I don't know how serious the compatibility issues you said, but I believe it is absolutely little or almost no. Among the version 1.5 is about to be released, our focus will be placed in an easy application. We will give some simplified version of the API. I have made the software more easily through a variety of easy-to-use APIs, so that the API is more straightforward. In other words, I think Java is already good enough to perform the performance and the features, and we hope that people can build their applications faster. Of course, in the new version, there will be some new language features, such as generics, enumeration, format I / O, and new code metadata tools.
Reporter: I heard that Sun has a plan to write an operating system with Java. What do you think about this idea?
James: I have helped this Java operating system plan, in fact, in a few years ago, we did have such a thing, and it works well. We have this idea, one is to break some control and monopoly, and on the other hand, I want to prove that Java can do a lot of things. Later, we ask yourself, do we really need such an operating system? In fact, we have our own operating system, which is very good in various industries and places. Reporter: We noticed that Java did make a small achievement in the server-side market in the company. But what do you see about the Java desktop application (Desktop Application), many people holding pessimistic attitude, what do you think?
James: It should be said that this is indeed a problem. We also noticed that people complain about Java desktop applications. The problem is mainly concentrated in performance and time. One of the biggest questions is that everyone thinks that Java is too time consuming, that is, the time to start the Java program is a little longer. In fact, spending a little start time is good, once you run, the speed is much more. On the other hand, Java can achieve a lot of optimization, allowing the server to run very fast, the key is that you need to know these optimizations. In the next version released 1.5 products, we have made a lot of work to shorten the startup time, so that the startup time will be much better than before. 1.5 The application of desktop system will have a lot of improvements. In addition, another question that everyone is often asked is our interface kit. This is a toolkit that is accused, and we should look at what is the performance problem among this. In addition, the design of many places in the Java library does have problems, affecting efficiency, and in "Tiger (Java 1.5 Development Code)", we spent a lot of energy to improve the design, everyone should be able to see obvious effect.
Reporter: After .Net is released, do you think it affects Java's application market in server-side and enterprise-class applications?
James: I think it will not. I have to admit that .NET is really very fast when doing some small, simple applications. We know that Java has the advantage of being able to do large, complex, mature systems, but too much strengthen these, just as one of Java's weaknesses, because these large-scale integration advances, maturity will bring one The complex problem of the series, so it is more troublesome to build some simple applications with Java. We often hear a lot of people talk about .NET development experience. They began to use .NET to make an application. After a while, they will find that they can't go further. Because they use .NET tools mainly to do some simple applications, and cannot be upgraded. In order to solve this problem, we have made a system that developed and developed, and there are other manufacturers who provide development tools work hard. Of course some factors are related to the API, we are also improving, especially in the next version. In other words, we should also pay more attention to the low-end development market.
Reporter: Can you give us a simple depiction of Java in your mind?
James: To accurately depict Java's future is difficult. China has just successfully launched a manned spacecraft, and the large-scale space project of NATM ASA has used Java to develop their software and control systems. I believe that China will also take this technology to the moon. (Refers to the corresponding software to write the corresponding software on the Monarch detector). Often someone asked me, will Java will presented permanently? Will Java replaced by other languages? If human civilization does not absorb other programs, it will, of course it is impossible. I think that Java is now our great progress. Then, what is the next step, it is hard to know. At present, the object-oriented is the best software development method I know. If there is a better way, I want to have a new language rise. It should be said that there are countless developers that you have determined the future of Java. In the past few years, Java communities have been growing and have developed into groups with millions of people. They have made great contributions to Java with a smart talents. In the future, this technology will develop to what extent, only the developer group is eligible to answer this question. Java's use
Reporter: I have learned Java and C #, I feel that although C # is new, but in contrast, Java is simple and elegant. However, there is a place, I think C # is indeed better, that is DELEGATE. The DELEGATE mechanism of the C # makes the process of the event very easy. Does Java have a planned DELEGATE mechanism?
James: No. I think C # Design Delegate is a small error. Anders did this because he originally added Delegate in Borland's Object Pascal, so did it in C #. In fact, in the event handling this matter, there is no need for additional design mechanisms, and Java's Interface and internal processing are very good, and the event handling mechanism is very beautiful. My principle is that it is not an introduction of new mechanisms with existing language mechanisms. Obviously C # designers have different principles with me.
Reporter: As you know, most Java developers are very concerned about Java performance. Java programs usually occupy a lot of memory. Garbage Collector is a bottleneck of Java performance? If not, can you tell me what is the bottleneck of Java performance?
James: Java is not slow, and many tests indicate that Java's performance is very good, and even more than C levels. If Java has a performance bottleneck, it is absolutely not GC. In fact, since the presence of GC, Java is faster than C in memory allocation and recovery. Because the memory is allocated in C / C , you need to find the idle chain, while Java can directly allocate allocation when allocating memory, no need to find the idle chain. As for recycling, C is multiple recycling, Java is a time recovery, is not slow, but there is a sudden change in operation, and it cannot meet real-time requirements. We consider a lot of GC algorithms in Real-Time Java, which is to meet the requirements of real-time systems. You know, there are now many military systems developed Java languages. GC has many algorithms, and their respective advantages and disadvantages are different. In general, it is a significant shortcoming of GC, and the problem is usually not brought by GC.
Reporter: You have repeatedly mentioned J2ME exciting applications, but as far as I know, some J2ME developers believe that 95% of the APIs in J2ME are related to the game, and this proportion in BREW is relatively small. Is Sun's intentions I hope people just use J2ME to develop games? What do you think for this? James: For this data, we must see relative numbers and more absolute. As far as I know, J2ME's API does not have more. Even if we only have 5% of the other APIs, the absolute quantity is much more than Qualcomm. Because game development can bring rich profits to the providers, we put more in the above. I do recognize that J2ME's future is full of light. This system is growing at a growing speed, which is amazing. At the same time, J2ME's specifications are constantly evolving, but our planning process is the main push for mobile phone performance constant growth. The new version of J2ME actually has some characteristics that can make the handheld device into a more powerful machine, such as the application above this.
Reporter: Not long ago, China Unicom has also formed a technical alliance, and Sun is eager to spread Java applications in this largest mobile phone market in China. We note that Sun has recently cooperated with China's mobile vendors to develop wireless value-added services. Microsoft has just developed a set of smartphone products, we want to know how you evaluated this?
James: I have to say, sometimes you will find Microsoft is a very interesting competitor. Sun's powerful weapons are Java technology itself, while Sun and partners have reached a close cooperation, and a great support for software development teams. Not long ago, We and Unicom announced the formation of alliances, because China Unicom saw the exclusiveness of Java in the mobile phone market and Java has openness and standardity. Java welcomes competition because there is only this to maximize the technology in the field. Many people often ask me .NET and Java comparison, competition, and their biggest difference is that in the world of Java, or on this stage, we have a lot of actors; On the NET's stage, you can only see an actor, that is, Microsoft themselves!
other problems
Reporter: In my opinion, Java is indeed a great language. My problem is that if you have the opportunity to redesign Java, which part of your most wants to change?
James: (sink thinking in a few seconds)? If I re-design Java, it should be said that some of the issues that are considered today still exists today. Many times, you need to make a decision on both simple and performance. No matter how I changed today, it is still a decision to choose, and you have to do it in these factors to find an optimal balance point. If someone tells me, in some aspects of this language, he found a better way, I hope he can tell me the first one. Of course, as a language, many of its characteristics are constantly developing because you have to use it to solve the problem of new problems.
Reporter: In this year, you and Bill Venners talk about a project number "JackPot", you can give us a brief introduction to this research project you are doing?
James: I am now studying a large software development tool in the Sun Laboratory. This is indeed a very interesting project. In the past few years, I have been on top of it, I don't spend a lot of time. Simply put, this is a tool that is capable of analyzing and manipulating program code, making it in the form of an annotated directory tree. We hope to get a part of the compile period to get the program code when coding. In the process of research, we also encountered some problems. Reporter: How do you see China's programmer? What is the difference between China's programmers and the US programmers?
James: I think China's programmer and the biggest difference between the US programmer is that their beard and drink beer are different (laugh)! In addition, I think China's programmers should participate more in the process of JCP, help us to determine the development and future of Java. In fact, this is not difficult, and you can really try it, see if you can play your own impact.
James Gosling Recommended Bibliographic (with comments)
"Barbarians LED by Bill Gates: How the World's Richest Corporation Wields ITS Power"
"Bill Gates' Barbaric Leaders: How the world's richest company can show their rights"
This is the first book I recommend, it is not a technical book, but it is more important than technical books. By Marlin Eller, JenniferedStrom,
Martin Eller is written. If you have confused why Microsoft lack business ethics, this book may unlock your mystery. Of course, the real interesting story will never be told.
"Serendipity: Accidental Discoveries in Science"
"Discover the luck of the treasure: accidental discovery in science"
This book collects many interesting stories, how the accidental event has caused significant discovery. Includes such as polytetrafluoroethylene (plastic,
Insulating materials), penicillin, photographic, pulse stars, and X-rays.
"The evolution of cooperation" by Robert Axerrod
"The evolution of collaboration"
This is the most promising book I have read. If you want to know why the Internet is a good thing, this book must be read. Its core is to use game theory to analyze the famous issues of "prisoners' dilemma" and will be attached to the real world. The key conclusion of this book is that with the growth of contact (whether two countries, people are still bacteria), the optimal strategy is from hostility to collaboration.
"Applied Cryptography" by Bruce Schneier
"Practical Password Technology"
All people on the Internet should have this book. I often mention this book in the speech, and its main content is about the technical and strategy of password usage. This book is our understanding of many of the problems of individual freedom and privacy on computer systems and networks. In addition, the author also has a new book "The Electronic Privacy Papers: Documents On The Battle for Privacy in The Age of Surveillance", also must be read.
"Garbage Collection: Algorithms for Automatic Dynamic Memory Management" by Richard Jones and Ra FAEL LINS
"Garbage Recycling: Automatic Dynamic Memory Management"
For many people, Java is used by their first door, making it, actually Java appeared very early. This book is an excellent tutorial to discuss details of many garbage recovery algorithms and distinguish their compromise strategies.