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

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

From: peter (Peter da Silva)
Subject: Re: MP3 players? Linux? I'm not sure, but I know there's hate
Date: 23:37 on 24 Apr 2005
> It's part of "the Unix API".

Section 3 is the C runtime. If you're calling things in section 3
you're already using a C wrapper. When I ported Forth to UNIX I
just implemented syscal() and then wrote the rest in Forth. It's
MUCH easier than linking to a C library.

> But if you insist on something that is
> more intimately tied to Unix, try stat, which is even more hateful.

Hmmm. All the objects defined in sys/stat.h are built up of primitive
elements with specific bit sizes or structures defined in similar
terms. And they all land on properly aligned word boundaries.

There's obviously hardware-specific details like byte order to
worry about but if you're porting a language to a computer or
writing a language runtime you already know that stuff.

Seriously, I don't see that this is particularly bothersome let
alone hateful.

> You misunderstand my Hate.  I hate that long is *not defined*, just like

Long is defined FOR EACH SPECIFIC COMPUTER. If you're porting your language
to an Alpha, you know that long is 64 bits. If you don't know that, how the
hell are you going to generate code for it?

> I hate that a struct is *not defined*.

The struct is defined in the C include file, which is easy to read and
understand... it's barely higher level than the control block structures
in RSX-11 and a LOT better documented than the Macro-11 macros that define
the RSX-11 system calls.

> If it were defined I really
> wouldn't care whether it was 32 bits or 64 bits, because I could just
> write code to build the structure using my language of choice.

Which is what I do, I don't know why you find it hard.

The more recent trend for system calls to be defined in terms of shared
libraries, now THAT is hateful. That's starting UNIX down the slippery slope
to being as language-dependent as BeOS.

There's stuff above here

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