
On 6/18/07, Andrew Coppin
Creighton Hogg wrote:
There are lots of things to like about Linux. It doesn't cost money. It's fast. It's reliable. It's flexible. It's secure.
Okay, I'm not sure if I'd agree with the reliable & secure points. I mean, relative to what could be done. I'm a rank amateur when it comes to OS work but when I've looked at recent papers Linux really isn't that cutting edge. I mean, it may be reliable in comparison to Windows 98 & has less known exploits than any Windows system, but in terms of how good it *could* be I think there's an awful lot of room for growth.
Isn't there a lot of room for improvement in *any* product?
Well, I'm not just talking about improvement. I'm talking about things like capabilities, self-healing kernels, separation kernels, exo kernels, things that may have serious advantages but can't necessarily be strapped on to a preexisting kernel such as Linux.
Okay, but these don't seem to really be design flaws so much as the
inevitable results of age and the need for backwards compatibility. I'm looking more for technical problems that you would want to see fixed in our magical UberOS.
Technically, both Windoze and Linux "work". It would just be nice to have an OS with a coherent design, that's all. Nothing revolutionary (after all, it's an OS), just something done properly.
(Also, have you noticed that no large Haskell applications exist? It's very hard to convince people that Haskell is not a "toy" language when no large applications exist. Building an entire *OS* with it would rather satisfy that requirement...!)
Well, I imagine that there are large applications being used at places like Galois or Credit Suisse that are just proprietary. As for open source, I guess the largest application is probably GHC itself.
(Have you ever programmed in C? You can certainly see where Unix gets
its features from - terse, cryptic and messy.)
This is another thing we're just going to disagree on. I think C++ is a pretty messy language, but feel that straight up C is rather simple and elegant. I had only used C++ before, but a friend rather easily convinced me that C is in fact a very sexy language when used in its intended design space.
To me, C is the pinacle of everything that is wrong with computer programming. How does the saying go? "C combines the power and flexibility of machine code with the ease of use of machine code." (Which isn't quite fair - machine code is easier to read than C.)
At this point I can only say that we disagree and bow out of this tangent. For some reason, there is this perverse correlation... There are
wonderful, beautiful languages like Haskell, that nobody uses and that you can't do anything practical with. And then there are ugly, complex, messy, flabby languages like C, C++, Perl, VisualBasic, etc. which are what everybody uses, and which have the power to actually do things. As somebody who's spent their entire life obsessively programming computers, this state of affairs makes me really sad. I really wish to God there was a language like Haskell that was useable in the real world. :-(
(I did seriously investigate the task once. Indeed, I got as far as writing a bootloader. It worked too!)
Would you mind sharing the code? I'd be interested.
Seriously - we're talking about 1 page of assembly. That's it. Write it to the boot sector of a floppy, reboot your PC and it says "Hello World" on the screen. That's the sum total of how far I got.
My apologies, I thought you meant you wrote a GRUB replacement in a functional language.