On Mon, 2013-04-08 at 23:51 +0200, Paulo Pinto wrote: […] > Lets not forget the lack of generics, the religious view against dynamic > linking and errors for unused variables and imports.
OK so every language has it's religious side: Go's obsession for static linking is indeed a problem and cgo is not really the solution. Another religious element is that the language is tiny (which I find good), and distributed version control for imports is included in the language (which I think is brilliant). I want this is C++, D, Java, Groovy, Python, Kotlin, Ceylon, Scala. etc., etc. Why are 21st century languages still not connected to 21st century version control? For me, Go has introduced so seriously sane innovation here (*). I am not a fan of the unused variables and imports being errors, but I can live with that. What I can't live with is the fascism of gofmt. Yet I do :-( I have yet to find anyone who can tell me why Go must have generics with a cogent argument that makes sense to me. OK so C++ has generics; templates, how wonderful. Java has generics, and type erasure, great. Scala, Ceylon and Kotlin have huge infrastructure to reify generics on a platform with unreified generics. At least C# got that right. Why is the Go idea of total separation of state and behaviour not a good experiment, after all JavaScript, Python, etc. have shown this works even without static type checking. I generally don't actually care about the state of the objects in a container, all I care about is whether they responds to the messages I want them to respond to. Let's do object-oriented programming: state is supposed to be hidden behind the behaviours. Why does this mean I have to bind the exact behaviours to a given state? (*) Though it wasn't the core developers that pushed it into the language! -- Russel. ============================================================================= Dr Russel Winder t: +44 20 7585 2200 voip: sip:[email protected] 41 Buckmaster Road m: +44 7770 465 077 xmpp: [email protected] London SW11 1EN, UK w: www.russel.org.uk skype: russel_winder
signature.asc
Description: This is a digitally signed message part
