Me being distracted by cats

I like learning a new programming language. I’ve learnt C++, PHP, JavaScript, Python, Ruby, Scala, etc. I use some of them much, and hardly use the others. However, I’ve enjoyed learning every language at the first time, but at a moment I suddenly started to think that something in the language keep irritating me. Sometimes it’s the language itself, or sometimes it’s its environment.

The language which once really fascinated me was JavaScript. With Node.js, which is one of the best platforms I think, I’d done many projects, some of which were open source. I really enjoyed coding using its functional concept and also loved its minimalistic ecosystem. JavaScript is quite simple and easy to learn(at least, at first glance), so many developers are interested in it and contributing to several projects. Actually, I still think it’s the best language community and love it. However, verboseness such as callback hell or difficulty in OOP has annoyed me.

Recently, I started coding with Scala and it’s given me lots of fun. It provides much better type safety, OOP and even functional concept than JavaScript. Also, I was totally fascinated by the simplicity and elegance of its grammar. I felt it was rather perfect. When coding with Scala, I felt like I wrote a code in the simplest and most elegant way like a boss, though I knew I was just a beginner. For a while, Scala really worked well.

However, when it’s about my personal (usually small) project, I can’t help being reluctant to use Scala for it. Especially, writing code in Scala is a true joy, but scaffolding a project with it is absolutely not. Even though my project is so simple that I can make it with one script file in Node.js or Python, in Scala I should start from sbt and bunch of things which are essential but not fun. And as I found, there’s no web framework which is small and simple enough to use for the personal project. For sure, there are good frameworks such as Scalatra and Play, but none of them actually works well with me, specifically with my personal works.

Currently I don’t want to write a code in JavaScript because I’ve found a better language, Scala, and can’t find a reason to use a worse one. However, I found that Scala is also not perfect to me. In fact, so was Python, Ruby, or other languages in the past, for different reasons.

So, I’m going to try another language in a while. To be honest, I feel a bit ashamed that I master none of my languages and just wander about. However, I personally don’t do anything if there’s no fun, and learning a new language is lots of fun! Now I’m interested in Go and Clojure, so I’d like to try one of them. I’m not sure if it will work for me this time or not. I may settle down to it or try another language so far, but no problem. I’m happy with it.