It’s been a while since I started to play around with software programming languages. When I was eleven years old I give Basic a first try. I get amazed very fast with loops, the goto function and the possibility of emit sounds at a determined frequency with the computer speaker, also get to know the use of hex colors. Creating interactive scripts was funny because I could create start scripts for my games and favorite applications.
In only a few weeks I became obsessed with the idea of create a videogame so I moved to Pascal and Borland Delphi. A friend of mine discovered a package or IDE for game programming, the software in question was Div Games Studio 2. There was the real beginning, all of my friends started creating games with Div2 it was a great summer (we were kids on vacation) and all of us created really cool demos, but one of us really stood out about the rest, he developed his own particle system for creating really cool explossions almost with no lag, him called the demo supernova.
I learned so much from this friend, it was 3 years older than me and he did a great job on explaining me things about resources consuming and basic topics about optimization and maths.
With the passing of time we discovered Div2 was very resource consuming for the kind of demos we were creating and we started to diverge. I choose the path of C++ when my older friend started with .net and C#.
At this time I already was a big FreeBSD fanboy and GNU/Linux user. So I decided to learn all I could about systems administration and maintenance. I fall in love with servers to be honest, I tried every kind of home made server at my home. So I started to think in the long way about internet gaming so I learned PHP 4, so I begin a long trip of reverse engineering of applications written in PHP, like XOOPS, PHPNUKE and later Drupal and Wordpress. It was fast to create things and funny to have things running on your own computer connected to internet with DynDNS.
But what happens when you grow up as a programmer, you have done a lot of functional programming and you started to realize that being polyglot is an advantage rather than a weakness because you can get rid of old gigantic-monolithic applications and structure applications in a very efficient way. You can create every resource consuming part of your app as a service that can be accessed from any application.
For me right now is the way to go, resource optimization always will translate in saving natural resources.