Topics

Featured in Development

As part of our core values of sharing knowledge, the InfoQ editors were keen to capture and share our book and article recommendations for 2018, so that others can benefit from this too. In this second part we are sharing the final batch of recommendations

Featured in Architecture & Design

Tanya Reilly discusses her research into how the fire code evolved in New York and draws on some of the parallels she sees in software. Along the way, she discusses what it means to be an SRE, what effective aspects of the role might look like, and her opinions on what we as an industry should be doing to prevent disasters.

Featured in Culture & Methods

Mik Kersten has published a book, Project to Product, in which he describes a framework for delivering products in the age of software. Drawing on research and experience with many organisations across a wide range of industries, he presents the Flow Framework™ as a way for organisations to adapt their product delivery to the speed of the market.

Featured in DevOps

The fact that machine learning development focuses on hyperparameter tuning and data pipelines does not mean that we need to reinvent the wheel or look for a completely new way. According to Thiago de Faria, DevOps lays a strong foundation: culture change to support experimentation, continuous evaluation, sharing, abstraction layers, observability, and working in products and services.

News

At QCon New York 2018, Michael Bryzek discussed how to design microservice architectures “the right way”. Key takeaways included: engineers should design schema first for all APIs and events, as this allows the automated code generation of boilerplate code; and investment should be made in automation, such as deployment and dependency management.

No code approaches aim to support business users in developing and maintaining their own applications, where low code simplifies the developer’s work and makes them more productive. Both approaches enable faster development at lower costs. As the distinction between these approaches is becoming smaller, business users and developers can team up and use them together.

Atomist has launched an Alpha Programme for those who want to try out Rug, the company’s meta-meta-programming language. Rug is used to automate the development workflow by generating repetitive or boilerplate code, and is orchestrated by Atomist. Rug aims to improve productivity when working with distributed systems such as microservices.

PaintCode is a design and development tool running on macOS that is capable of generating code from vector drawings. Its latest version, PaintCode 3, brings support for Swift 3, Android, and JavaScript canvas.

Models play an important role in developing software for autonomous systems like self-driving cars; they are used to simulate and verify behavior, document the system, and generate code. Jonathan Sprinkle explains how to model software used in autonomous systems, the benefits of modeling, using test data to validate the software that drives a car and techniques for writing reliable code.

is an open source platform that enables front end developers to autonomously build backend APIs using forms to drive their apps. The platform provides a single solution for creating both APIs and user interfaces for consumption by a front end javascript framework. InfoQ spoke with the founders of to learn more about the platform capabilities and the future they envision for it.

Hans van Wezep, software architect at Philips Healthcare, talked about model-based migration at the Bits&Chips Software Engineering conference. InfoQ did an interview with van Wezep about the challenges in maintaining legacy software, why manual refactoring is error prone, using models to refactor and migrate a codebase, and the benefits of using models when maintaining legacy software.

By using Model Driven Development component tests could be skipped and integration and system testing went a lot smoother, said Bryan Bakker in the presentation Model Driven Development (MDD) and its impact on testing. Main results from the MDD approach are a reduction of the amount of testing and increased reliability of the code that was generated from a mathematical model.

An important part of ASP.NET MVC is the set of code generators called scaffolds. Inspired by Ruby on Rails, these code generators can be used to quickly create controllers and views based on a model class. New in VS 2013 Update 2 is the ability to create your own scaffolds that plug into the overall framework.

Daniel Schneller illustrates how his team used Xtext to create a textual-DSL that models the navigation paths of mobile applications and generate Java code from it. He provides a step by step tutorial and discusses the advantages of such an approach.

T4 is Visual Studio’s built-in code generator. Though fundamental for many of the frameworks built atop .NET, it is incredibly under-powered. Even the simplest things like intelligently reusing templates or emitting multiple files seem beyond it at first glance. Yet developers such as Damien Guard are finding of ways to improve it.

With the recent release of code generation tools such as Spring Roo from SpringSource, Skyway Builder Community Edition version 6.3 and BluAge's M2Spring, there is a renewed focus on the role of code generation in developing enterprise Java applications. InfoQ spoke with project leads from Spring Roo and Skyway products about how the code generation fits in the java application development.

The recent release of Spring Roo, a round-tripping code generation tool used to develop Spring applications in Java, offers Tomcat, JMS and Selenium support. SpringSource development team released Roo 1.0 M1 version last week.