strangest systems I've sent email from

Liam Proven lproven at gmail.com
Fri Apr 29 08:51:12 CDT 2016


On 29 April 2016 at 15:09, Noel Chiappa <jnc at mercury.lcs.mit.edu> wrote:
>     > From: Swift Griggs
>
>     > even though there is *more* overall documentation on the Internet, the
>     > docs you get with hardware and tools are nowhere near as good as they
>     > were in the 80s AFAIK.
>
> I think that's partially because the speed of product cycles has sped up;
> there just isn't time to get good docs done and out. Also, there's more
> competitiveness/'efficiency', and good documentation costs money/overhead.
>
> Wonderful as e.g. DEC Technical Manuals were, I suspect producing their ilk
> nowadays is simply beyond the industry's capabilities (in the organizational
> sense, not the technical skill sense).

True, at least up to a point.

>     > From: Liam Proven
>
>    > C is popular because C is popular.
>
> Yes, but that had to start somewhere.
>
> I think it _became_ popular for two reasons: i) it was 'the' language of
> Unix, and Unix was so much better than 99% of the alternatives _at the time_
> that it grew like crazy, and ii) C was a lot better than many of the
> alternatives _at the time it first appeared_ (for a number of reasons, which
> I won't expand on unless there is interest).
>

I am indeed interested.

>     > direct memory allocation, pointer manipulation and so on -- are
>     > widespread /because/ of the C family influence. And I have a deep
>     > suspicion that these are harmful things.
>
> Pointers, yes. Allocation, not really - a lot of languages have heaps. Did
> you mean manual freeing when you mention 'memory allocation', because
> technically even something like CONS allocates memory? And one could consider
> 'auto' variables as 'allocated' - but the 'freeing' is automatic, when the
> routine returns.

Well, malloc() and free(), anyway.

I can't find the citation but I have seen references to GC
environments actually being _faster_ on well-structured systems.
Notably, LispMs.

> As to whether those two are harmful - they can be. You have to have a 'clean'
> programming style to use them extensively without running into problems. (I
> personally have only rarely run into problems with them - and then mostly in
> very early C, before casts existed, because of C's wierd pointer math rules.)

Well exactly. Some people can use Lisp macros to do brilliant things;
most can't. Some people can write clean, safe C; most can't.

Not everyone's a genius.

And those who aren't, often don't know. See Dunning-Kruger. Klutzes
think they're gods; gods think they're klutzes.

As Yeats put it:

"The best lack all conviction, while the worst / Are full of
passionate intensity."

So we *need*  safe languages for the non-geniuses who think they're
brilliant. You tempt 'em in with productivity and tools and keep them
in a safe space where they can be productive. Delphi was superb for
this.

> I would need to think about this for a while to really come up with a good
> position, but my initial sense is that these two are perhaps things that
> should be hidden in the depths of large systems, for use by very good
> programmers, that 'average' programmers should only be using higher-level
> constructs.

The thing is, the very good and the average often don't know it, and
non-technical managers can't tell. So, keep everyone in the safe
space, but offer power tools -- like Lisp macros -- so the brilliant
are not held back.

>     > I actually hugely admire Linux
>     > ...
>     > We are continuing to refine and tweak a 1970s-style OS -- a
>     > technologically conservative monolithic Unix. FOSS Unix hasn't even
>     > caught up with 1990s style Unix design yet, the early microkernel ones
>     > .. It's roughly 2 decades behind the times.
>
> I'm a bit puzzled by your first thought, given your follow-on (which I agree
> with).
>
> I'd go further in criticizing Linux (and basically all other Unix
> descendants), though - your latter comment above is just about the
> _implementation_. I have a problem with the _basic semantics_ - i.e. the
> computational environment provided to user code. It was fantastic on a PDP-11
> - near-'mainframe' levels of capability on a tiny 16-bit machine.
> On modern machines... not so much.

Well, yes, definitely, that too. I cut my teeth on VMS and preferred
it. I'd love to see some more totally non-Unix-like OSes, but I'd also
like to see Unix moving forward, not just sitting there getting better
and better at what it already is.

Linux is boring to me now. It's an enterprise tool. I want to see the
effort, the development, the fiery new ideas being spent on something
new and different... and I'm not seeing much of it.

-- 
Liam Proven • Profile: http://lproven.livejournal.com/profile
Email: lproven at cix.co.uk • GMail/G+/Twitter/Flickr/Facebook: lproven
MSN: lproven at hotmail.com • Skype/AIM/Yahoo/LinkedIn: liamproven
Cell/Mobiles: +44 7939-087884 (UK) • +420 702 829 053 (ČR)


More information about the cctalk mailing list