Saturday, July 04, 2009

The Choice of Programming Language for Linux isn’t an Easy One!

Among all the myriad choices that one has to constantly make in life, one would imagine that choosing a programming language for developing an operating system would be a relatively easy one, especially if the OS in question happens to be Linux. Surprisingly, that is not the case at all. Unknown to many, Linux too can be developed using a variety of programming languages. Herein, we consider some of those and look at all theirs pros and cons.

C and its variants of course continue to remain some of the most popular programming languages for developing any Operating System, be it Linux, Windows or any other. It doesn’t matter whether the language in question is C, C++, C# or Objective – C, your work will still be done fine. What is important to keep in mind though, is the fact that C is pretty much a straightforward sort of a programming language, especially in this context. So, if you are looking at building up a more tweaky and customized version of your Linux, you may well consider other programming languages in the anvil.

One such language would surely be Python. It definitely allows a greater degree of customization and flexibility, in comparison to C. On the whole, Python’s design philosophy itself epitomizes the ease with which code can be read. Python’s flexibility comes from the way it has been designed ground up – as a multi-paradigm programming language, implying that programmers are free to choose their own individual style of programming, be it object-oriented, structured or any other including functional programming as well as aspect-oriented programming. Due to the fact that Python follows an open-source, community based development model, Python is in fact often shipped as a standard component of numerous Linux distributions, be it Red Hat Linux or Fedora. They both feature the pythonic Anaconda installer. Gentoo Linux also happens to make use of Python in its package management system, Portage. On the flip side, many programmers find Python’s rather unconventional indentation system rather quirky and bothersome, but in the face of a decent text editor, that should not be an issue at all.

Java is another programming language that is getting groovy among the Linux programming community. The biggest plus point would be the fact that Java does away with some of the rather difficult and unstable aspects which Linux is prone to, while ensuring that the underlying code base is left rock solid. Using Java to build Linux also brings in a certain element of robustness wherein multiple applications can be made to run on manifold platforms. Java in fact, has many positives going for it to be a Linux programmer’s language of choice. It is fast, extremely portable, well-supported, can scale up very well as per the need of the hour, offers superb IDEs, and is backed by a large body of libraries and sample code, not to forget the fact that Java itself is open source!

So, what’s the verdict? If you ask me, the choice is a very difficult one. Knowing C for developing Linux is surely a given, and Python offers numerous advantages, but considering the plethora of features that Java has on offer, I would give Java the thumbs up!

No comments: