InfoQ Homepage Development Content on InfoQ
-
Interview: Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns
In this interview from QCon London 2008, Erich Gamma discusses the Jazz project, why Eclipse has been successful, the strict Eclipse release schedule, JUnit, Design Patterns, how to identify a design pattern, design patterns and the 'Don't Repeat Yourself' principle, the design pattern community, and whether dependency injection is a design pattern.
-
Article: Joshua Bloch: Bumper-Sticker API Design
In this article, Joshua Bloch, Chief Java Architect at Google and former Distinguished Engineer at Sun Microsystems, presents a list of maxims intended to be a concise summary of good API design guidelines. The maxims represent the abstract written by Joshua for his session "How to Design a Good API and Why it Matters" held during JavaPolis 2006.
-
Community Reacts to SpringSource Changes, CEO Rod Johnson Provides Clarification
SpringSource released a revised maintenance policy for SpringSource Enterprise. InfoQ followed up with SpringSource CEO Rod Johnson to clarify the ramifications.
-
Behavior-Driven Development for Everyone
Behavior-Driven Development is nothing new but has steadily risen to the forefront as an excellent technique for technical and non-technical participants to collaborate on a software project. Several frameworks exist to aid the development of software in the BDD (Behavior-Driven Development) mindset, with one particular framework trying to make it as <i>easy</i> as possible for everyone.
-
Presentation: Concurrency: Past and Present
In this presentation from QCon London 2008, Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, Software Transactional Memory, the history of concurrency, alternatives to threads, Erlang, Scala, and recommendations for concurrency in Java.
-
Aster In-Database MapReduce
Aster Data Systems has announced an in-database MapReduce implementation for their nCluster database platform.
-
In Case You Missed It: JIT Enhancements in .NET 3.5 SP1
The recently released service pack for .NET 3.5 includes some new performance enhancements. Here we look at method inlining and the JIT compiler.
-
Java In-Memory Persistence with Space4J
Space4J is a simple database system that will let you work with Java Collections in memory. Since memory is several orders of magnitude faster than disk for random access to data, Space4J provides better scalability for "real-time" web applications and systems that require performance.
-
Interview: Reginald Braithwaite on Rewrite
In this interview, Reginald Braithwaite talks about his past experiences with languages, programming, and software development, and what attracted him to Ruby. He also talks about Rewrite, a collection of features which add "sexp-rewriting meta-programming to Ruby".
-
Mockito 1.5 spies on plain objects
The latest release of the Mockito mocking framework enables spying on non-mock objects and introduces a cleaner stubbing syntax.
-
Customize Grails Application Behavior Using the Event Model
A typical Grails application throws events at key points in the application life cycle, whether in the build process or in individual artifacts such as domain classes and controllers. These application events are good extension points to setup listeners to intercept them and react to the events with custom behavior.
-
When is Ok to Break the Rules
In “Just Ship Baby” Kent Beck, author of the JUnit Framework, reminds us that the point of all the Agile processes and practices is to produce shipping software. If they’re getting in the way of shipping software – then perhaps you need to break the rules.
-
CodePlex Adds Support for TortoiseSVN
CodePlex has recently announced that it is supporting SVN clients, like TortoiseSVN, to connect to its code repository in order to synchronize source code and resources. In the past, SVN users had to run SvnBridge every time they wanted to synchronize with CodePlex, but now it can be done only by using the correct URL in SVN client's settings.
-
.NET Chain of Responsibility Library
Chain.NET (a.k.a. NChain) is an implementation of Chain Of Responsibility design pattern for .NET and Mono platforms. Version 0.1 combines standard CoR design pattern with Command design pattern with the goal of bringing increased convenience and flexibility in command processing solutions.
-
Announcement: Agile Journal Making Big Changes
Going into it's third year of operations, the Agile Journal is making some note-worthy changes to how it brings "need-to-know information and resources" to the agile community. Among these changes are a new Editor in Chief, Amr Elssamadisy, as well a fresh new content format and publishing approach.