7 ms·
> Engineers who use Go are also especially strong. If you know why, please let me know. Because there is almost no reason to learn Go. Most shops want JS/Java/
by johngalt 8y ago
> Engineers who use Go are also especially strong. If you know why, please let me know.
Because there is almost no reason to learn Go. Most shops want JS/Java/Python/C# etc... The primary reason to learn a language like Go is because you want to for it's own sake.
It's not that you must learn Go in order to be good, or that knowing Go makes you better. Rather it's difficult to be bad and still have the desire/interest to spend time learning something unnecessary.
- eindiran 8y agoThis is what Paul Graham calls the Python Paradox; namely that in 2004, when Python jobs were relatively more rare, you could find smarter Python engineers than Java engineers for any given project. "[I]f a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it. And for programmers the paradox is even more pronounced: the language to learn, if you want to get a good job, is a language that people don't learn merely to get a job." http://www.paulgraham.com/pypar.html http://www.paulgraham.com/pypar.html
- pvg 8y agoBoth of these are still just very roundabout ways of telling yourself you're awesome because of whatever mildly unusual thing you think you might be doing.
- vram22 8y agoHe he, nice contrarian opinion. Me like, mucho (and gracias). The other side may also be true, but this one can be too. Folks on here and elsewhere (juveniles of all ages), time to learn about the age-old saw that there is more than one way of looking at it / different strokes for different folks / circumstances alter cases / get out of your echo chamber / filter bubble / etc.
- bitcrusher 8y agoAnd this comment is just a subtextual justification for making sure you still feel valued for not doing anything unusual. This could go round and round. The point is that there SEEMS to be a correlation with people who learn things for the sake of learning them and folks who do well at exercises that test for adjacent skills.
- pvg 8y agoyou still feel valued for not doing anything unusual I didn't really express any thoughts or feelings about doing unusual things, real or perceived. Doing unusual things can be great! Telling yourself you are awesome can also be great! I do think, though, that the type of thought expressed in the "The Python Paradox" and related writings (say, the bit about blub language programmers) is pretty lousy. It was lousy then and has aged even more poorly.
- antt 8y agoOne day you wake up and have your own custom firmware on your hacked together laptop which is running a Linux that's using three different package managers on top of custom built kernel and x. Each step seemed like a good idea but when taken together you wonder what when wrong and when.
- ChrisCinelli 8y agoI think that's exactly it. The problem is when these articles come out and everybody try to learn Go and use VS Code so they think can become smarter or at least being perceive as such :-P
- mrdoops 8y agoGo is a language designed to take CS college graduates to productive engineers at Google with as little fuss as possible. Considering it was designed for an organization in the scope of Google, it's less likely to be the best option for something like a startup, small business, or even a medium size business.
- mawburn 8y agoI feel like you should spend some time with Go. If I were building a startup, I would probably choose Go for core infra for being able to move quickly as a developer and write incredibly performant code with about as much mental overhead as most dynamically typed languages. Anecdotally, I've seen it replace Java in quite a few small and medium sized established companies.
- Nimitz14 8y ago> I would probably choose Go for core infra for being able to move quickly as a developer At the company I used to work at it took nearly a 1000 lines to replace an 80 line bash script. So I can't help but laugh at this statement.
- feketegy 8y agoSince when LoC is a meaningful metric?
- dogma1138 8y agoSince always but it depends on what you actually take into account. More LOC means more opportunities for error, and more resources needed to review that code and more time required for a new developer to get familiar with the code base. That said if you have 85 LOC vs 1000 it usually means that the 85 LOC “app” used a metric ton of external dependencies which are on their own a good source for problems. When comparing apples to apples (as in both apps use dependencies equally) I don’t see how such delta can be caused by using a different language, even using assembly would likely not cause this much inflation.
- Apocryphon 8y agoDoes this hold true for Dart, one wonders.
- glenrivard 8y agoSuspect with Flutter we will see Dart gain some traction. Personally I like Dart and easy to pick up.
- SiVal 8y ago"Because there is almost no reason to learn Go." No, that's not it. It's that if you can only learn one programming language, Go is not a very good choice, so those who learn Go are almost always multilingual ("lingual" as in programming languages, not natural languages). Python and JavaScript are Swiss Army knives with outstanding ecosystems that make them excellent choices if you can only afford one tool. There are plenty of reasons to learn Go but, as a more specialized tool, it makes a better component of a nice toolset than a solitary multitool. My anecdotal experience says that 1) most programmers are monolingual, 2) almost all Go programmers are multilingual, and 3) the average multilingual programmer is a better programmer than the average monolingual programmer for various reasons, so the average Go programmer is better than the average programmer. And, by that logic, the average Rust, Haskell, Erlang, Lisp, etc., programmer would be, too.
- danans 8y ago> My anecdotal experience says that 1) most programmers are monolingual, This surprises me as I've never worked on a nontrivial system that's also a monolingual system. There's nearly always another language to use to get the job done, whether for configuration, scripting/automation, or because backends and UIs are written in different languages, especially for internet-based software.
- tatami 8y agoIsn't most software rather trivial? Like in copying strings around.
- dagw 8y agoThere's nearly always another language to use to get the job done Sure, but in most cases programmers spend most of their time only in one 'part' of the system and only really have to know the language that part of written. In general it doesn't matter if the back end server is written in Lisp, Java or APL, as long as it talks to my part of the system in the way it's supposed to.
- danans 8y ago
- golergka 8y agoWouldn't it be Rust or Haskell by this logic?
- akerro 8y agoI really feel like learning Go and Rust made be better Java developer.
- Shorel 8y agoIn that case, D developers should all be programming geniuses. Because even less people use D than they use Go. :)