I doubt very much this project will get much traction due to the enormous conceptual overhead of working within its ecosystem. There's a huge learning curve approaching something like this from the Unix/C ecosystem, and I don't think it's merited.
I doubt very much this project will get much traction due to the enormous conceptual overhead of working within its ecosystem. There's a huge learning curve approaching something like this from the Unix/C ecosystem, and I don't think it's merited.
From the authors:
Its syntax is entirely novel and initially quite frightening.
[...]
If I can summarize Hoon's goal, it's to be the C of functional
programming.
[...]
On the other hand, the apparent complexity of Hoon is very high.
When you open a Hoon file, you are confronted with an enormous
avalanche of barely structured line noise. Again this reminds us
of C, which makes no attempt at the kind of abstract prettiness
we expect from a Pascal or a Haskell. Learning Hoon involves
learning nearly 100 ASCII digraph "runes."
Is this a harsh learning curve? Of course it is. On the other hand,
it is not a mathematical task, but a mechanical one. It is trivial
compared to the task of learning the Chinese alphabet, memorizing
the Qu'ran, etc, all rote mental tasks routinely performed by normal
human 11-year-olds.
From the languages even more confusing documentation: https://github.com/cgyarvin/urbit/blob/master/doc/book/0-int...I have some skepticism, but if Urbit and its peer-to-peer network are actually useful things, the incentive system for building useful apps for it exists. It might be strong enough.
This may mean Hoon once learned is easier to cope with than it looks (which I doubt, because it looks like vaguely Lisp-flavored assembly) or it may just mean that nobody like that has come along yet.
* pretty much everything actually useful is implemented as a jet
* the jets often don't actually match the supposed code they're accelerating (e.g. the Markdown jet has different bugs)
Instead of the stated intent of giving you control of your own environment, the actual goal appears to be the opposite.
The C standard library lacked a formal specification for over a decade after its creation. Lisp lacked one for almost thirty years. At least one of these should be an argument in favor of "build it first, formalize it later".