Most developers think of the Java compiler,
javac, as an unobtrusive command-line tool to invoke when you want to turn Java source code into class files. The Java Compiler API, JSR 199, released in final form last December, opens up the Java compiler to programmatic interaction as well. Artima spoke with JSR 199 spec lead and Sun engineer Peter von der Ahé about what programmatic compiler access means for developers.
by Bill Venners with Frank Sommers, March 1, 2007
Continuations refer to a functional programming technique that allows you to save the current execution state of a thread, with the possiblity of suspending and later resuming execution. Continuations have been incorporated into several Web application frameworks, including RIFE and WebWork. In this interview with Artima, RIFE project founder Geert Bevin discusses how continuations can simplify complex workflows, and how they are implemented in RIFE.
"Pure virtual function called" is the dying message of the occasional crashed C++ program. What does it mean? You can find a couple of simple, well-documented explanations out there that apply to problems easy to diagnose during postmortem debugging. There is also another rather subtle bug that generates the same message. If you have a mysterious crash associated with that message, it might well mean your program went indirect on a dangling pointer. This article covers all these explanations.
Among the most significant new JDK 6 features are improvements to Swing and related client-side Java APIs. In this interview with Artima, Sun Java Client Group architect Chet Haase discusses how performance gains, new APIs, and closer integration with the native desktop help developers write more appealing and better performing Swing applications.
In this interview, Elliotte Rusty Harold discusses the true meaning of PUT and DELETE.
In this interview, Neal Gafter talks with Bill Venners about the proposal for adding closures to the Java programming language.
This article contains a collection of short audio recordings made at JavaPolis on Friday, December 15, 2006. Each recording captures one person's notion of an idea that is important for developers to think about.
This article contains a collection of short audio recordings made at JavaPolis on Thursday, December 14, 2006. Each recording captures one person's notion of an idea that is important for developers to think about.
This article contains a collection of short, punchy audio recordings made at JavaPolis on Wednesday, December 13, 2006. Each recording captures one person's notion of an idea that is important for developers to think about.
Java SE 6 is no longer only about the Java language: SE 6 can be used to execute dynamic scripting language code as well. According to Danny Coward, Sun's Java SE platform lead, scripting language support is merely the first step in turning the JVM into the best possible execution platform for any dynamic language. Artima spoke with Coward about his new JSR 292, Supporting Dynamically Typed Languages on the Java Platform.
Terracotta's decision to open-source its clustering technology was in part driven by a new-found love between it and major open-source enterprise application tools and frameworks, such as Tomcat and Spring. Artima spoke with Spring project founder Rod Johnson and Terracotta co-founder Ari Zilka about using Terracotta to cluster Spring applications.
The new Swing Application Framework JSR (JSR 296) aims to do for client-side Java applications what many successful Web frameworks have done for server-side code: Abstract out common application patterns with the goal of making development easier and less error-prone. In this interview with Artima, JSR 296 spec lead Hans Muller discusses patterns and issues common to Swing-based desktop applications, and describes how the new framework addresses those issues.
The C++ standardization committee is hard at work standardizing threads for the next version of C++. Some members recently met to discuss the issues, and The C++ Source was there. Read on to learn what the world’s leading experts on concurrency are planning for C++0x.