Linked by Kaj de Vos on Tue 8th Jun 2010 22:07 UTC
Syllable, AtheOS

The Syllable project is pleased to announce that the reports of its death have been greatly exaggerated, and that the new version 0.4 of Syllable Server has been released. This release focuses on maturing existing functionality, improving security, ongoing system restructuring, and making the system a suitable base for third-party package managers. Although the project admits it hasn't brought its unicorn factory online yet, extensive work was done on the nitty-gritty, so the full change log is quite long.

Thread beginning with comment 429405
To read all comments associated with this story, please click here.
Why I'm a "rewrite from scratch" advocate
by Neolander on Thu 10th Jun 2010 09:25 UTC
Neolander
Member since:
2010-03-08

Just something I wanted to share with all those people who are critical about the rewriting approach.

Let's consider a large codebase as a public library, each chunk of code being a book. (after all, for projects which include several millions of lines of code, this is not far from reality ;) ).

There are many ways to tidy bookshelves up. But the methods are generally centered around two philosophies : put everything on the ground (or some other large storage space) and then back in bookshelves in an organized way, or explore the shelves while gradually fixing every single organization defect you find.

The second approach is generally better, because
1/It can be done on a daily basis, instead of closing the library for a long time.
2/If this method is applied daily, with extreme care being applied to the ordering of books, then it is much more efficient, because you don't need to sort again things which have already been sorted.

However, a major organizational defect can defeat it, like...
1/When the shelves have not been taken care of for a long time
2/When the whole organization method being applied for years turns out to be wrong (e.g. when you're a small library, you just sort books by author, but then as you grow larger this becomes less and less relevant and thematic classification becomes a much more sensible choice)

Two factors become then significant :
1/Swapping books is a psychologically more complex task than filling up an empty bookshelf (just like writing new code is easier than understanding and fixing existing one which has been written a long time ago, having to deal with people who want backwards compatibility).
2/It's a more psychologically frustrating task too, because each time you swap a book (fix some function), you see how much mess there's left to tidy up. Whereas when you fill up an empty shelf, all the books which you already put on the shelf are perfectly ordered, and you feel proud of yourself.

I think that the desktop Unix world has reached the point where such considerations make sense. Some think otherwise. After all, we're in the world of hobby OSs and there's room for everyone, I just tried to explain why my point of view is not necessarily wrong.

Reply Score: 2