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 _______________________________________________ [email protected] mailing list http://wmii.de/cgi-bin/mailman/listinfo/wmii
