Philosophical Multicore

Sometimes controversial, sometimes fallacious, sometimes thought-provoking, and always fun.

Programming Language Review

Posted by Michael Dickens on August 23, 2009

I am by no means a programming expert. And in ten years, I may look back and say, “What was I thinking?” But nonetheless, here is a review of various programming languages.

I tried to learn this when I was about ten years old. It didn’t work.

BASIC was written in 1964 to try to provide an easy-to-learn programming language. Since then, dozens of superior easy-to-use languages have been made such as Ruby and Python. Don’t try to learn BASIC.

I learned Python for a school project a while back. It was very easy to learn — I was fluent enough after I had logged only about five hours — but I did not like it. There are better alternatives. Python is very easy to learn, use, and read, and it’s a good language to learn when you’re just starting out. But after that, I don’t see that it serves much use. It’s slower than C or Java and it’s more difficult to use than Ruby. Sure, some people may like it. That’s fine. You might like it. It’s easy to learn, easy to use, and easy to maintain. I happen to like Ruby better.

Ruby was the first language that I learned. It is very slow, but there is so much that it can do. It has some very elegant features, and it is very broad in its capacity. Everything is an object, including numbers; one feature that I particularly love about that is this:
100.times do
# something gets done a hundred times

Is that awesome or what?

C is a solid low-level language. It’s hard to get a handle on, but there aren’t many features so you can learn it quickly. Especially in its favor is that it is very fast. I would recommend it for anyone who is writing either a simple program or a program that needs to be efficient.

On the other hand, C has some serious difficulties. There is no garbage collector, so you have to do all of your own memory management. Pointer arithmetic can get tricky. Working with arrays is much harder than in Ruby or even Java. This can work, and can even encourage more elegant code, but it’s harder.

Much like C++, Objective-C is an object-oriented extension of C. It has some fun syntax, and it has some annoying syntax. It’s easier to use than C, but not by a lot. Some people like it; I think it’s a decent language. Its portability is limited, since it is mostly only used for Mac and iPhone development.

Objective-C allows for a much broader perspective than C. You still have to deal with pointer arithmetic and such, but the objects make the daily grind so much easier.

Where to begin? For many purposes, I find that Java strikes a perfect balance between speed and ease of use. It is one of the fastest languages out there (though not as fast as C), has relatively easy syntax, and its massive standard library makes life much easier. It is suitable for many applications, and fun to use. It bridges the gap between low-level languages like C and high-level languages like Ruby.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: