Friday, April 17, 2009

Programming

As part of my "self-development", I have been working on teaching myself a series of new programming languages. The first of these I decided on was Python. In roughly 2 weeks, I have become about as comfortable with programming in Python as I am programming in C++ which has been my "workhorse" language for over 10 years now. It's just so dang easy to get things done in Python, much more so than in C++. I am starting to come around to a new way of thinking that I have seen in the "hacker" community (not the break-the-law "cracker" types, but the true see-a-need-fill-a-need "hackers"). Programming languages are like a toolbox. If your toolbox only contains a hammer or only a screwdriver, you will be able to tackle only specific types of projects well and others you will struggle with to varying degrees. If you learn several varying languages, however (in essence, filling your toolbox with multiple different types of tools), you can tackle a vast majority of projects with relatively the same amount of ease.

I have 5 languages on my list of known/to-learn programming languages. C++ for those instances where a program absolutely needs to run at top speed (graphics and bigtime math programs), Python (I'm thinking is going to be my general purpose (swiss army knife) language, Perl because so many web items (like CGI scripts) are already written in it (I may not code in Perl, but it wouldn't hurt to be able to read it), C# for it's platform-independance because of the Common Language Runtime (and I already know some so that elevates it above Java for me), and finally Lisp because it's been recommended as an advanced programming language that will change the way a programmer thinks about programming (and busting out of the box is almost NEVER a bad thing).

The other thing I found interesting last night as I was awake tooling around on the internet from 1am to 5am were the "sacred cow" arguments between the Perl Hackers and the Python Hackers. There was a lot of arguing about which language was "better" and a lot of them seemed to me like wisps of cloud dispersing in the wind - that is, with a lot of personal opinion and not much substance. I'd seen this phenomenon in other areas like my ASL wargame hobby, but I guess did not really think to see it in a "professional" setting. I began to wonder how many other, similar environments I would find "like" discussions in. Then I went to bed, thinking I'd probably never dredge up the energy or curiosity to find out...

No comments:

Post a Comment