Programming Languages Popularity In GnomeFiles.org November 7th, 2007

GnomeFiles lists apps (in source & binary) created for the GNOME X11 environment and the GTK+ multi-platform toolkit. All bindings, wrappers & their apps are welcome. I got that definition from Gnomefiles website. I am a software developer. It is normal for me to curios the programming languages popularity in GnomeFiles. A long time ago, I sent email to Eugenia, the admin of GnomeFiles. I asked why not put programming language attribute in project page. With that attribute, people can know what language binding is the most popular. She answered that it is not relevant to put programming language attribute for GnomeFiles website. The GnomeFiles website is for end users not developers. At that time she told me the most popular language binding is Python to answer my curiosity.

Time passed by. I decided to find out the programming languages popularity in GnomeFiles as opportunity to practice Common Lisp. My way to find out the programming languages popularity in GnomeFiles as you can see has many flaws. I use 1333 applications rather than full numbers, 1898 applications. I am too lazy to hunt down all applications. To find out what programming language the application uses, I extract the requirement part of application web page. The requirement usually tells us about programming language they use. For example, if the requirement tells us that it depends on gtkmm library, it means it uses C++. But there are applications using C++ as programming language but not use any binding. It uses pure GTK+ toolkit. My query will put these applications as C programming language applications. There are other flaws too. But I can tolerate with these all flaws.

Read the rest of this entry

Getting Wet With Common Lisp November 7th, 2007

I have developed something with C, C++, PHP, Java, Ruby, Python, Delphi, Javascript from the first time I learned programming language. I am quite familiar with those languages. But I want to developed something with programming language which is very “different” with those programming languages I have mentioned. Those programming languages use algo-like syntax. There are Erlang, Haskell, Lisp, Scheme for very “different” programming languages camp. I choose Lisp or Common Lisp as first very “different” language to explore. Yes, in my colleague years, I have learned and developed something simple with CLIPS. But the programming language is constrained to expert system. I want to use very “different” programming language to develop something general. There are many reasons I choose Common Lisp as first very “different” language to explore. One of them is Eric Raymond. He said this:

“Lisp is worth learning for the profound enlightenment experience you will have when you finally get it; that experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.” from http://www.catb.org/~esr/faqs/hacker-howto.html

Read the rest of this entry

Language Enthusiast September 24th, 2006

Yeah, that’s who I am. If not because of time, I will learn all programming languages in this earth. Every programming language has its beauty. I remember back when I was learning C++ programming language, I didn’t want to learn other programming languages. I want to specialize in C++ . I was worried if I would be forced to make software using another programming language (I thought Java at that time). I want all my projects done with C++.

Okay, that is noble thing to do because software written in C++ runs very fast compare to for example, Java or scripting programming languages. But I realize that writing software in C++ is hard. So I gave up. I go to Java. Writing software in Java is much nicer than writing software in C++. So I learn that don’t stick with one programming language. Learn as much as you can.

This semester in my university (september to january, 4 months), I have couple programming languages in my list. I want to learn them then write software or project with those programming languages. What are they? They are Delphi (or Object Pascal), Prolog, and Mozart (or Oz). In this period I want to deepen my knowledge in Ruby (and ROR). But I realize I don’t have time anymore. Delphi, Prolog and Mozart. Until this time Mozart is the most difficult one to grab. I will tell my experience with these programming languages in another posts.

Let’s not forget that I have to do wallpapoz in python programming language and my thesis project in ruby on rails (and mozart in the backend). So I deal with five programming languages in this semester.

Delphi & Pascal September 20th, 2006

I heard about it a long time ago. Some of my university friends learned it in high school. When I was in high school and I used computer only for writing letters or stories, the computer course offered pascal programming course. When I learned programming in university, I still didn’t want to bother my self to learn pascal. I have many things that I must learn. The university used C programming language to teach me algorithm and data structures. Then I get fascinated by Linux. Linux combined with university made me busy.

Time goes by. Sometimes I have time, enough to learn pascal. But why do I want to learn something ancient enough like pascal when there are many cool programming languages like ruby (Ruby on Rails), java, python, c#, etc. So I skip pascal.

Then in this semester (my last semester in university), I have to learn Delphi (IDE and programming language) in neuro computing subject. Delphi is based on object pascal which based on pascal. Okay, then, I learned pascal. I downloaded the ebook from here. I read it like novel. Then I downloaded essential delphi ebook from the same website. I read it again like novel. I skip the part that make me confuse. Ok, I manage to make a simple application (matrix multiplier) using this.

So what effect that Delphi give me to my programming career? Almost none. It just add my programming reference and experince. The main reason is I am moving to web programming. Ruby on Rails is my primary choise. Delphi is mainly about desktop application in Windows platform. I admit it that Delphi is a wonderful IDE. The build process is very fast. But if I want to make a desktop application, no doubt I will not choose this. The reason is a little bit political. I use Linux as my operating system. So I choose Java with Swing or Python with GTK+. Some will say Java and Python are slow. If speed make an issue, I choose C++ with GTK+ or Qt. There is not much tutorial about Object Pascal in internet. Documentation make an issue for me.