[prev] [thread] [next] [lurker] [Date index for 2006/12/29]
On Dec 29, 2006, at 7:21 AM, Yossi Kreinin wrote: > I didn't know trees run on top of UNIX. Don't be obtuse. X11 runs on top of UNIX. "all of the above" systems that I mentioned are UNIX applications, they're not UNIX, any more than Photoshop or Excel is Windows. > * When .NET is "theoretically" portable, but a useful port does not > exist yet, it's .NET's fault. > * When UNIX can "theoretically" run a good system doing GUI, but most > systems run X, it's not UNIX's fault. This isn't about "fault", this is about "reality". UNIX is not a GUI based OS. If you just need a non-GUI-based OS, then UNIX may be for you. If you want a GUI based OS, then you need to look beyond UNIX. (You might end up with something that runs on top of UNIX, but it's not UNIX, it's something that runs on top of UNIX) .NET is not an open system. If you don't need an open system, then .NET may be for you. If you want an open system, then you need to look beyond .NET. > considering the fact that you can avoid implementing a filesystem > using the same reasoning ("SHIT-OS doesn't do filesystems - they run > on top of SHIT-OS")? There are many operating systems with no file systems. I use one every day. >> Since different UNIX systems have radically different kernels, that's >> a >> remarkable assertion. Are you thinking of the Minix, Linux, BSD, >> TUNIS, >> System V, Lites, or Hurd kernels? > > All these look pretty similar to me, because they implement those > protocols you are talking about. Some of those protocols are in the kernel. Some are in applications. Different kernels implement different amounts of the protocols, and defer others to applications. You seem to have some really confused ideas about what a kernel is, what it does, and where it fits in an OS. Oh, and "I'm just a user" is a hateful attitude. > For example, if you delete a file, it's gone. So running programs > which delete or (more frequently) overwrite should be done pretty > carefully. Um, UNIX software works just fine on systems where deleting a file doesn't delete it permanently, like VMS. The difference between .NET and UNIX here is that .NET *forces* a set of file system semantics on you. To implement .NET and run .NET programs, you have to implement Windows file system semantics. UNIX programs do not require nearly as many of the same file system semantics, and run fine on systems with different semantics. > For example, there's the aspect of the filesystem semantics which says > when files can be deleted, and when they are locked. Windows won't let > me delete a file someone is using. Linux will. But UNIX *software* can't depend on that behavior, because it may be running on systems that don't provide that level of UNIX file system semantics. > Software relying on defined behaviour in these cases will misbehave. That's why portable software doesn't rely on things like this. That's why .NET is hateful. It makes guarantees to the software that are not provided by all the platforms that .NET runs on. > Can I ask you again - why did Windows 3.11, which had a totally > dysfunctional parody on the concept of "kernel", won the desktop > market, and Unix, which was 2 decades ahead in it's development, lost > that market, despite it's amazingly well thought-out semantics? Microsoft already *owned* the market. Windows didn't *win* the market, it simply failed to *lose* it.There's stuff above here
Generated at 03:02 on 01 Jan 2007 by mariachi 0.52