It seems like forever since I last posted a blog entry. This is less that I haven’t written, just that I haven’t published. It’s difficult for me to “stay focused” sometimes when there is simply so much happening so quickly in the open source community around me.
It seems every week something new catches my eye, but I barely have time to learn it, much less apply it to any real world problems. This is truly an exciting time in the open source world.
I can recall the early days of the web when I used to go to the Yahoo homepage and look up “Programming Languages” in their index. Now, there are so many programming languages, that it’s simply impossible to keep up. But, there’s a few things that have been on my radar for a while, and I wanted to quickly document them because it seems to me that these new technologies have a long future ahead of them.
The first is NoSQL. I’ve been following NoSQL and tinkering from time to time, but I haven’t yet built anything public with these tools. I’ve heard from a close friend and colleague that they crack under heavy demand. More on that later.
The second technology trend is “functional programming”. First experienced with CouchDB, written in Erlang, then I’ve been seeing “Haskel” and other programming languages popup from time to time. I find that I really need to study pre-calculus and/or calculus though to really appreciate these languages and their roots.
The third and perhaps the most compelling to me at the moment is “JVM” languages. Quite ingeniously people realized that while Java has become a bit bloated, there was a simple elegance to having “virtual machines” that already ran on every platform. So people started porting languages like Ruby and Python to JVM, and now with the introduction of Groovy and Scala, we’re starting to see Java completely redefined. I have started to learn Scala, and it’s actually really intuitive.
Lastly, there’s “non-blocking” frameworks, most notably server side javascript and Nodejs. I did a little test with nodejs, just building a simple template driven site for my wedding, but I never really finished it – mostly because at the time I was building it, the main packaging framework was down due to a couchdb replication failure, so I had to resort to manually installing dependencies… by the time I went through that, I really didn’t have the energy to do much more than a basic templating system. Of course I could have saved myself many hours of work if I had used something like the Express web framework (basically created by Sencha), but as npm was down, there just wasn’t an easy way to deploy it at the time.
Unfortunately, my day job provides me with no opportunity to play with these new technologies, so I am limited to a few hours a week or maybe a weekend day when my wife is busy with errands, but I’ll always do my best to stay on top of what is new, and fresh in the world of web applications. Even did a little studying of iPhone application development a few months ago, but didn’t get much further than the basic tutorial app.
My big problem seems to be there’s so many great product ideas, but I only have a limited amount of time to build one, so I need to choose something that’s fast and easy to build, and provides immediate value. Still working on that, but I’ll let you know.