Articles

by Frank Sommers, April 10, 2009 3 messages
Rich-client technologies can be analyzed according to how easy, or difficult, they make enhancing an existing enterprise application with rich-client features: a more interactive user interface and better use of a client's computing resources. This article series introduces five techniques to progressively enhance an existing enterprise application using Flex. The examples start with a non-intrusive way to replace an HTML table with a high-performance Flex datagrid, and culminate in integrating a Flex client with an enterprise Java message queue.
by Bill Venners, April 3, 2009 28 messages
Three Twitter developers, Steve Jenson, Alex Payne, and Robey Pointer, talk with Bill Venners about their use of Scala in production at Twitter.
by Trygve Reenskaug and James O. Coplien, March 20, 2009 119 messages
Object-oriented programming was supposed to unify the perspectives of the programmer and the end user in computer code: a boon both to usability and program comprehension. While objects capture structure well, they fail to capture system action. DCI is a vision to capture the end user cognitive model of roles and interactions between them.
by Bill Venners, January 28, 2009 2 messages
In this interview, Ian Robertson, co-maintainer of the Jamon text template engine, discusses why he feels static typing is useful in a template engine.
by Bill Venners, December 15, 2008 52 messages
Learning a new programming language sometimes influences how you code in other languages, too. In this essay, Bill Venners shares how learning Scala influenced his programming style.
by Scott Meyers, September 23, 2008 16 messages
Functions often depend on particular behavioral characteristics (“features”) of code they invoke. For example, thread-safe code must invoke only thread-safe code if it is to remain thread-safe, and exception-safe code must invoke only exception-safe code. This paper describes a technique that enables the specification of arbitrary combinations of user-defined code features on a per-function basis and that detects violations of feature constraints during compilation. The technique applies to member functions (both nonvirtual and virtual), non-member functions, and function templates; operators are excluded.
by Frank Sommers, June 2, 2008 27 messages
Dmitry Jemerov is a lead developer on JetBrains' IntelliJ IDEA. In this wide-ranging interview with Artima, Jemerov discusses the main focus areas for the upcoming IntelliJ 8 release, as well as his views on IntelliJ's support for Flex and Scala.
by Frank Sommers, May 29, 2008 7 messages
Although physical RAM is inexpensive, allocating large amounts of memory to a JVM instance is not generally a good idea, says Azul Systems' CTO Gil Tene in this interview with Artima. Tene shows how recent research in garbage collection and JVM implementation helps overcome the JVM's memory barrier, resulting in new types of applications.
by Frank Sommers, May 22, 2008 2 messages
Continuing its tradition of providing support for an increasing number of languages and environments, NetBeans 6.1 introduces advanced JavaScript and PHP features. In this interview with Artima, Sun NetBeans evangelist Gregg Sporar discusses JavaScript and PHP support, such as refactoring and intelligent code completion.
by Frank Sommers, May 21, 2008 1 message
In this interview from JavaOne 2008, Coverity chief scientist Andy Chou discusses why traditional unit tests don't often help in uncovering concurrency-related errors, and why a combination of static and dynamic analysis yields better results when testing multithreaded code.
by Frank Sommers, May 19, 2008 2 messages
Ajax applications depend on asynchronous interaction between client and server. In this interview with Artima, ICEsoft's Stephen Maryka describes a potentially more transforming asynchronicity where updates are pushed to the client without the user having to request those updates.
by Frank Sommers, May 16, 2008 29 messages
While the Java VM shields most developers from having to think about the memory-management aspects their Java objects, the VM does not completely manage other types of resources automatically, says Gwyn Fisher, CTO of Klocwork in this interview with Artima. Great Java developers learn to understand exactly what the JVM does, and does not do, for their objects.
by Frank Sommers, May 14, 2008 Submit comment
Detecting concurrency-related bugs and performance bottlenecks is hard, especially on clusters consisting of a large number of nodes. In an interview with Artima, Terracotta co-founder and CTO Ari Zilka explains the importance of visualization in cluster-based applications, and introduces Terracotta's open-source cluster visualizer tool.
by Frank Sommers, May 9, 2008 5 messages
Object-oriented databases complement relational databases in important ways, says Anat Gafni, VP of Engineering at db4objects, the company behind the open-source object database db4o. In this interview with Artima, Gafni explains how OO databases support agile development, and how they co-exist with relational databases in an enterprise.
by Frank Sommers, May 8, 2008 7 messages
Software-as-service (SaaS) has started to permeate the field of software development tools as well, says Atlassian's Jeffrey Walker in this interview with Artima. Walker describes important characteristics of hosted developer tools, and highlights the need for such tools to integrate well with locally-installed tools, such as IDEs.