Programming: It's all about knowledge, not language
A few months ago, as I got a bit more involved in Web Design, I did a lot research (google) about alternatives to PHP. I already did a lot in this programming language, but never really liked it, because it seemed too big and heavy because of its enormous amount of libraries and the $-sign for variable-definition. Well, the most important factor for me was that my code didn’t look very beautiful. Through Lua and C++ I came across a lot of Object-oriented Programming (OOP) – it looks very clean, because you have all these different classes and member functions which do exactly one thing you define instead of having some procedural approach with endless lines of code.
This is why I focused a bit on Ruby and its web-framework Rails. I quickly turned away from Rails, not because I didn’t like it, but because it did too much for me and I wanted more control over the base and handle all database-connections, page-generation and so on. Ruby itself was appealing to me, because on the one hand all variables are an object (sounds like OOP, eh?) and on the other hand I liked its way of handling functions and enclosures … and well, at first I didn’t understand the syntax, so I got interested in learning it :P
Then came the time where I thought about purging PHP from my server and to only develop further applications in Ruby. But soon I noticed that I’ve done too little Ruby to really get the hang on it and be productive, so as soon as I wanted to transfer WiredSocial to the web, I got back to the “old and ugly” PHP.
And guess what I noticed? It doesn’t make a difference! Well, of course, somehow it does, but I noticed that there was no problem to develop OOP in PHP after I gained the knowledge of it from C++, Lua and Ruby. So, no endless procedural lines of code anymore – but rather a lot of clean classes which do their job. And this was the time when I noticed that the “ugliness” doesn’t depend on the language, but on the programmer – the more you learn, the cleaner looks your code, but that doesn’t mean that your old language stays as cluttered as it was before.
P.S.: There’s only one really important language: RegExes – The rest is up to your preference.
P.P.S.: Almost – never use Visual Basic!