Jaroslaw Palka — So you want to write another JVM language?

In recent years we have seen explosion of languages which run on Java Virtual Machine. We also have seen existing languages getting their implementations being rewritten to JVM. With all of the above we have seen rapid development of tools like parsers, bytecode generators and such, even inside JVM we saw initiatives like Da Vinci Machine Project, which led to invoke dynamic in JDK 7 and recent development of Graal and Truffle projects.

Is it really hard to write new programming language running on JVM? Even if you are not going to write your own I think it is worth to understand how your favorite language runs undercover, how early decisions can impact language extensibility and performance, what JVM itself and JVM ecosystem has to offer to language implementors.

During the session I will try to get you familiar with options you have when choosing parsers and byte code manipulation libraries. which language implementation to consider, how to test and tune your «new baby». Will you be able after this session to develop new and shiny language, packed with killer features language? No. But for sure you will understand difference between lexers and parsers, how bytecode works, why invoke dynamic and Graal and Truffle are so important to the future of JVM platform. Will we have time to write simple, compiled language?

  1. Jaroslaw Palka
    Spent last 15 years in IT working as database and system administrator, developer, architect, manager and "on site disaster engineer". At the moment works as chief architect in Lumesse, European HR SaaS solution provider. Involved in small, medium and horribly and nonsense large systems, from "waterfall" through Agile to "no methodology" methodology. Thinks that it doesn't matter what you do as long as you do it right, keep it simple and use the right tool to do the job for you. Loves TDD, Software Craftmanship and beautiful and simple ideas like REST, JavaScript and NOSQL. Spent a lot of time exploring ideas like system thinking, system dynamics, strange attractor and complexity theory. Trying to make a world a better place as member of SSEEP and blog author. @j_palka