4 ms·
>My take is that they went with all their bizarre design decisions in order to keep normies and entryists out for as long as possible But it's just complexity
by weare138 6y ago
>My take is that they went with all their bizarre design decisions in order to keep normies and entryists out for as long as possible
But it's just complexity for the sake of complexity with no discernible benefit. It's contradictory and self-defeating to encourage developers to adopt Urbit while simultaneously purposely designing it just so developers won't adopt it. Urbit makes many weird and contrarian design choices without explanation. It's fine to explore ideas and try different different methodologies but you should at least be able to explain why you're choosing to do it and how it would be beneficial. Here's a good example from the documentation:
A loobean is a Nock boolean - Nock, for mysterious reasons, uses 0 as true (always say "yes") and 1 as false (always say "no").
So they create an alternative to booleans that's just a backwards boolean? And their explanation for this? 'mysterious reasons' What?!? The only thing mysterious here is why any developer would use this.
- tripledunit 6y agoThe mysterious part would be a joke. The actual reasoning, which Yarvin himself has explained, is to unify the underlying data values between booleans and c-style return codes. In C and unix, the convention is that 0 indicates program success and any other value indicates some kind of program failure. It's strange for the fundamental success code to be false when cast as a boolean, so it makes sense to either change the success codes or change the booleans. Changing the success codes would actually be pretty incoherent - what would you do, 0 and >1 values are failure and 1 is success? - so it makes more sense to change the booleans if something is going to change Not saying I agree it's worth the trouble. Even Yarvin agrees it wasn't worth the trouble. But he didn't just pull this idea out of nowhere