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)