Linked by Eugenia Loli-Queru on Thu 24th May 2007 20:59 UTC
Thread beginning with comment 243233
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.





Member since:
2005-11-11
Most functional languages have an implementation iin themselves which can be quite performant. For example, a large part of ocaml interpreter/compiler is written in ocaml, with some parts in C of course; there is also FFTW, a library for high performances FFT, which produces a C library, but which sources are produced by an OCAML program.
Emacs is by far the most featured text editor you can find, and not a lot of it is written in C. And above all, you are citing softwares which may account for 0.1 % of total written lines of code in the world today.
Of course some things need to be written in C, or even in asm, because well, that's its purpose: C is a portable assembler. That's why it is really valuable. But many people, because they do not know anything else than C/java, fail to see the purpose of high level languages. For many projects, the software is slower in C, because it takes so much time to make trivial things to work correctly that nobody gets it right.
It also makes the entry barrier really high for new commers in a project, specially for open source softwares. For example, I was disappointed by the applications under linux to learn kanji. I wanted to improve one of them, but the code was really difficult to read: there was a lot of hand coded list processing, etc... Instead, I started rewritting it in python. Because the language is much more high level, I could easily replace the custom search in binary files by a sql database, and have on par, even better performances. Instead of spending time to debug dangling pointers in lists, I can see which structures are the most perfomant, implement database access caching really easily, things which would be a nightmare in C.
So of course, you could do something much faster in C if you wanted: but nobody will ever spend the ressources for such a niche application. People spend time writing OS, drivers in C, because it is really valuable to spend a lot of time on it, and because it is the appropriate language.
Edited 2007-05-26 04:17