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

A book on creating languages and supporting tools

From some time I have been working on a book about creating languages. Why? Because I think that languages are extremely useful tools and by creating languages and supporting tools we have the power to change completely how people and organization works. I have seen the effect languages can have on productivity in real companies […]

Parsing Any Language in Java in 5 Minutes Using ANTLR: for Example Python

  I like processing code for several purposes, like static analysis or automated refactoring. The interesting part to me is to reason on the models you build from the Abstract Syntax Tree (AST). To get there you need a way to get the AST from your source files. This can be done easily using ANTLR and […]

Getting started with Jetbrains MPS: how to define a simple language (screencast)

I am blessed (or cursed) with having many different interests in software development. However my deepest love is with language engineering. There are different tools and techniques but Jetbrains MPS is particularly fascinating. To help people getting started or just get the feeling of how it is to develop with Jetbrains MPS I recorded this short screencast. […]

Getting started with JavaParser: analyzing Java Code programmatically

One of the things I like the most is to parse code and to perform automatic operations on it. For this reason I started contributing to JavaParser and created a couple of related projects: java-symbol-solver and effectivejava. As a contributor of JavaParser I read over and over some very similar questions about extracting information from Java source code. For this […]

How to recruit freelancer for software development: where to look for them, how to find and choose candidates

How to recruit freelancer for software development: where to look for them, how to find and choose candidates

Many people come to me with questions about a project they want to have developed. Perhaps they have a business idea, perhaps they need some software to simplify their lifes. I know directly a few of them, others have asked hints to someone who directed them to me, others met me at some meet up […]

dynamic, static, optional, structural typing and engineering challenges

Dynamic, static, optional, structural typing and engineering challenges

How an engineer should NOT look at technical matters Dynamic versus static typing is one of those confrontations that seams to attracts zealots. It really sadden me to see how people tend to defend vehemently their side simply because they are not able to understand the other position. In my opinion if you do not get […]

An introduction to Spark, your next REST Framework for Java

An introduction to Spark, your next REST Framework for Java

This is a post I wrote for the Java Advent. It was initially published here. Today we’re going to look into a refreshing, simple, nice and pragmatic framework for writing REST applications in Java. It will be so simple, it won’t even seem like Java at all. We’re going to look into the Spark web […]

5 key aspects for a successful open-source project

  I love open-source: for me it is great way to develop any product, to acquire new skills, to have fun and to make something useful for the community. I am not an open-source rock-star (at least not yet :D) but I have created and contributed to tens of projects (take a look at my […]

My first six months as a Software Engineer Freelance

What I Learned in Six Months as a Software Engineer Freelance

I think many of us are attracted by the idea to start their own business. This was something I was dreaming about for a while. One day the context was right and I jumped in. Six months after this is how things are going. How I ended up being a freelancer At the end of […]

Good clients, bad clients: how to recognize bad clients and how to deal with them

Good clients, bad clients: how to recognize bad clients and how to deal with them

I think that one of the core activities of freelancing is to interact with other human beings.  In many cases it means to build productive working relationships with people who you have not met before and doing it quickly. In building relationship between professionals we have to agree on some rules and to stick to them to protect us […]

Course: Using ANTLR Like A Professional

ANTLR Course Image

A complete video course on parsing and ANTLR, that will teach you how to build parser for everything from programming languages to data formats.
Taught from professionals that build parsers for a living.

Strumenta – Consulting

If you need help designing and developing DSLs, languages, parsers, compilers, interpreters, and editors you can check the services page of the Consulting studio we founded: Strumenta.Strumenta Logo

Blog Categories