3 ms·
There are problems which are not solvable nicely without inheritance. They are rare, but GUIs are the stereotypical example, where the `SomeWidget extends Node`
by kaba0 4y ago
There are problems which are not solvable nicely without inheritance. They are rare, but GUIs are the stereotypical example, where the `SomeWidget extends Node` is just the most useful abstraction to have.
Also, go is modern only in age, the only remotely novel thing about it is goroutines, so I wouldn’t detract too much from its design choices.
- gpderetta 4y agoAlgol and Simula had coroutines (just to give two examples). Go just made them mainstream again.
- kaba0 4y agoCoroutines are not just the same as “virtual threads” (in a different lingo) These concurrency models can be placed on a matrix based on stackfull/stackless and based on preemptive/cooperative. I think there are/were examples for all of them — the more interesting property of goroutines (and Java’s virtual threads) is turning blocking calls into non-blocking, by using the OS’s async IO behind the scenes for everything.
- za3faran 4y agohttp://cowlark.com/2009-11-15-go/ http://cowlark.com/2009-11-15-go/ :)