I was wondering what is the preferred language for free software developers?
[polldaddy poll=1903950]
I plan to start developing for ubuntu in Karmic+1. The reason why im asking about what is the preferred language is because ubuntu and linux distros in general have a mix of languages. Rhythmbox is written in C and the update manager in ubuntu is written in python…etc. I know that languages all have a purpose, like python is great for making a program quickly but because its a scripting language it isnt as fast as C or even Java.
Novell obviously uses C# because it created Mono and it would be a PR nightmare if they made the language but didnt use it.
In Gnome-Shell interestingly they use JavaScript for the front end code and instead of using GTK, they use clutter (Because it looks awesome).
I just find it really interesting how many development languages are being used.
Tags
9.04 9.10 Adobe Apple Banshee bug day Chrome Evolution Fallout3 Firefox Free Software Games Gnome Gnome-Desktop Gnome-shell Gnome-Zeitgeist gnome 3.0 gnome activity journal google Google Chrome HTML5 Ireland Irish Irish Education Irish politics Irish Translations karmic Kernel Linux lucid Mac Me Microsoft Open Source parental control quickly This blog translations Ubuntu Ubuntu-ie ubuntu 9.10 UDS webkit windows zeitgeist
Novell use plenty of languages, not just C#
Generally though, Python is the current “miracle cure” for most, even if it personally causes me ulcers (I find C# infinitely nicer for app development)
OpenCobol of course. You younguns!
Pingback: Ubuntu Development « Shane Fagan's Blog
@shanefagan Yup. In fact, contrary to popular belief, it is still the most used language in the world. Your entire financial system runs on it. It’s just that most of the new code (brand new and maintained existing) is not written in the west.
OpenCobol is doing some awesomeness thanks to Roger While and others.
I’m just curious, what are you planning to develop for Karmic+1?
Well im going to do some Gnome-Shell stuff because im a UI designer. Ive also wanted to make system janitor a little better too so ill look into that too.
Python. It’s fun to code, so you attract more developers. It’s quick to code, so you get more done. It’s well established, so you have a larger base of tools to work with.
Perhaps most importantly, it is a non-compiled language. Python code is, unlike code in most other languages, a natural open source solution. The act of distributing a program and providing its source is one in the same.
Interesting but still isnt the base of the language ie the syntax etc still very similar to cobol written back in the 50s?
@shane, Cobol ’59 compared to Cobol ’85 is vastly different. It’s like the difference between Php-FI and PHP5. While each has similarities to its ancestor, each also has much more.
I say Cobol ’85 because that is the standard just about all Cobol compilers are sure to support. Many support portions of the 2002 standard (and the ones between ’85 and 2002), as well as many of their own extensions. (The Cobol standard defines how you can extend Cobol).
Now, while there are these differences, for instance Cobol ’59 didn’t have support for procedural program, most (if not all) of the compilers will still compile code that was written in the 60s. Thus programs that were written then will still work, and code using the new features will still work.
If you are familiar with Cobol ’72 or ’85 (which is most younguns) then the Cobol of today is very similar to that. On the other hand if you are familiar with English you know Cobol. Personally they should have made Cobol in Gaeilge. Also one final word, Cobol like most other languages has many ways to do something. A lot of the challenges I’ve received to how “bad” Cobol is, were simply things I would never do in Cobol. I am working on an Article for Cobol Magazine on the Myths of Cobol. When it is published I’ll point you to it. (And no not trying to convince you to use it, cause we all have our loves and I think folks should program in the languages they love. Unless that language is French. Then I take exception [grin]).
Hmmm interesting, ill give it a read when it comes out. I always like to keep up to date and check out everything.
@Shane,
Actually reading that you like Python, in some respects Cobol has a few similarities. So I’ll keep you posted and I’ll keep paying attention to your blog (been watchin it for a bit on the planets) to see what you say about Python.
Aoirthoir, you are serious about the Cobol thing? Congratulations, you must be the first guy I see on the internet that likes it.
Take a look at Vala language: http://live.gnome.org/Vala
The syntax is similar to C#, but you don’t need a new runtime environment to execute the code because It’s converted to C
For me there’s only one language that rules them all when it comes to working on open source projects – Python. I love Python and many other Ubuntu developers like myself work exclusively with it, so it’s a natural language for any project we work on.
Would be nice to have on board though
There’s always Ruby; as an alternative Python which itself is pretty cool. And with nice bindings into the Qt4 toolkit (and KDE too) it marries the fun of Ruby development to the slickness of Qt. I’ve recently put an article together on KDE Techbase to get up and running with Qt Ruby at http://techbase.kde.org/Development/Tutorials/Developing_Qt4_Applications_using_Qt_Designer_and_Ruby_on_Kubuntu
Works nicely on Ubuntu as well as Kubuntu!
Hey i as wondering if i plan to write software that allows the use of universal serial bus, what would i use to write it?? because for the reason i am a zune user and would love to write something that would allow zune to be used in UBUNTU
Well the zune is made by microsoft and they kept it all proprietary and not many people have zunes. You would have to develop it on two fronts, you need to develop some kernel stuff and also you have to do some collaboration with the music/media players. So its a good bit of work. The kernel stuff would be the hard part you would have to reverse engineer the way the zune loads data and sends data. Then thats more or less it.
I just meant for new programs made by novell like Banshee.
Like Mono itself, Banshee wasn’t started by Novell
I knew that mono was started by ximian and then it was bought by Novell but who started Banshee?
Aaron Bockover started it back in early 2005, before novell hired him
Ah I like banshee it needs to speed up development though because songbird is developing really fast. In my eyes banshee is the best media player in linux looks wise and its mostly stable but is still lacking some features.
Songbird is… I dunno, I’ve never really gotten on with it. I mean, Xulrunner, really? I agree that Banshee has a few snags here & there, but it’s lovely to sync music to my phone under Ubuntu.
You could always write code for features you want :p
Well yes but I dont have a clue how to programme in C#. Id love to see upnp, I even asked on the mailing list but I didnt get any real interest from any of the developers. On the songbird front I dislike the UI with a passion, it looks ugly. They really need to do what firefox did and make the UI neutral so it looks good in all systems.
Serving is split out into a distinct task handled by the “tangerine” app which is now back in development after a long hiatus. Banshee already does client work.
Songbird needs haxing on every platform to make it look mostly native – because it uses the same toolkit (Xul) as Firefox.
Cobol what!? People actually use that?
Ah but it wont be taken up for desktop development because its a little too strict. The funny thing is I wouldnt be surprised if the Irish financial system runs on Fortran. I know that the tax office runs on something silly.
@shane,
Ah when I said your, I didn’t mean Irish specifically, but the human financial systems. The majority of financial, banking, mortgage and other systems run on Cobol. The cost to convert has been simply too great. Besides that a lot of business info is on Cobol.
As to Cobol being too strict for Desktop systems, I’m not in agreement. Cobol on Windows is pretty powerful in all its versions. It is true that the OpenCobol team hasn’t got full desktop integration yet, but Screen Section is viable in the 1.1 pre-release. Also experiments have been done with TCL/TK, GTK+, of course Browser based with HTML/CSS/JS, Vala and a couple of others.
Cobol’s grown a lot since the initial release, it’s interesting that most folks don’t realize it’s seen continued change over the decades such that now its OOP and the latest standard is about to be released (2009). While it started out as a domain specific language (before we used that term), it’s grown into a general purpose language. Personally I’d not use it for some things (intense graphic applications like games, XCAD or GIMP type painters) but other than those extremes it’s really usable for most things.
OpenCobol in particular has an excellent method for hooking, just simple C libraries. So if it can be done in C, a function or new word can be created or even just CALL[ed] from OC.
I’m done but yeah I dig it, and yea we’re using it on the desktop:)
Very true. I love python myself.
@Bart Vader,
You’re not looking very hard then. Of course if you only hang around with folks who’ve never actually used it, you’re going to find folks who don’t like it. Most often the reasons they have are just plain silly. My favorite reason:
“I don’t want to have to code in all caps.” And this generally from folks who program in case sensitive languages.
In any case, Cobol is still the most used language in the world. It’s popularity hasn’t waned, only its knowledge by some in the west. Companies in the west simply outsource to those countries bright enough to have a force of Cobolers still around.