Re: [wmii] 10kloc project, wmii maintainer change

From: John Nowak <>
Date: Wed, 19 Jul 2006 15:56:02 -0400

On Jul 19, 2006, at 12:45 PM, Anselm R. Garbe wrote:

>> programming in C have no access to data abstraction. Which raises
>> another problem: 10kloc in what language? In the languages I
>> use, I
>> can get as much done with half the code of a C program, so does
>> that
>> mean they must only be 5kloc to qualify for
> I doubt that I can do fewer data abstraction with C than with
> any other language. What can't I do with C, but with another
> language?

It's less a question of what you can do given an unlimited amount of
time and so on. The question is more, I'd think, what can do you do
in practice? Many languages offer a lot of things available from the
start that C does not, which can go a very long way towards reducing
the amount of code one needs to write. The problem isn't (just) that
C offers fewer data abstractions. Rather, the problem with C is with
the fundamental lack of expressiveness inherent to the language. I
would think most who have spent some time with more "advanced"
languages like Haskell can attest to the fact that some things are
quite painful to do in C (or Java, etc) afterwards. C is a great fit
for a lot of things, but so are many other languages. Just as in some
cases C is vastly superior, as are others in their respective domains.

> And I doubt that the SLOC metric is really
> language-dependend, there is not much difference in 10 thousand
> lines of bare Java code compared to 10 thousand lines of bare C
> code (maybe the C code provides more functionality, because not
> every global var is accessed with a useless getter and setter
> method...).

Java is a very verbose language... you're picking the easiest fight
and saying you might win. :-) If you were to put C up against, say,
Factor (, I think it would lose quite badly. I'm
generalizing, obviously.

- John
Received on Wed Jul 19 2006 - 21:56:04 UTC

This archive was generated by hypermail 2.2.0 : Sun Jul 13 2008 - 16:11:15 UTC