InfoQ Homepage Design Content on InfoQ
-
High abstraction level of DSLs to reduce the testing burden?
Inconsistencies between the user interface and user’s expectations can be an important source of bugs. According to Leonardo Vernazza, this is due the fact that the user and the UI do not talk the same language. Using a DSL, characterized by a high abstraction level, would be instrumental for avoiding the risk of translation errors and would therefore reduce the testing burden.
-
QCon Panel: Modifiability - Or is there any design in Agility?
Many people assume that agile methods mean an absence of design. Design still happens in agile projects, but it shifts from an up-front phase to a continual evolution. Design decisions should be left to the last responsible moment, but some design decisions do need to be made upfront. Martin Fowler explored this topic through a panel discussion at the last QCon.
-
Technology-agnostic approach to Service Oriented Architecture: back to the essence of SOA?
SOA is often understood in terms of technical tools and software solutions. Dan North believes that this may prevent architects from focusing on its essence: thorough mapping and modeling of core business processes. He shows how to design SOA in a "technology-agnostic" way so that business can play an important role in identifying SOA requirements without being constrained by technical decisions.
-
Charles Simonyi reveals production use of Intentional Software @ JAOO
Charles Simonyi (recent space tourist, and ex-Microsoft lead architect of Word & Excel) presented Intentional Software at the JAOO conference today. Intentional is building a domain language workbench, which allows business experts write domain code in their own familiar notations, that code then being used to generate the rest of an application.
-
Language-oriented programming : an evolutionary step beyond object-oriented programming?
At a recent conference, Martin Fowler and Neal Ford develop the concept of language-oriented programming and question the eventuality for Domain Specific Languages to become a new abstraction and modelling mechanism. This could be "the next evolutionary step beyond object-oriented programming", especially since major vendors start offering IDE tooling for DSLs.
-
Interview: Eric Evans on Domain Driven Design
Ever since Eric Evans wrote the book Domain-Driven Design in 2004 he has been a significant voice advancing domain modeling and design concepts. In this interview with Floyd Marinescu he talks about some of the recent refinements in Domain-Driven Design and how people are advancing the field today.
-
Why API design matters
API design affects all developers. Some APIs are a pleasure to work with, others are annoying and yet others are downright frustrating. But what's makes the difference? Which qualities make one API easy to use and another hard? The ACM Queue recently published an article by Michi Henning about API design; an article that analyzes these aspects.
-
Programming for Parrallelism: The Parallel Hierarchies Pattern
Multi-core processors offer new performance opportunities. Shekhar Borkar from Intel highlighted, however, that software development practices have to be retooled to leverage this potential. In this vein, Prof. Jorge L. Ortega-Arjona from the National Autonomous University of Mexico has recently introduced a new architectural pattern for parallel programming: Parallel Hierarchies pattern.
-
Pattern Oriented Software Architecture Volumes 4 and 5 released
Volume 4 and 5 in the Pattern-Oriented Software Architecture book series has been released. Volume 4 is about a pattern language for distributed computing and volume 5 is an in-depth look of what patterns are, what they are not, and how to use them successfully. InfoQ spoke to the authors to find out more.
-
Retire Microsoft's Four SOA tenets?
Microsoft's Harry Pierson (a.k.a. DevHawk) suggest that Microsoft's own 4 tenets for SOA should be retired because, well, they are, in Harry's opinion, useless - at least they are not useful anymore.
-
Do You Need a Data Layer?
With LINQ nearing release, the need for a separate data access layer needs to be reevaluated. Is it still an essential part of an application's design? Or has it become an appendix of the past?
-
Capistrano gets competition: Vlad the Deployer
Capistrano, a popular deployment tool for Rails, is challenged by Vlad the Deployer, a tool which offers similar functionality with a much simpler implementation. We talked to the Ruby Hit Squad group that released version 1.0 of Vlad.
-
Data normalization, is it really that good?
Normalization is one of the corner-stones of database design. Recently some discussion emerged on the need for normalization suggesting denormalization as a more scalable solution.
-
Presentation: Amazon CTO Werner Vogels on Availability and Consistency
When we move to distributed architectures for scalability and/or fault-tolerance reasons we are also introducing additional complexities. Amazon CTO Werner Vogels dives into the different parameters that play in the tension between availability and consistency and presents a generalized model that we can use to reason about the trade-offs between different solutions.
-
Gang of Four Design Patterns - Does it stand the test of time?
More than a decade ago by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides known as the Gang of Four (GoF) published their seminal book "Design Patterns: Elements of Reusable Object-Oriented Software". The GoF book, which is considered the harbinger of the whole software patterns movement, has recently been criticized as no longer relevant.