Consulting Services

Can a DSL improve your productivity? Is 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. You could save time by reading some in-depth material.

Learn how to parse everything

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

Why do languages matter?

Why I am 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 languages are 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 were the main obstacles to switching languages into companies. 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 kind 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: contributing to give to people a better lever, to get more out of their work. I think this is the best investment a company can do.

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