InfoQ

InfoQ

Presentation

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Recorded at:
Recorded at

How The JVM Spec Came To Be

Presented by James Gosling on Oct 29, 2008 Length 01:01:51
Sections
Development,
Architecture & Design
Topics
Java ,
Language Design ,
Compilers
Tags
JVM Language Summit ,
JVM ,
LISP ,
SmallTalk ,
Virtual Machines
 

How would you like to view the presentation?

In case you are having issues watching this video, please follow these simple steps to help us investigate the issue:
1. Right click on the video player and select Copy log
2. Paste the copied information in an email to video-issue@infoq.com (clicking this link will fill in the default details in most email clients).
Note: in case your email client hasn't automatically picked up the email subject, please include in your email the URL of the video too.
3. Done.
We will investigate the issue and get back to you as soon as possible. Thanks for helping us improve our site!
Summary
In this keynote from the JVM Languages Summit 2008, James Gosling discusses how his history with programming languages led to Java's creation, code as algebra, how users use a product in very unusual ways, Java as a compromise between C and scripting languages, ANDF and Virtual Machines, pointer integrity, the Java object model, gotos and multilevel breaks, primitives and optimization tricks.

Bio
James Gosling received a BSc in Computer Science from the University of Calgary, Canada in 1977. He received a PhD in Computer Science from Carnegie-Mellon University in 1983. He is currently a VP & Fellow at Sun Microsystems. He did the original design of the Java programming language and implemented its original compiler and virtual machine.

About the conference
The 2008 JVM Language Summit is an open technical collaboration among language designers, compiler writers, tool builders, runtime engineers, and VM architects. The talks inform the audience, in detail, about the state of the art of language design and implementation on the JVM, and the present and future capabilities of the JVM itself.
Good Presentation. by Ashwanth Fernando Posted
Re: Good Presentation. by Ashwanth Fernando Posted
Re: Good Presentation. by Tero Vaananen Posted
Re: Good Presentation. by Ashwanth Fernando Posted
Impressed by Alan Williamson Posted
  1. Back to top

    Good Presentation.

    by Ashwanth Fernando

    Thanks for the great presentation. Java changed the way the world thought about programming. Imagine the millions and millions of dollars in profit for businesses around the world that run on an open source platform. You are a true legend, James.

  2. Back to top

    Re: Good Presentation.

    by Ashwanth Fernando

    There was a snippet in one of the slides that "Java generally beats C/C++ in performance".


    In the 3d gaming industry, those applications (games) tax the maximum out of the hardware and bring high end gaming hardware to its knees. Why is C++/VC++ the preferred programming language over Java? Is it because the DirectX/Open GL libraries are not well suited for Java, or are there inherent limitations in Java that does not allow it to beat C++ in sheer graphical performance.


    We have seen the gaming industry thought leaders such as John Carmack, regularly give their opinions about Java such as "Its a good way to make the gaming performance a tenth of what it should have been".


    I think probably a Java gaming edition (Am I coining a term here), should be created which has the OpenGL and DirectX compatibility and a VM tuned for maximum 3d performance in games. Programming will become a great deal easier as well for the thousands of game developers around the world. Imagine Crysis/Call of Duty 4/Unreal 3 running on a VM, that would be nice.


    Also imagine, just upgrading the VM version to have faster 3d performance (impossible in today's games, you need to upgrade the hardware).

  3. Back to top

    Re: Good Presentation.

    by Tero Vaananen

    There is plenty of support for 3d game development in Java. See JMonkey Engine, for example. These generally use low level bindings to OpenGL via JOGL or similar.

    I am not an expert, but I think that the native bindings can be a bit slow and can tax the Java implementations. There are ways to reduce the interaction by batching the OpenGL operations, and have better performance, but clearly you can't get the same performance in this respect.

    Bytonic Software had a little demo of Quake running in Java, a couple of years back. If you look at the benchmarks it becomes clear that it is possible to run 3d games in Java with better performance than the original C version. This is not to say that the 3d engines in C/C++ have not since improved on this considerably.

  4. Back to top

    Re: Good Presentation.

    by Ashwanth Fernando

    Thanks Tero for sharing your opinion. I do know that there are implementations of OpenGL and 3d engines in particular. Irrlicht is a popular 3d engine written in Java.

    Just that new games and the next generation titles are all developed in C++/Visual C++ and we have just benchmarked more than decade old games (talking about Quake) written in Java.

    The gaming industry is just not accepting Java as a game development platform, albeit for some applet and Swing games based on Java 2d.

    Sun should research on this and put in 3d graphics experts to bring out a version of Java that is highly tuned for 3d performance on the latest graphics cards and dual core processors.

    Just the idea of upgrading your VM and squeezing out more frames per second on current hardware excites me a lot.

    I think we have nailed the enterprise and the client side, I guess Sun can make a ton more money developing a JDK for game development and letting the hardware low level details such as handling a wide range of processors and graphics cards sink into the JVM, so that the game programmers can concentrate on higher order graphics eye candy effects and the AI for example.

    This might be totally a brand new research project and fun to develop, rather than taking open source implementations such as Xalan, Xerces,etc. and trying to fold them back into the mothership - Java and thus making the JVM and the JDK much bigger than it ever has been.

    I know there are lot of governance problems such as using the JCP to do this and probably we dont have gaming expertise in the JCP currently, but its certainly worth a try.

  5. Back to top

    Impressed

    by Alan Williamson

    I thoroughly enjoyed the presentation, haven't seen James talk for a long time.

    One of the questions I would have asked; "knowing what you know today about all the applications that Java has been pushed to (server, embedded, plugins, mobile etc), if you could travel back in time and leave yourself a tip/note what would it be?"

    Also impressed at the UI here; love the fact the slides are changing in real time with video. Very slick.

    --
    alan
    alan.blog-city.com/

Educational Content

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?

Wrap Your SQL Head Around Riak MapReduce

Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.