3 ms·
Not, that this matters much, probably a technicality Dart is the language google is in a way selling, as the dev language for their new mobile platform flutter
by systems 5y ago
Not, that this matters much, probably a technicality
Dart is the language google is in a way selling, as the dev language for their new mobile platform flutter
Go, just happened, most available online material suggest that Go did really just happen
Rob pike have his taste, and build Go, in my opinion in the spirit of C, a pragmatic rather than theoretic effort
Go success, I think was not something that google really pushed for, it just happened because it seem many developer seem to prefer to use simpler languages, and deal with complexity "of using" a language, rather than learn a complex language and deal with the complexity "of learning" a language, developers are more engineers and craftsmen, rather than scientist
- Zababa 5y agoThis is what people often regurgitates when talking about Go but I don't agree with most of it. "simple" is relative. Clojure people love to talk about simplicity too, but for some reason I imagine most of them wouldn't agree with Go programmers on what "simple" is. SML has plenty of "simple" parts too. Sum types checked by the compiler instead of having to think about "if err != nil"? That's what I call a pragmatic choice. Immutability in most cases? Again, a pragmatic choice. Option instead of checking for nil, and having the compiler do your work? Again, a pragmatic choice. If we were talking about Haskell, I would agree, Haskellers get easily excited by academic ideas. But things like algebraic data types, pattern matching and immutability are craftsmen tool. As a proof, you can see most of these ideas in Go, but they're half-formed. Returning a result and an error is a result type, but you have to do everything manually. The "switch on steroids" in Go is a half attempt at doing serious pattern matching, type switches are a proof of that. The name of the variable is here before the name of the type, but the ":" is not here. I'm not saying we should throw everything from Go away and all start programming in SML. I'm saying that people that worked on Go were too dogmatic to include pragmatic features that would have made it a better language. You can see this easily, from Rob Pike claiming that taxonomy is the least interesting kind of science or something like that, and thus a more useful type system is unnecessary. This is dogma. Go didn't "just happen", Go had the support of Google to write a high quality and extensive standard library, and all the tooling around it. That takes a tremendous amount of time and money. SML or OCaml doesn't have that, so it's harder for them to compete. I assure you that if Go looked like a garbage collected Rust, while still having all the great tooling, the easy concurrency, the standard library and all that good stuff, its success would have been the same if not better.