4 ms·
The inversion of 0/1 for true/false is common in good C APIs. 0 as true and 1 as false makes a lot of sense from a perspective of error handling. 0 means everyt
by api 11y ago
The inversion of 0/1 for true/false is common in good C APIs. 0 as true and 1 as false makes a lot of sense from a perspective of error handling. 0 means everything's okay, while nonzero means it isn't. Various forms of nonzero can then represent different kinds of fail. Variations on this theme are common enough in programming that the inversion is reasonable, and it does no harm in the simple boolean case.
The architecture is no more esoteric than Unix, C, C++, or a submicron-scale polished turd like HTML5+CSS+JavaScript+React+JSX+NodeJS or most other "stacks."
It's just unfamiliar because it's new, and that's okay, because it is not making any pretensions about not being new or about being a baby-step hack on top of our existing heap of hacks. If you're going to try to reinvent the OS and the platform, then go full Yoda and do or do not.
- jpt4 11y ago> it is not making any pretensions about not being new or about being a baby-step hack And, with its Kelvin (count down to zero, then freeze forever) revisioning scheme, Urbit admits its own mortality (or so it seems to me). Any change that can not be managed as an intrasystemic, in place upgrade must necessarily - and righteously - detonate the Urbit ecosystem as thoroughly as mature Urbit obviates Unix. Future competitors are thereby encouraged to be equally generalist, thus hardening Urbit against dissolution via tepid, partial reforms.