Model-driven software development no longer belongs to the fringes of the industry but is being applied in more and more software projects with great success. In this article, experienced MDD practitioners pass on some best practices based on the experiences gathered over years of development.
Domain-Driven Design is a subject where there currently are very few examples of how to actually do it in practice. In this article, Srini Penchikala gives you guidelines, practices, frameworks and tools that technical leads and architects can use in the effort of implementing a system in a Domain-Driven way.
Business users doing programming? Charles Simonyi and Henk Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge, which means that business experts can be more innovative and responsive to the changes in the domain.
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.