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

From: Anselm R. Garbe <arg_AT_10kloc.org>
Date: Wed, 19 Jul 2006 18:45:05 +0200

On Wed, Jul 19, 2006 at 10:44:21AM -0400, Geoffrey A. Washburn wrote:
> On Wed, 19 Jul 2006, Anselm R. Garbe wrote:
>
> >I already added a different main page which points to current
> >projects like wmii at http://www.10kloc.org. Maybe we can gain
> >more influence in the open source and software community with
> >this philosophy.
>
> While minimalism is admirable, I think it fallacious to believe
> that "that software exceeding this maximum is bloated and seriously
> wrong". Some configurations of the Plan 9 kernel (see

10kloc has been choosed with polarization in mind, as your
response proves ;)

> http://cm.bell-labs.com/sys/doc/names.html) are above ten thousand
> lines. There is no hope of writing a modern compiler in less than
> ten thousand lines (unless you want to pay a significant performance
> penalty by making every phase a separate program "filter" -- not to
> mention how bloated it would become by have "n" additional lexers and
> parsers).

Why is there no hope for writing a compiler in less than ten
thousand lines? Maybe because modern compilers need to provide so
much optimization features, that the complex software they
have to compile don't performs poorly? Or because modern
programming languages contain so many features and levels of
execution flow and data abstraction, that programmers don't have
to think about resource consumption anymore and the IT industry
can sell better hardware (maybe to run such compilers?)?

> Furthermore, the philosophy as described on the web site is
> under-developed. It does not take into account modularity
> mechanisms -- if the complexity is hidden behind a well defined
> interface, is it really complex? This is probably because people

Like code optimization in compilers, abstractions solve the
symptom of complexity, but not the complexity itself.
Abstractions follow the divide et empera paradigm, which is not
bad, if the interfaces are kept simple and generic, like the
pipe-filter paradigm. But too often abstractions leads to more
complexity, than necessary. See the Web Service desease for
example. Do I need an XML parser in the future to call atoi()?

> 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 10kloc.org?

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? 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...).

> A better philosophy would be one based upon Einstein's quote
> "Everything should be made as simple as possible, but not simpler".
> Trying to fit everything into a less than 10kloc mold is going to
> require making things simpler than they ought to be.

I don't think so. Do you really believe you can understand
software systems consisting of more than 10kloc? We consider
adding a 'Hall of Ueberprogrammers'...

Regards,

-- 
 Anselm R. Garbe  ><><  www.ebrag.de  ><><  GPG key: 0D73F361
Received on Wed Jul 19 2006 - 18:45:05 UTC

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