In this talk, I am going to present some of the useful but often underestimated features of modern programming languages such as Python, Scala, R and Go. General techniques such as querying and parsing data, as well as passing data between processing units, will be covered. In order to make the code reusable, more readable and easy to modify throughout the lifetime of a project, or even across projects, several design principles will be shown, including higher-order functions and inversion of control. Finally, some tips on testing and benchmarking will be provided. There will be many real-world code, but the focus will be on explaining broader concepts.


Leo Osvald is a PhD candidate at Purdue University, where he works on programming languages and algorithms. His research focuses on improving high-level languages, in particular object-oriented and functional ones. He has worked on extending their type systems as well as optimizing and understanding their run-time performance. Among Leo's earliest accomplishments are awards at international competitions in computer programming such as TopCoder and American Computer Science League, during which algorithmic problems are solved in limited time and memory. More recently, he received the Distinguished Artifact Award at the international conference of on Object-Oriented Programming, Systems, Languages, and Applications. Outside academia, Leo improved software infrastructure and tools while working for Facebook and Yelp, and developed a scalable and robust algorithm for enhancing aerial images at Google.​