8 ms·
I think the more appropriate analogy is there's more to a drill than the drill. When you buy a Milwaukee drill, because it shares a battery with other Milwaukee
by citelao 1mo ago
I think the more appropriate analogy is there's more to a drill than the drill. When you buy a Milwaukee drill, because it shares a battery with other Milwaukee parts, it's easier to buy more Milwaukee tools.
So it helps to choose a drill brand with the ecosystem you like, not just one that's a serviceable drill.
(Or you could argue that a language's ecosystem is part of the dang language. Which I agree with).
- purplemoonx 1mo agoFair points, but those preferences seem more grounded in reality than the abstract reasons people say they love a language beyond its interface
- oblio 1mo agoLibraries and frameworks and package management absolutely matter. They're not some abstract thing, they could be the difference between something being done in 6 months or in 2 years. Why do you think people put up with Spring?
- purplemoonx 1mo ago1000% that's why I said "Fair points" I consider npm to be part of "the interface of JavaScript" and to your point it's one of the strongest reasons beyond performance to use Node over some other dynamic language like Ruby or PHP. Python earned its keep mainly because of its library ecosystem (again to your point) but also due to its simple, teachable syntax. My point is that Python is not used because it's highly performant - it's basically the slowest language there is. But because people like the syntax and the library ecosystem (AKA the interface to the language)
- giancarlostoro 1mo agoI still attribute a rich OOTB standard library for Go’s success. You have an OOTB production capable web HTTP server baked into the standard library since practically day 1?
- purplemoonx 1mo agoHave you never heard of Node.js where they got the idea from
- giancarlostoro 1mo agoThey were made roughly around the same time to be fair, but Go's standard library was richer at the time I thought? Even so, JavaScript hate it or love it (I both hate and love it) is massive by virtue of being the primary scripting language for front-end web. I am fully aware of its backend capabilities, but Go gave us: C-like syntax, natively compiled, and a rich OOTB standard library that Google uses in production. Even YouTube adopted Go early on and made Vitess which was a "middle-man" for MySQL which helped YouTube with their back-end starting in 2010, it would help with query routing and sharding, connection pooling, query safety and even optimizing queries before they got to MySQL, as well as row-level caching. Honestly I'm not trying to downplay Node, I respect Node for what it was and is, but Go punched above its weight early on too. I think the industry was starved for a back-end language that was simple, compiled natively (removing a lot of environmental setup overhead) and was production ready out of the box.
- purplemoonx 1mo agoNode.js came way before Go. If you fact-check with AI, it will say "Go was invented in 2009" but anyone who has been around knows it's more like ~2013. Node.js was 90% of the inspiration for Go to exist in the first place. Swift also would have never came about if it wasn't for people doing iOS way better in JavaScript. SwiftUI is basically React conceptually
- giancarlostoro 1mo agoTechnically 2007, but Go 1.0 was in 2009 when the Windows compiler was finally released, Go from 2007 till 2009 was Linux / Unix first. I don't recall when Mac came, but I would not be surprised if very quickly given that GCC worked just fine on Mac at the time. The Go community made Go work on Windows leading up to 2009, the core maintainers of Go did not make the Windows build themselves, they didn't care about Windows being a target. I say this to emphasize how quickly popular it became that it built up a community that wanted it to build for Windows, and they did. 2013 is when the rest of the world was starting to catch on to Go I suppose, Docker came out in 2013, but I distinctly remember learning Go on Windows in 2009 and building web apps, without any third party packages.