Saturday, September 15, 2007

What kind of a programmer are you?

I really like watching Google's TechTalks, since they bring some brilliant lecturers, and sometimes they find fascinating topics to talk about.
Lately I've been watching the talk about Quicksilver, which is, in short, a sophisticated command line interface to many common computer tasks. I really wanted to have such interface for my own computer, but I couldn't, since I use Linux, and Quicksilver is a Mac-only product. So, after a short search, I found some alternatives, and decided to give Gnome Launch Box a try. After using it for less than an hour, I decided that this is a great piece of software, and that I should help in development. So I checked-out the source code using subversion, and started browsing it. The source is C code, which I hadn't programmed since the second year of my B.Sc, which was about 7 years ago. Even though I thought I was quite good at C, my brain wouldn't want to watch the horrible look of C and Gtk+ source code, so I decided to leave it to those who wouldn't care hacking in C.
After some reading and googling, I found a fork of Gnome Launch Box, called Gnome Do, which is actually a port of the source code to C#. Now we are talking. Finally I can start coding and contribute to the community that created such a wonderful product. But then again, reading the source files made me think that most of it is about GUI, and very little is about the "brain". I hate GUI programming. I think that's because I was never good at it. So instead of giving it a try, I left it, promising to myself that maybe sometime soon I will get back to it, overcoming my "hatred" of GUI programming, and contribute back to the product that I think that really deserves it.
What do you think? Am I weird? Is it wrong that one would prefer a specific kind of programming? Does experiencing in different types of programming makes you a better one?


  1. I don't think you are "weird". you can find this in every profession.
    For example: I play the piano.for about 5 years I learn classic music, and then i switched to Jazz.
    Today, I'm able to play both, but
    in classic I don't feel at best.

    Having said that, I do think you should have your preference, but don't make it a disability :>

    Keep on writing!

  2. After writing this post i decided i really have to give it a try. so i compiled the source code, found the first bug, and fixed it!
    now i submitted the corrected source file back to the author, so my fix could be included on the next release.
    that feels real good and i'm glad i went on with it.

  3. Seems very reasonable to me, and I had similar thoughts on this...
    I think it comes down to wanting to solve a problem or find an algorithm and not getting stuck in the implementation details. I mean - I don't want to write in C and worry about memory allocation unless it's an inherent aspect of the problem itself. I find it interesting to design a user interface which is usable and intuitive, but then actually coding it in say, Java, can be very tedious and unrewarding.
    So I prefer a language which allows you to state your ideas concisely, and as closer as possible to level of abstraction in which you're thinking.
    That's why for some problems I like Perl, despite it's arcane syntax - it's short and to the point.

  4. I think i am the GUI programmer you talking about, i love to write GUI (As You Know). it is nice to write the logic in the back but when someone will have to use this program, you need an excelent GUI to attract him, you can put the best algorithem in the program but if it noy useable it doesnt worth anything.