6 ms·
IMHO, any language worth learning has a large enough user base in both corporate and academic settings and that there are books written on it. That's my criteri
by SavantIdiot 5y ago
IMHO, any language worth learning has a large enough user base in both corporate and academic settings and that there are books written on it. That's my criteria. If it doesn't have at least 5 books on Amazon, I'm suspicious of it (and from real publishers, and not publishing mills). There's too much wheel-reinventing happening for me to get excited about new languages.
In the last decade I've spent time learning five sufficiently novel languages: Scheme, Ada, Erlang, Rust, and Go. Three of those are from the late 70's. I'm really glad I learned Ada and Rust. I started using Ada for embedded programming, and I'm trying to find more opportunities to use Rust because it so robust. I only studied Erlang, Scheme, and Go because smart people I knew told me I should investigate, but I have not used them.
- rowanG077 5y agoWhat is novel about Go? It just seems like C repacked with a garbage collector and basic concurrent programming support to me. Which both weren't novel even when Go was designed.
- DangitBobby 5y agoIt's just a little bit more work to write a non-trivial program in Go than in a scripting language such as Python, so if you need/want the good tooling and you need/want the significant speed improvement, it could be a good choice.
- jiggunjer 5y agoJulia makes the same claims
- __turbobrew__ 5y agoGo doesn’t have the libraries of python however. In certain computing domains you would first have to spend 10 years rewriting the python frameworks in golang before you could even be on parity with python. I am most familiar with scientific computing and GIS applications — python is miles ahead of golang in ecosystem support in those domains.
- remexre 5y agoFor scripting and "just throwing something together for internal use," Python is a pretty traditional choice, but I think Go is able to outclass it for maintainability -- static typing and somewhat better package management are a big help, and Go has a comparable ecosystem.
- marsdepinski 5y agoWe'll see in another ten years
- kbenson 5y agoIf that was a useful argument for the future we'd all still be using Perl. I mean, I still write a lot of Perl, but everyone else would be too.
- Zababa 5y agoAnd if this wasn't a useful argument many more people would use OCaml, Crystal, D, etc ; and every new language wouldn't be met with "I like it but it doesn't have the libraries I need so I'll keep writing Java".
- deleted 5y ago[deleted]
- copperx 5y agoNaive question, can't you just call Python code from Go? I don't see the problem besides that performance of the Python libs wouldn't be as good as if they were written in Go.
- deleted 5y ago[deleted]
- Lutger 5y agoGo doesn't have any substantial innovations in the set of language features, or maybe none at all. I believe it is instead the whole of a sober and efficient toolchain that effects tedious but simple to understand and work with code, which gave it such a great appeal. It's like a modernized C with a good implementation and out-of-the-box no-nonsense tooling, and the tricky bits left out. Nothing really new to see, but there was nothing really like it when it took off. Very utilitarian. Rust, Java, C#, C++ - those are all very 'complex' or 'bloated' in many different ways to an avid Go programmer. I'm not promoting Go (I personally don't like it), I'm just trying to understand it's appeal and popularity and what is different about it. Quality and completeness of implementation, tooling, etc. by having a big company behind it also helps of lot of course - but it isn't sufficient.
- azth 5y agoGolang is effectively from the late 70's as well.
- yjftsjthsd-h 5y agoCould I trouble you to compare Ada and Rust, especially in terms of safety? I'd like to be able to write low-level code without dealing with the insanity of C, and my top picks are Ada (traditional answer to "safe language"), Rust (the up and coming answer to "safe language"), and Pascal (friendlier than C and way better at least for memory safety), but I'm reluctant to learn all of them to sufficient depth to be able to decide in retrospect which one was worth learning:)
- Bayart 5y agoMemory "unsafety" isn't bad. It's just a feature. In fact it's a feature some people want and need. I'd still start with C. There are all the ressources in the world to learn and it's better to know how to manage boundaries and memory allocation by hand than the other way around.
- Zababa 5y agoMost of the time memory unsafety isn't a feature people want or need.
- Bayart 5y agoThere's a significant niche for such features, we're dozens. That's the reason why people like stuff like Zig. Pointer arithmetic isn't just dangerous, it's cool too.
- Zababa 5y agoI'm not saying that memory unsafety is useless or even undesirable, I think the "problem" is that it's the default in "current popular and actually used high-performance languages", which means that stuff that needs to be fast and secure (like web browsers) have a hard time. Maybe my "most of the time" was too strong and I ignored big domains that I don't know. But for the part that I relatively know (web stuff mostly), safety and speed together matters a lot. The thing is, since unsafety tends to be viral (an unsafe part of your stack can compromise everything), people get very paranoid about "unsafe languages".
- eicossa 5y agoWhat's the difference between a real publisher and a publishing mill ? How would you categorize No Starch Press, Manning, OReilly as per this rubric ?
- karolist 5y agoAs someone who reads 10-20 tech books per year I rate PragProg the highest, then O’Reilly, though not everything is of the same quality there. PacktPub is absolute trash tier. Don’t remember others you’ve mentioned as good or bad