Re: MP3 players? Linux? I'm not sure, but I know there's hate

[prev] [thread] [next] [lurker] [Date index for 2005/04/25]

From: peter (Peter da Silva)
Subject: Re: MP3 players? Linux? I'm not sure, but I know there's hate
Date: 17:00 on 25 Apr 2005
> I got tired of hunting through a maze of twisty include files and C
> pre-processor directives for the exact definitions on a Linux platform,

This can be entirely automated with a script that does something like:

> so just looked in K&R instead.

Why would you expect a book describing the C language to tell you anything
about UNIX system calls? That's an *example*. It's not even a current
example.

> Do they?  There's *nothing* in the spec that tells me how those shorts
> will be aligned.

What spec? The only spec that matters is the documentation on what the
particular hardware and operating system that you're using does.

> If you can Hate BeOS's API because it is defined in terms of C++
> objects, I can Hate Unix just as much because it is defined in terms of
> C structs.

I can create a C struct easily without a C compiler. I can make a UNIX system
call without having any C runtime libraries or even a working C compiler on
the target system. I have done this, routinely, when I was working on Forth.

I can't create a C++ method call easily without a C++ compiler. In
fact, I don't just need a working C++ compiler, I need the same
C++ compiler that Be uses. I need the same version of the C++
compiler, and for the same target architecture. Oh, technically I
suppose I could manually decode the scrambled names and figure out
how to populate the object, but it's much much harder.

AND, UNIX has no more than a dozen system calls you really need to have down
to get your language runtime up and working. BeOS has ... I don't know how
many, but there's hundreds.

For the GUI, on UNIX, you're in luck. X11 protocol is defined at the
network level, so it's not an OS API it's

> There are very good reasons why things like the IP header definition in
> RFC 791 is laid out in terms of exactly what bit goes where - it ensures
> that software written to the standard will Just Work, regardless of
> language or platform.

So basically you're demanding that there be a single ABI for system calls
that is shared by all UNIX systems, whether they're AT&T-derived code or
not? I think that's a bit much. An OS ABI is inherently hardware dependant.

The difference between UNIX and BeOS here is like the difference between
discovering you're out of gas a block from the gas station, and discovering
that you're out of gas in the middle of the Sahara... and you don't have
any local currency... and there's a war on...

There's stuff above here

Generated at 01:00 on 03 May 2005 by mariachi 0.52