5 ms·
There are quite a few things I like about Go, but it's just so hard to leave the safety and reliability of TypeScript. Go's limited type system is its fatal han
by ryanplant-au 9y ago
There are quite a few things I like about Go, but it's just so hard to leave the safety and reliability of TypeScript. Go's limited type system is its fatal handicap IMO.
- blowski 9y agoIt’s interesting how divisive Go’s type system is. For some people it’s the main reason they use it, for others it’s a fatal handicap. FWIW I predominantly use PHP, so I have no dog in this fight.
- iends 9y agoI think a lot of the differences between how people view Go is based on where they are previously coming from. The C/C++ folks are used to worse or more complex type systems so they view Go as fresh air. The “better python” people love the easy to use type system and the performance improvements. But those “better python” people are used to things like package managers which the C/C++ have done just fine without. The Java people don’t understand why they should give up an expressive type system for faster compile times. (Might see this from people who love C++ templates too.) At least that’s some generalizations I’ve observed, YMMV.
- w4tson 9y agoWhat a great comment. I know it’s a bit of a generalization but it’s helped me understand why some might get fanatical.
- stmw 9y agoGood points - where one comes from really makes a difference.
- erik_seaberg 9y agoI think some programmers want to carefully select a type specialized data structure, and others just bury the problem under a pile of array iteration. And to hell with compile time. If the build takes 10x as long but we run 5% fewer prod servers, that pays for itself in minutes. And if type and nullability checking prevents one prod outage, that saves more time and stress than every build I've waited for this year.
- iends 9y agoI often don’t understand the Go teams obsession with compile times, but I’ve never worked on large Java or C++ code based that take forever to compile. I mostly want them to optimize for runtime performance even at the expense of compile time, but this does not seem popular with the core team.
- owaislone 9y agoYou're right. You need to have worked on Google scale C++ programs to understand and acquire the obsession.
- rubber_duck 9y agoJava - expressive type system ? The bar must have been set really low by Go...
- 323454 9y agoJava has generics, Go doesn't.
- dullgiulio 9y agoI am not too familiar with TypeScript (I only know that typing is optional for backwards compatibility). What are some practical examples of strengths it has over Go?
- piano 9y agoMuh generix!