Topics

Featured in Development

Understandability is the concept that a system should be presented so that an engineer can easily comprehend it. The more understandable a system is, the easier it will be for engineers to change it in a predictable and safe manner. A system is understandable if it meets the following criteria: complete, concise, clear, and organized.

Featured in Architecture & Design

Sonali Sharma and Shriya Arora describe how Netflix solved a complex join of two high-volume event streams using Flink. They also talk about managing out of order events and processing late arriving data, exploring keyed state for maintaining large state, fault tolerance of a stateful application, strategies for failure recovery, data validation batch vs streaming, and more.

Featured in Culture & Methods

Tim Cochran presents research gathered from ThoughtWorks' varied clients and projects, and shows some of the metrics their teams have identified as guides to creating the platform and the culture for high performing teams.

News

The first two deployments of the Python 3.8 development branch were released this month, on the road to releasing the final version later this year. The fastest growing programming language as measured by Stack Overflow is starting development on the next major version a few months after 3.8 was released in June 2018. In this news article we will see the major features in this new version to date.

Colm is new a programming language designed for the analysis and transformation of computer languages. Colm's main contribution lies in the parsing method. Colm was designed by Adrian Thurston, as part of his Ph.D. work.

In the beginning of last year, Ehud Lamm launched on Lamba the Ultimate a thread about programming languages predictions for 2008. Several subjects popped up: concurrency, functional programming, future of Java, Ruby, C++, and many others… What really happened in 2008 and what are the prospects for 2009? Bloggers have addressed these questions on demand of James Iry, echoing at last year thread.

Meta Programming System (MPS), a new Language Oriented Programming tool from JetBrains, allows the developers to extend programming languages as well as create Domain Specific Languages (DSLs) for enterprise applications. JetBrains development team recently announced the release of beta version of MPS software.

Have you ever wondered why people talk about having "the right language for the right job"? Or why people talk about using more languages within the same system? Sadek Drobi explains why you should consider mixing languages within you system, how to think and what to consider.

In this article, Alex Ruiz and Jeff Bay describe Java's suitability as a DSL-producing language, delve into the creation of internal DSLs in Java, walk through an example of a Java-based internal DSL, and give recommendations on writing DSLs in Java.

Martin Fowler unveiled some details about his upcoming book on DSLs through his Work In Progress gateway. In the draft of its introductory part, Fowler gives an example of a Domain Specific Language case and provides some new insights on DSLs, their implementation and use.

Jay Fields and Zak Tamsen talked with InfoQ about Domain Specific Languages (DSLs), and how they have successfully used them in their projects at ThoughtWorks to empower businesses, reduce development time, and increase the agility of projects.

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.

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.