The quest for the perfect programming language continues…

Well, after much work with Erlang, and as cool of a language as Erlang is, I don’t think it really fits so well with the types of software I like to program.  Don’t get me wrong, Erlang is still one of my all time favorite programming languages, but there’s a lot of areas where it’s just not the appropriate choice.  For that, and several other reasons, I have decided that my next undertaking will be learning how to program Gtk+ from plain old vanilla standard C.  There’s a couple of great reasons for this.  First and foremost, if there’s a library for something, you will be able to interface to it with C.  Also, C is still one of the most portable programming languages ever made.  With careful attention paid to coding style and your choice of libraries, your code can potentially compile unchanged on platforms as diverse as Linux, Solaris, FreeBSD, Windows, and even Mac OS X.  That’s powerful.  It is also much easier to distribute C code than the code generated by most other languages.  It produces native code, so you simply copy the compiled binary on the destination machine, and things tend to just work.  Compiling is a little tricky at times, but there are several excellent build tools available today to correct for this problem.  Another major advantage to C is that it is extremely well supported by widely available development tools.  My personal favorite development environment is the “traditional” four X terminals, Vim, and make, with a window manager that supports “sloppy focus” for rapid switching between windows.  I find this setup to be even more productive than most IDEs.  For sheer editing speed, it is really hard to beat something like Vim, or even Emacs (if you swing that way).

Leave a Reply

Please log in using one of these methods to post your comment: 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: