Domain Specific Languages

Domain experts and developers do not understand each other.

The feedback cycle is way too long and when developers present a result to your domain experts they shake their head: this is not what they expected.

By using a DSL domain experts and developers can collaborate: feedback cycles are reduced dramatically and you can ship in weeks what used to take months.

You are developing a specific kind of applications but each time is almost like restarting from scratch.

Your time to market and your costs are way too high.

With a well-crafted DSL you can reduce development time by 10-20 times. Your costs would reduce accordingly and you will be able to react very quickly to the demand, evolving your product or service at a pace which is unimaginable with traditional development methods.

Your platform is not flexible enough, limiting your users.

They cannot really take advantage of the power of your solution because configure and to adapt it is way too difficult.

Using a DSL specific for your platform your users could achieve so much more. Let’s discover what your power users can do, using your product.

Domain Specific Languages (DSLs), tailored for your domain and to support the processes specific of your company can have a huge impact on productivity.

I can support you in:

  • understanding how you can benefit from DSLs
  • choosing the best technology for your case
  • design the DSL
  • implement it

I work with different technologies. You can read more about my services specific on ANTLR and Jetbrains MPS consulting or you can contact me at federico at tomassetti.me.

Code comprehension and automated refactoring

Large codebases are an extremely valuable assets for companies. While mantaining and evolving them can be very expensive, they can rarely be completely replaced by new projects.

I work with companies to build tools to examine their large projects and extract relevant information about the organization of code and its quality. I could also help performing automated refactoring to improve the quality of code, to migrate to a different framework or paradigm or even to a different language.

You can read more about my code processing services in the dedicated page.

R&D activities: evaluations and prototyping

When evaluating the adoption of new technologies an external pair of eyes could be beneficial. Having worked in very different contexts I have enriched my toolbox and I can help comparing different solutions.

Experience with different technologies make easier to build prototypes rapidly and effectively

Want to know more?

I know, finding technical help is not the easiest thing.
Hopefully I can be the right person to design and implement your projects.

If not I will try my best to give you the right directions and help you find who can help you.