Re: C#, .Net, and Mono

[prev] [thread] [next] [lurker] [Date index for 2006/12/29]

From: Yossi Kreinin
Subject: Re: C#, .Net, and Mono
Date: 13:21 on 29 Dec 2006
Peter da Silva wrote:
>>Sounds like a god to me. "God is not the trees. God is not sky. Etc." 
> 
> In a way, yes. These all run on top of UNIX.

I didn't know trees run on top of UNIX. I did hear a quote from a pretty 
wizardly Unix fan: "do you understand that the (Linux) kernel is more important 
than... (thinks hard to find a word) trees?"

It's getting a bit scary.

I don't get it:

* 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.

Maybe the screen is not so unimportant compared to a disk, which is managed by 
the OS through a file system? Maybe the OS should come with a good window 
system? Why is saying "My system doesn't care about this issue most user 
programs care about" a good answer, 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")?

> 
> 
> 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. These (pretty loosely defined) protocols include things like 
filesystem semantics. The Windows and, say, Linux file system semantics is 
pretty similar.

For example, if you delete a file, it's gone. So running programs which delete 
or (more frequently) overwrite should be done pretty carefully.

For example, to get notifications when someone works with a set of files, you 
need to write a driver. Which will be non-portable (because *these* protocols 
are sure as hell not a part of the definition of the sacred term "Unix"), and 
will have the power to wedge the entire machine, since they run in the kernel 
(in practice). So if you need revision control, you can choose between the 
ClearCase model (make it part of your OS and give it the power to wedge the 
machine, which it will use quite promptly) or the BitKeeper model (copy or 
remove an SCCS directory and listen to BitKeeper screaming "consistency check 
failed! whine whine whine!").

You can call this "similar kernels", "similar protocols", or whatever. Something 
is pretty similar here.

> 
> 
> UNIX doesn't do GUI. At all. There is no native UNIX GUI.

Yep. So if you have a UNIX kernel (as opposed to a large OS which was at some 
point rewritten to use a UNIX kernel), you'll probably end up running X - if 
your machine is a "display server". If it's a "file server", everything will be 
just fine, except for NFS, which breaks the "protocols" or some other substance 
of which UNIX file system semantics consists according to the latest theological 
definition - but you'll flame along about the legitimate target NFS.

Call it what you like. As a user, I want a Windows or a Mac box, which will do 
GUI, and not a system running X and explaining that my problems are the 
responsibility of X, so it doesn't care about them. At some other level I want a 
system as open as possible so that I can be sure I'll get to see all of my bits 
at any moment, and won't get them locked behind a wall of "trusted computing" 
when my vendor so wishes. So I actively avoid using MS Office except for cases 
where I can export a screen shot and forget about the source in the undocumented 
format.

> 
> 
> Given that you can run UNIX software in an environment that doesn't even
> vaguely resemble UNIX file system semantics, I'm at a loss to figure out
> what you're getting at here.

I can. It will do different things, but since when the behaviour of a system is 
a part of the definition of "portability"? Hey, it runs, what else should I want?

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. Software relying on defined behaviour in 
these cases will misbehave.

> 
> This isn't a fucking rumor, mate. This is first hand direct testimony from
> one of the beggars who was doing the stuff you're telling tales about.
> 

I didn't mean you no disrespect (c).

> 
>>uptime is nothing. I've seen totally wedged Unix systems avoiding reboots.
> 
> 
> Don't be an ass.

I didn't mean you no disrespect (c).

> I'm not talking about totally wedged systems, I'm talking
> about systems that are doing their jobs so well that the people who are using
> them every day can't actually find them when the time comes to upgrade.
> 

And I'm talking about totally wedged systems I've seen. There are different 
first hand direct testimonies.

And they were Linux boxes. And they fit your definition of UNIX pretty well.

> Every computer is a server. Some are file servers, some are application
> servers, some are display servers. The idea that there's something special
> about display servers, and that you have to run your applications locally
> on them, is hateful. The fact that Apple's crippled their window system so
> you can't even get at the remote display support any more is hateful. The
> fact that Microsoft killed NTerprise by refusing them licenses when they
> picked up Citrix is hateful. The fact that Sun killed NeWS and the people
> who have the NeWS source refuse to consider trying to open-source it is
> hateful.
> 
> I think the most hateful software of all is the less-hateful software you
> can't get because of idiot ideas about software.
> 
> 

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?

And how doesn't it have to do with the attitude "UNIX does no GUI", and with X? 
And the more general lines like "you don't understand what UNIX means", "it's 
your fault", "the system is not your nanny"?

Generated at 03:02 on 01 Jan 2007 by mariachi 0.52