In this interview, Erich Gamma, co-author of the landmark book, Design Patterns, talks with Bill Venners about how design patterns are problem solution pairs, how design patterns help you understand intent and tradeoffs, and how to become a better designer through practice.
In this interview, Pat Niemeyer, creator of BeanShell and lead of the BeanShell JSR's expert group, discusses the role of scripting languages in Java, BeanShell's dynamic programming features, how BeanShell compares with Groovy and other Java scripting efforts, and how the JCP helps or hinders language design.
The third edition of Scott Meyers' popular book, Effective C++, was recently published. In this excerpt from the new edition, Meyers explains why you should never call virtual functions during object construction and destruction.
Jini has a new licensing model. Sun originally released Jini under the Sun Community Source License (SCSL), but recently opened the licensing model and began releasing their specifications and implementations under Apache 2. In this interview, Bill Venners discusses this change with Jini team members Jim Hurley and Bob Scheifler.
In this interview, Erich Gamma, co-author of the landmark book, Design Patterns, talks with Bill Venners about two design principles: program to an interface, not an implementation; and favor object composition over class inheritance.
The Java Content Repository API (JCR) promises to greatly simplify Java database programming. Content repositories extend databases with versioning, rich references, workspaces, extensible information models, and other features. This article reviews the JCR API and its open-source implementation, Apache Jackrabbit, from a developer's perspective.
Developers are often faced with decisions about how much flexibility to design into their software. In this interview, Erich Gamma, co-author of the landmark book, Design Patterns, talks with Bill Venners about the attitude he believes developers should adopt towards flexibility and reuse.
by Bjorn Karlsson and Matthew Wilson, May 28, 2005, 2 comments
In this tutorial, Bjorn and Matthew
show the proper use of std::stringstream, and extol the virtues of making your classes streamable.
As software products become more complex, developers must invest increasing amounts of time to learn about new API and product capabilities.This article reports on an interactive documentation navigator developed by Business Objects, S.A., for their Crystal Reports and enterprise reporting-related products.
Among developers, design patterns are popular way to think about design, but what is the proper way to think about design patterns? In this interview, Erich Gamma, co-author of the landmark book, Design Patterns, talks with Bill Venners about the right way to think about and use design patterns.
This short tutorial on writing a Java Web service with the next-generation JAX-RPC 2.0 API demonstrates how Java annotations simplify Web service development.
The Java API for XML-based RPC (JAX-RPC) 2.0, currently in early draft review in the JCP as JSR 224, promises to vastly simplify RPC-based Web service development. This article reviews key JAX-RPC 2.0 features, and highlights how taking advantage of recent additions to Java make JAX-RPC 2.0 a more flexible API.
In this short editorial, Bill Venners explains the context and motivation behind Artima's new online magazine, Leading-Edge Java, and describes the focus and flavor of the articles it will publish.
Digital broadcasting has recently emerged to bring live television to cell phones, PDAs, and other mobile devices. JSR 272, Mobile Broadcast Service API for Handheld Terminals, aims to define a common Java API to control and access digital broadcast content from mobile devices.
Java and Visual Basic have always resided on opposite corners of the developer universe. New technology in the works through the Java Community Process now aims to bring VB-like ease to Java development. This article reviews JSR 273, the Design-Time API for JavaBeans, and offers a few hints of where Java IDE tools may be heading.