Tell us a bit about yourself
I’m a programmer at HackSoft and a student at the Faculty of Mathematics and Informatics in Sofia. I like teaching and I teach Java programming courses at HackBulgaria. I’ve also assisted in some C++ courses at the Faculty that I study in. At the moment I’m the lead Scala programmer for Hopper’s team in Bulgaria.
How did you get into programming?
I started programming when I was 14 or 15 years old in high school. The language we studied was C++ and it was amazing for me that I could make the computer do things on my command, whether it was to solve a maths problem, or display graphics on the screen.
Afterwards, I started making simple websites, initially using PHP and front-end languages without relying on frameworks, and later on taking advantage of databases and some PHP and JS frameworks. I realise now that being able to write basic frameworks myself helped me understand how they work when I started using them.
How did you get into functional programming?
I took a course in university that was in Scheme and Haskell and I was amazed of the power of functional programming. The way we presented data structures and algorithms was so different than what we did in C++ or Java, and it was so much easier to solve both simple and complex problems. I clearly remember saying that I would be very happy if I can work using functional languages one day.
Why that tech?
Why Scala? Well, it’s a good symbiosis between object oriented architecture, functional programming and mutability when you really need it. Every language has its strengths and weaknesses, and Scala is no different, but for me at the moment, the strengths overwhelm the weaknesses. Also I wanted to talk about something that’s relatively new. Scala has been around for some time but it really started to shine in 2013 when a whole lot of stuff got added into it, so It’s relatively new in Bulgaria.
Why that talk?
The talk is mainly for people that haven’t had the chance to work with Scala that much. I hope to show them that having the power of functional programming mixed with the freedom of mutability and object oriented design is something worth knowing. I’ll show some interesting ways we can use Scala and why I like it so much.