Maciek Próchniak
I’m developer/architect having more than 15 years of experience in IT – but my roles vary from analysis to deployment. I’m mainly interested in JVM (Scala in particular) My main fields of interest are functional programming, stream processing systems (Akka, Kafka, Flink) and integration. I also like to give talks at conferences – Confitura, HeapCon, Devoxx just to name a few.
Talks
-
Programming languages - somewhat similar, wildly distant or just with different idioms?
In the last 18 years I was programming almost exclusively on JVM - Java, Scala, Kotlin etc. This year, I moved to different ecosystems - Python, Rust, even Go. At first, the languages seem quite different - syntax, libraries, etc. At a second glance, everything starts to look familiar - functions, interfaces, types have much in common. But after a while, you start to discover interesting things - how similar concepts can lead to different idioms and styles due to different implementation or design. In this talk we’ll have a look at some of those differences - types, resource handling, method dispatch etc. Why idiomatic Java code can work, but be ‘weird’ in Rust - and vice versa.
-
How to call in a foreign language? With an Interface!
When we think about an application or a service, it is typically written in a specific programming language, such as Python, Java, or TypeScript. However, sometimes one language is just not good enough. It can be pluggability, performance, some unique libraries or just the team preferences. How can we combine C with Java or Rust with Python? We’ll explore different ways in which languages can communicate with each other in a single process, such as scripting, FFI, and Web Assembly. How do they work under the hood (and what is the lingua franca?) What are the benefits, drawbacks and caveats? In Python, Rust, NodeJS, Java, and maybe more!