Scala Days is not only a major event for the Scala community, but also a great place to meet amazing people and get inspiration. If you’ve been to Scala Days in Berlin this year, you might have seen a great talk “Serious Fun with Scala“ by a 14 years old Shadaj Laddad, Scala enthusiast and wunderkind. We couldn’t miss the chance to catch Shadaj and ask him a few questions for our blog about Scala, learning programming, game development, math and science.
At OSCON 2014 you gave a splendid opening keynote “The Wonders of Programming”. At your age this talk has not only made you famous as one of the youngest programmers, but also made you the youngest enthusiast who encourages other people to program. How did it happen that you got interested in programming?
I started getting into programming when I was around 6 years old. My dad got me the (just released at the time) Lego Mindstorms NXT kit, a robotics platform that uses Lego parts but also has motors and sensors that can be programmed with a simple graphical language. I started out following the directions that came with the kit, but in the process I learned how I can make my own creations. Next, my dad got me Learn to Program by Chris Pine. This book teaches Ruby, but assumes that the reader has no previous knowledge of programming. The book showed many interesting applications of programming concepts such as how a simulation game could use a two-dimensional array to store building locations. I continued to learn new programming languages such as Python through another book, Hello World. Somewhere along the line, I started to learn Scala. As I learned about different ways programming can be used for all sorts of applications my interest in programming grew. This still continues today when I see a tweet or a GitHub project showing some interesting technique.
You’ve programed in Logo, NXT Mindstorms, Ruby, Python, C and Java, but Scala is your favorite. Can you tell us why do you prefer Scala? What makes it special? Is there anything you liked in other programming languages?