While JRuby's performance keeps increasing, there are still algorithms that are faster if implemented in Java. We look at different approaches to solve this: RubyInline for JRuby, generating bytecode with a JRuby DSL and a new subset of Ruby called Duby.
J2EE Spider re-invigorates J2EE RAD development with visual interfaces (supplied via Eclipse) for generating code and round-trip engineering.
The Add-In Framework, introduced in .NET 3.5, is designed to facilitate applications that need to support partially trusted add-ins. Unfortunately the framework is rather complex, taking a minimum of 7 assemblies in order to build even the simplest application. The code generation tool Pipeline Builder seeks to address this.
Parsing Expression Grammars (PEG) are a type of recursive descent parsers that have become quite popular recently. Now Ruby gets its own PEG parser generator with Treetop.
Even the most successful project becomes a failure when a new technology comes out and everything has to be rewritten from the ground. This is why business logic has to be separated from technology. And, according to Kathleen Dollard, code generation is a promising approach to achieve it.
Charles Simonyi, the President of Intentional Software and a recent space traveller presents his views on the future of software development. He talks about how to include domain experts in the development cycle by letting them express their intentions in domain specific languages, about Intentional's view on DSLs and Domain Driven Design and about what it was like to be a space tourist.
Bill McCarthy has updated his Snippet Editor to add support for Visual Studio 2008. Snippets are code templates that can be quickly accessed from the keyboard. Snippets include instructions for tasks ranging from creating a property or new exception type through esoteric tasks like dialing a phone number using a modem connected to a serial port.
One of the more controversial additions to C# is the addition of partial methods. Created exclusively for code generators, some believe it pollutes the C# language.
Solutions Design has recently released LLBLGen Pro v2.5, an O/R mapper and code generator that boasts many new features including auditing, authorization, dependency injection mechanism, super fast and compact serialization (XML and binary), SQLServer CE Desktop support, Sybase support and much more.
In a new InfoQ article, Dennis Sosnoski questions the conventional wisdom that a contract-first approach to web services development, i.e. starting from WSDL, is superior to starting from code. He shows how the JiBX framework can be used to practice start-from-code development without incurring the disadvantages, specifically without coupling implementation and interface too tightly.
This past year Microsoft introduced Phoenix a project aimed at transforming the traditional blackbox compiler into a transparent one.
CodeSmith is a template-based code generator that automatically generates high level code (C#, VB.NET, ...). The current release features LINQ to SQL templates and supports Visual Studio 2008 Beta 2.
Thomas Steiner, author of the REST Describe & Compile tool, which creates a WADL description from existing REST messages and can generate code from WADL, answers InfoQ's questions.
Domain-Specific Languages (DSLs) are an architectural hotspot. Microsoft supports DSLs within the Software Factory Initiative and provides a means to incorporate them into the software development process via the Visual Studio 2005 SDK. Although there is quite some information available on the topic, for the most part, DSLs remain an abstract architectural concept.
Edward Bakker and Jezz Santos have been writing about Software Factories, providing a complete set of concise guidelines. The Microsoft Software Factories and DSL initiatives have caused many discussions. Today, Microsoft provides tools such as the Guidance Automation Extensions (GAX), the Guidance Automation Toolkit (GAT), and the Domain-Specific Language Tools (DSL Tools).