From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: Date: Thu, 23 Sep 2004 16:58:47 -0400 From: Russ Cox To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu> Subject: Re: [9fans] alef post mortem? In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <6bb9e88ad7834fe55fbacaaa8f68c706@plan9.ucalgary.ca> <4149C6E6.1020304@anvil.com> <6e35c062040916155773c7f658@mail.gmail.com> <4152CB13.1050902@tommyk.com> Topicbox-Message-UUID: e7315610-eacd-11e9-9e20-41e7f4b1d025 > When was the decision made to remove alef from use? What were the > factors? What worked well about alef, and where was it lacking? > Was there ever a retrospective paper written analyzing what > was learned and why it was abandonned? This has come up on the list before. Alef was abandoned largely because no one had time to maintain it. When Alef and C were both around, many libraries had to be kept up in two different forms. Alef was a success in that it made it easy for Rob and others to experiment with writing threaded programs in a language with great notation. Libthread was written to provide the Alef features but in C (losing the great notation, sadly, but keeping the concepts like channels and coroutines executing inside operating system processes). Rob had just converted everything when I started to do serious Plan 9 development (libdraw, which thankfully didn't have to be written in both languages). Speaking only for myself, I learned that good languages cannot survive if they can't link directly (or with almost no effort) with C code written oblivious to the language's existence. On the other hand, crappy but C-compatible languages (like C++) or libraries (like pthreads) will endure forever. I've spent the last few days fighting the giant mess that is pthreads, so I'm possibly a little bitter. As I said, this has come up before. The archives may well have better answers from more authoritative sources. Russ