News for hackers. Stuff that matters.
Re:The Rise of Worse Is Better (1991) by danieldk on Friday March 30, 2018 @03:24PM (#16719045)
I 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.)

Re:The Rise of Worse Is Better (1991) by kazinator on Friday March 30, 2018 @04:12PM (#16719442)
"Simplicity over correctness" (in Worse is Better) doesn't mean things are simple and incorrect. Of course, the worse-is-better design has requirements, and it correctly implements them.

I suspect that this is about the requirements being inferior in comparison to some superior, lofty requirements that the author has in mind; that's what is meant by "incorrect". There is some underlying theory which is applicable to the requirements for a given language feature, and those requirements are "incorrect" because they ignore that theory and specify some sort of hack.

Re:The Rise of Worse Is Better (1991) by seanmcdirmid on Friday March 30, 2018 @04:01PM (#16719348)
TypeScript is an even better example with a lack of soundness in its type system but still being an incredibly useful way of programming in JavaScript.

The unsound type system is hardly simple at this point, and type errors are a pain because they aren't modularized very well (and structural type errors tend to cascade quickly). Still, it beats the alternative.

Re:The Rise of Worse Is Better (1991) by mgummelt on Friday March 30, 2018 @03:27PM (#16719067)
How does Go lack correctness?
Re:The Rise of Worse Is Better (1991) by danieldk on Friday March 30, 2018 @04:09PM (#16719425)
Some 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

- nil is not equal to nil:

https://golang.org/doc/faq#nil_error

(Obviously, it is is easy to move the goalposts without a proper definition of 'correctness' ;).)

Re:The Rise of Worse Is Better (1991) by cdoxsey on Friday March 30, 2018 @04:22PM (#16719508)
I 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?

Re:The Rise of Worse Is Better (1991) by AnimalMuppet on Friday March 30, 2018 @03:36PM (#16719142)
I 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.

Re:The Rise of Worse Is Better (1991) by piaste on Friday March 30, 2018 @04:03PM (#16719365)
Nil pointers?