5 ms·
To give a recent example, compared to Borg, Mesos exemplifies "worse is better" approach. https://muratbuffalo.blogspot.com/2017/02/mesos-platform-for-fine-grai
by mad44 9y ago
To give a recent example, compared to Borg, Mesos exemplifies "worse is better" approach.
https://muratbuffalo.blogspot.com/2017/02/mesos-platform-for-fine-grained.html https://muratbuffalo.blogspot.com/2017/02/mesos-platform-for...
What are other recent examples you can think of?
- digi_owl 9y agoEarly Linux success vs the morass of "perfection" that is now plaguing its userspace.
- watwut 9y agoWhat do you mean by that?
- hedora 9y agoNot the op, but the post is probably referring to systemd. There are a few rough edges on classic init, syslog, dns, x11 session management, unix fs permissions, etc, etc. Systemd is a “better,” “principled,” rewrite of all that stuff from scratch. It is being done in a monolithic way (i.e., shoved down users’ throats), and none of the replacements for the subsystems are actually ready for primetime use (and probably never will be). This seems to be a great thing for the BSD’s, except that Linux desktop environments no longer run their properly. Personally, I attribute this more to the widely-adopted, ever-popular CADT software development process(), but I don’t disagree with the OP’s point. () https://www.jwz.org/doc/cadt.html https://www.jwz.org/doc/cadt.html
- mgummelt 9y agoThe original "worse is better" essay is on to something, but its conclusions are mistaken. Implementation simplicity only accelerates growth when the product must be reimplemented. Unix was a standard that had to be reimplemented for every architecture, so its simplicity compelled more people to do that. Mesos is not a standard. It's a singular product. It doesn't have to be reimplemented. Implementation simplicity doesn't accelerate growth. In fact, the increased complexity it foists onto clients hinders growth.
- danieldk 9y agoI think Go is a pretty good example of Worse is Better. Go's designers preferred simplicity over correctness. (some copying and pasting here and there is better than introducing the complexity of generics). (This is without negative sentiment, I use Go for some work.)
- mgummelt 9y agoHow does Go lack correctness?
- AnimalMuppet 9y agoI think danieldk specified what he meant: Lack of generics means that you have to copy and paste. He defines "forces you to copy and paste due to lack of generics" as "incorrect for a language". I think he's stretching the definition of "correctness" past the breaking point, but that clearly was what he meant.
- piaste 9y agoNil pointers?
- danieldk 9y agoSome examples: - You can accidentally implement an interface. - Lack of a proper ownership model can lead to unexpected results, which leads to bugs. Consider e.g. growing of slices: https://play.golang.org/p/3qfd5B8_ktK https://play.golang.org/p/3qfd5B8_ktK - nil is not equal to nil: https://golang.org/doc/faq#nil_error https://golang.org/doc/faq#nil_error (Obviously, it is is easy to move the goalposts without a proper definition of 'correctness' ;).)
- cdoxsey 9y agoI think correctness is the wrong word. Maybe safety would be better? (Verboseness? Precision?) Go is quite a stable language. Well-specified, rigorously tested, and conservatively updated. I think all the behavior you listed is well-defined, albeit perhaps unexpected. Lack of generics doesn't make code incorrect. Less clear maybe, or easier to make a mistake. Or clearer and a lot more code. I guess you could argue that it makes writing correct code harder?
- 0xdeadbeefbabe 9y agoBitcoin