Oleg Šelajev is a writer, engineer, speaker and a developer advocate at ZeroTurnaround. He spends his time writing code, writing tests, hoping it all works, and writing blog posts about it later. He is also somewhat pursuing a PhD on dynamic software updates and code evolution. Oleg is a part-time lecturer at the University of Tartu and enjoys participating at conferences like as JavaOne, JavaZone, GeekOut, etc. In his free time, Oleg is a Virtual JUG leader, plays chess at a semi-grandmaster level, loves puzzles and solving problems.
In this session, we'll create a new programming language called DevoxxLang! We'll construct its grammar, semantics, operations and the interpreter for the language. Additionally, we'll learn about parsers and how to perform simple optimizations, both at compile time and otherwise. Most importantly we'll tackle the interoperability problem with the underlying platform, which in our case is the JVM.
This session will briefly discuss type systems, optimizations, memory management and concurrency issues that programming languages all encounter. Have you ever wanted to create a programming language of your own? After this session, you will have seen all the tools you need to do so and will understand more about how are programming languages work including the challenges you’ll face.