> If they are so much better than, say, C, then why isn't a really common
and important part of GNOME or KDE or Firefox or OpenOffice of GIMP
written in them?
For all of these the reasons should be fairly obvious.
Gnome and KDE: I think the main thing is platform bindings, if the
platform would be done in some given higher level language, how you would
provide bindings for lower level languages?
As to Firefox, JS virtual machine and HTML rendering are performance
critical functionality. Writing VM in higher level language could also
have "interesting" memory usage issues... I think performance are also
issues why OpenOffice and Gimp *core* functionality is in C.
Note that except for Firefox (which extension language is quite
understandably JavaScript), all of your examples provide Python bindings.
In Gnome you can e.g. do panel applets in Python.
You find higher level languages where the ease of development and code
maintainability are more important than their performance. Performance
includes startup speed which on higher level languages is higher due to
need to load more things upfront.
For long running services, startup speed doesn't matter that much. Also,
on servers you don't run that many processes and you just add memory if
it's needed whereas on Desktop too many services taking more memory starts
to be noticeable. That's why higher level languages are more used on
servers and in education.
> if your language is only good at producing little web apps, then that
seems kind of lame when talking about the greatness of the languages,
especially compared to so many that do so much more.
Little? What you consider little? 10 KLOCs? 100 KLOCs? Millions of
lines of code?
Interview: Mark "Markey" Kretschmann (Not the Gentoo Weekly News)
Posted Feb 11, 2008 18:06 UTC (Mon) by Nelson (subscriber, #21712)
[Link]
There are GNOME and KDE bindings for Ruby and Python and there are some little things done in Python, I'm not aware of any Ruby applets though. I'm not aware of any really standard and common GNOME or KDE things written in Python, just some more fringe kinds of elements, like gDesklets.
So basically, if memory and speed are of a concern, both of these languages may be unsuitable.
The other thing that kind of rubs me with this kind of advocacy is that "ease of development" is placed high on the list but something as complex as a Browser or OpenOffice are sort of out of their range. Is it just me or is there a certain logical flaw to that? Do these languages really ease development if they are only used on a subset of applications that don't require start up speed, frugal memory usage, or any highly optimized portions? It seems to me that they "ease development" on a set of tasks that are pretty easy to begin with (not that that isn't a worthy use) which kind of begs the issue if you ask me. I'm not trying to be too argumentative but if we were to try and compare the relative "power" of Ruby and Python a good place to start might be by looking at the set of applications they are capable of being used for and those which they are ill-suited and looking for overlaps and exclusive portions.