7 ms·
skip Golang, go straight for Rust EDIT: as my time for learning new programming languages is limited, I would invest it in learning Rust, rather than learning
by nivertech 7y ago
skip Golang, go straight for Rust
EDIT:
as my time for learning new programming languages is limited, I would invest it in learning Rust, rather than learning Golang or learning both of them.
IMO the only reason to learn Golang is if your already have a legacy Golang codebase or if you want to contribute to various open source projects written in Go, like for example Kubernetes (my first experience with Golang was trying to compile a patched Hashicorp project).
It's the same as suggesting to a front-end dev, skipping Backbone, Ember and Angular and going straight for React.
There are lots of overlapping technologies in our space and learning all of them is a huge time waste.
- Buttons840 7y agoYour opinion is fine, but you need to tell us why. A single sentence adds nothing to the discussion.
- olah_1 7y agoI agree. I would guess the "why" is that Rust is capable of everything that Golang is capable of, except more and better. Not to mention that Rust has a very supportive community to help each other.
- onei 7y agoAfter using Rust for about a year on the side, I get the feeling that it's not quite mature enough yet in some places. On the other hand, I also get the feeling that the development of the language itself has been measured and careful which could also be seen as a bit slow. On the other hand, I hear good things about Go across lots of people I work with although I've yet to sit down and give it a meaningful try. But I also have concerns about the maturity of a language who has jumped to V2 in what seems like a relatively small amount of time. I'm inclined to believe both languages have lots of promise and could easily be the future of software development, but I'd be hesitant to pick either for a project that needs to be maintainable for a long time in case the language changes too much and leaves you with technical debt.
- hu3 7y ago> But I also have concerns about the maturity of a language who has jumped to V2 in what seems like a relatively small amount of time. Where can I download Go v2? Latest is tagged 1.13beta1 Go authors stated multiple times that there are no plans for a Go 2 at the moment. They rather improve the language in small increments breaking as least as possible.
- cyphar 7y ago> Go authors stated multiple times that there are no plans for a Go 2 at the moment. There are plans for Go 2[1], Russ Cox has written blog posts and given talks about design improvements for Go which would go into a Go 2. There isn't a roadmap (yet) but this discussion has been going on for the past year or so[2]. They talk a bit about next steps in the most recent blog post about Go 1.13[3]. [1]: https://github.com/golang/go/wiki/Go2 https://github.com/golang/go/wiki/Go2 [2]: https://blog.golang.org/go2draft https://blog.golang.org/go2draft [3]: https://blog.golang.org/go2-next-steps https://blog.golang.org/go2-next-steps
- vorg 7y agoThey're talking about "Go 2" the brand, not Go 2.0 being a new major version having breaking changes to Go 1.x. There are no plans for a breaking-changes Go 2, only occasional additions to Go 1.x under an ongoing "Go 2" developer relations effort.
- cyphar 7y agoThere was discussion of a breaking Go 2 in the early days (though it would be opted-into by individual modules -- similar to the Rust edition system but with more significant changes). I think the plan now is to only have minor breaking changes -- the originally-proposed (outright breaking) syntax changes aren't in the current proposals. But yes, the current Go 2 proposals are much nicer than the originals. But they do still contain some subtle breaking changes (though they have said they'd add vet warnings beforehand so it shouldn't be too bad).
- hu3 7y agoClearly there's more to it otherwise Go and other languages would be a thing of the past. This is really not a topic for language flamewars and it's even against HN guidelines. I don't understand why people need to scream rust in every other language post like if it was a religion.
- bsaul 7y agoDevil’s advocate here : i think it’s due to the promise rust makes that borrow checkers prevent you from writing unsafe code or race conditions, as well as high level abstractions with zero performance cost. That set of promises really would make any programmer go crazy i think, and become a zealot. Rust is definitely on my todo list, i’m just waiting for the language to mature a little bit more, because some edges still seem a git rough. But i am extremely enthusiastic about it.
- nivertech 7y agoNo language is a thing of the past, since there are lots of projects and codebases written in it. Hell, people still using PHP and Perl. But they are not the first choice for starting a new project. What will happen is that with time no greenfield project will be started with Golang and it will gradually become a legacy language.
- hu3 7y agoVague statements like this contribute nothing to the conversation. Specially when they go against data https://www.jetbrains.com/lp/devecosystem-2019/ https://www.jetbrains.com/lp/devecosystem-2019/ > Go - The most promising programming language. Go started out with a share of 8% in 2017 and now it has reached 18%. In addition, the biggest number of developers (13%) chose Go as a language they would like to adopt or migrate to. And this https://research.hackerrank.com/developer-skills/2019 https://research.hackerrank.com/developer-skills/2019 > Go is the language that developers want to learn the most in 2019
- faitswulff 7y agoI would disagree. Rust and Go occupy very different spaces. This is like saying "skip the car, take a rocket ship." Sure, Rust will go faster in some circumstances, but it's a hell of a commitment.
- olah_1 7y ago>This is like saying "skip the car, take a rocket ship." That's exactly what it is like saying. Sure, some people might not want a rocket ship. That's fine. But that is the logic behind "skip go, take rust".
- nivertech 7y agoI think the main takeaway for me from watching the YC Startup School videos was that doing a unicorn-scale startup vs a small business initially takes about the same effort for the founders. So, why would you choose the latter then?
- olah_1 7y agoWhy would I choose a small business over a unicorn-scale startup? Can you explain why this question is relevant?
- nivertech 7y agoDeveloper investing his/her time into learning a more limited programming language is like a founder investing his/her time into a limited upside opportunity. The initial time investment is roughly the same, the expected upside is very different. Off-course there are lots of people who are using GoLang (similarly to JS) without learning it properly first, but in the long time it will bite them. In order to truly master any programming language ecosystem one need to invest at least half a year anyways, be it GoLang or Rust. Similarly some people rushing to start startups without learning entrepreneurship first and/or bothering to research the problem domain and their competition.
- j-pb 7y agoEverything but being easy to learn, and having low complexity. Don't get me wrong, rust is an amazing alternative for C++, but golang is not targeted at that problem space. It's aimed at highly concurrent networked applications with a high feature turnover and large teams with varying seniority. In those areas development speed is more important than execution speed, and I'd take a few GC pauses over fighting the borrow checker any day. Plus rust ist still lacking a good concurrency story, which is spot on for golang.
- dang 7y agoPlease don't post unsubstantive comments or do programming language flamewars here.
- lprd 7y agoI've been learning Go these days and have enjoyed it quite a bit. Rust is also on the menu this year. Aside from the Rust book, do you have any suggestions on learning material?
- F-0X 7y ago> There are lots of overlapping technologies in our space and learning all of them is a huge time waste I agree. That's why I invested time into looking at Go over Rust. Go will be the better choice for most programs most developers will write. Go 2 even more so. Rust is too complex, and for the applications where a garbage collector is acceptable (>99% of them) it isn't worth it.