Consulting Services

Can a DSL improve your productivity? Is it time to migrate to a different language? There are different strategies to consider: which ones provide the best ROI in your case?

Learn how to build languages

Building a language is a fascinating thing to do. Not an easy one. Save time by reading some in-depth material.

Learn how to parse anything

A complete video course on ANTLR to learn how to parse everything from data formats to programming languages

Why do languages matter?

Why am I dedicating my professional life to work with languages?

The reason is simple: I believe that languages can radically change the way we work.

Some examples of what I have experienced:

  • development times reduced from 18 months to 3 weeks
  • feedback cycles drastically reduced
  • possibility to verify properties of your code

But why are languages so powerful?

Because they affect how we think about problems

The language or notation we are using to express or record our thoughts, are the major factors determining what we can think or express at all!

Edsger W. Dijkstra

Dijkstra is one of the most influential computer scientist who ever lived and his words marked me.

Then I went for a PhD, working on the combinations of different languages in a single project. Studying how they could be combined together, learning what are the main obstacles for a company that wants to switch to another language. Since a few years I have been working as an independent consultant, working in the Language Engineering field.

What I have learnt works in practice is:

  1. You learn how people work and build languages around the corner concepts
  2. Then you think about the processes around those languages: what are the different development phases? What kinds of different figures are involved?
  3. Finally you build tools to simplify those processes and multiply the value of the work people put in.

And you iterate, because as languages, processes and tools evolve new best practices emerge and more improvements become possible.

This is what makes this work so satisfying: it enables me and my company to make a contribution by giving more leverage to developers, so they can get more out of their work. I think this is the best investment a company can make.

Want to learn more about DSLs, parsers, interpreters, compilers and language design?