Somehow a particular problem with a particular application has degenerated into a rather unfair generalization of the whole system:
> Reading about Plan 9, I was quite excited to install it. I was quite > excited when I first booted and ran it, too. But I distinctly felt my > heart sink a little the first time it hung. Since then, I've browsed > some of the OS source code and, having done that, I came to understand > why the system was so buggy. The core applications appear to be written > in a style of C programming reminiscent of the dawn of UNIX. While the > operating system architecture is BEAUTIFULLY designed (with the > exception, perhaps of that fossil/conf gotcha!), the C code used to > implement it doesn't seem to take advantage of any of the programming > paradigms that have emerged in the intervening 30 years... It would help the conversation if you described what these new paradigms are. For instance, Plan 9 does not have any code that's built upon any sort of functional programming language. But again, that's not necessary. What practices has everyone here missed, which would turn Plan 9 code into gold? The argument seems a bit pretentious. > Getting Plan 9 code to crash is almost too easy: > > term% mkdir trashdir && cd trashdir && mkdir x > term% touch `{i=0; while (test $i -lt 128) { echo -n abcdefghijklmnop; > i=`{echo $i+1|hoc} } } > term% cp abc* abc* x > # watch the cp executable suicide > # now, make SURE there's nothing in this rio window that you want to keep... > term% rm abc* > # watch the rio window go bye bye! Sorry, this does not crash any Plan 9 code on my system. How much data globbing should handle is a matter of practicality. When rc dies, the rio window closes. ak