On 29 April 2016 at 21:06, Sean Conner <spc at conman.org> wrote:
It was thus said that the Great Liam Proven once
stated:
Do you really think it's growing? I'd like very much to believe that.
I see little sign of it. I do hope you're right.
I read Hacker News and some of the more programmer related parts of
Reddit, and yes, there are some vocal people there that would like to see C
outlawed.
Fair enough. (So do I, sometimes, incidentally.) But my impression is
that it's only a thing among the weirdos, not in industry or
mainstream academia. :(
I, personally, don't agree with that. I would
however, like to
see C programmers know assembly language before using C (I think that would
help a lot, especially with pointer usage).
Sounds like a step back towards older times, and as such, I fear it is
very unlikely.
I read that and it doesn't really seem that CAOS
would have been much
better than what actually came out. Okay, the potentially better resource
tracking would be nice, but that's about it really.
The story of ARX, the unfinished Acorn OS in Modula-2 for the
then-prototype Archimedes, is similar.
No, it probably wouldn't have been all that radical.
I wonder how much of Amiga OS' famed performance, compactness, etc.
was a direct result of its adaptation to the MMU-less 68000, and thus
could never have been implemented in a way that could have been made
more robust on later chips such as the 68030?
I was expecting
something like Synthesis OS:
http://valerieaurora.org/synthesis/SynthesisOS/
(which *is* mind blowing and I wish the code was available).
Ah, yes, I've read much of that. I agree.
Mind you, Taos was similarly mind-blowing for me.
GNOME 1 was
heavily based on CORBA. (I believe -- but am not sure --
that later versions discarded much of it.) KDE reinvented that
particular wheel.
I blew that one---CORBA lived for about ten years longer than I expected.
Yeah. :-(
I think elements of it are still around, too.
Wait ... what? You first decried about
poorly-designed OSes, and then
went on to say there were better than before? I'm confused. Or are you
saying that we should have something *other* than what we do have?
Well, yes, exactly. That is precisely what I'm saying.
I spent some hours on the Urbit site. Between the
obscure writing,
entirely new jargon and the "we're going to change the world" attitude, it
very much feels like the Xanadu Project.
I am not sure I'm the person to try to summarise it.
I've nicked my own effort from my tech blog:
I've not tried Urbit. (Yet.)
But my impression is this:
It's not obfuscatory for the hell of it. It is, yes, but for a valid
reason: that he doesn't want to waste time explaining or supporting
it. It's hard because you need to be v v bright to fathom it;
obscurity is a user filter.
He claims NOT to be a Lisp type, not to have known anything much about
the language or LispMs, & to have re-invented some of the underlying
ideas independently. I'm not sure I believe this.
My view of it from a technical perspective is this. (This may sound
over-dramatic.)
We are so mired in the C world that modern CPUs are essentially C
machines. The conceptual model of C, of essentially all compilers,
OSes, imperative languages, &c. is a flawed one -- it is too simple an
abstraction. Q.v.
http://www.loper-os.org/?p=55
The LispM model was a better one, because it's slightly richer. That's
"slightly" in the St Exupery sense, i.e.
"?perfection is attained not when there is nothing more to add, but
when there is nothing more to remove."
Instead of bytes & blocks of them, the basic unit is the list.
Operations are defined in terms of lists, not bytes. You define a few
very simple operations & that's all you need.
http://stackoverflow.com/questions/3482389/how-many-primitives-does-it-take…
The way LispMs worked, AIUI, is that the machine language wasn't Lisp,
it was something far simpler, but designed to map onto Lisp concepts.
I have been told that modern CPU design & optimisations & so on map
really poorly onto this set of primitives. That LispM CPUs were stack
machines, but modern processors are register machines. I am not
competent to judge the truth of this.
If Yarvin's claims are to be believed, he has done 2 intertwined things:
[1] Experimentally or theoretically worked out something akin to these
primitives.
[2] Found or worked out a way to map them onto modern CPUs.
This is his "machine code". Something that is not directly connected
or associated with modern CPUs' machine languages. He has built
something OTHER but defined his own odd language to describe it &
implement it. He has DELIBERATELY made it unlike anything else so you
don't bring across preconceptions & mental impurities. You need to
start over.
The basic layer is both foundation & insulation. It's technological
insulation, a barrier between the byte machine underneath & the
list-oriented layer on top. It's also conceptual insulation, to make
you re-learn how to work.
But, as far as I can judge, the design is sane, clean, & I am taking
it that he has reasons for the weirdness. I don't think it's
gratuitous.
So what on a LispM was the machine language, in Urbit, is Nock. It's a
whole new machine language layer, placed on top of an existing OS
stack, so I'm not surprised if it's horrendously inefficient.
Compare with Ternac, a trinary computer implemented as a simulation on
a binary machine. It's that big a change.
https://en.wikipedia.org/wiki/Ternac
Then, on top of this layer, he's built a new type of OS. This seems to
have conceptual & architectural analogies with LispM OSes such as
Genera. Only Yarvin claims not to be a Lisper, so he's re-invented
that wheel. That is Hoon.
But he has an Agenda.
Popehat explained it well here:
https://popehat.com/2013/12/06/nock-hoon-etc-for-non-vulcans-why-urbit-matt…
? via the medium of this sig:
Timothy C. May, Crypto Anarchy: encryption, digital money, anonymous
networks, digital pseudonyms, zero knowledge, reputations, information
markets, black markets, collapse of government.
I would be interested in an effort to layer a bare-metal-up LispM-type
layer on top of x86, ARM, &c. But Yarvin isn't here for the sheer
techno-wanking. Oh no. He wants to reinvent the world, via the medium
of encryption, digital currencies, &c. So he has a whole other layer
on top of Urbit, which is the REASON for Urbit -- a secure, P2P,
encrypted, next-gen computer system which happens to run on existing
machines & over the existing Internet, because that's the available
infrastructure, & whereas it's a horrid mess, it's what is there. You
can't ignore it, you can't achieve these grandiose goals within it,
so, you just layer your new stuff over the top.
I hope that makes some kind of sense.
--
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)