7 ms·
Can anyone recommend Go learning resources for someone coming from a c# background?
by kzisme 10y ago
Can anyone recommend Go learning resources for someone coming from a c# background?
- geodel 10y agoI'd say tour.golang.org is quite good. But the most important thing I feel for C# devs is to know that there is no Visual Studio like fancy IDE for Go. People may be debate merits/demerits of this situation with valid arguments. However if you are in everything IDE camp Go might just not suit you.
- towndrunk 10y agoIntellij has one in the works. You can download and run the betas now. https://www.jetbrains.com/go/ https://www.jetbrains.com/go/
- literallycancer 10y agoVS Code with the extension has nice autocomplete and navigation features (peek definition and such).
- kzisme 10y agoWhich editor do you prefer?
- mring33621 10y agoAs a Java guy who has dabbled in Golang and I have had good luck with VSCode IDE + command line for compilation/build options. If you're in Windows, get Git Bash or similar for a unixy command line.
- mattlondon 10y agoVisual Studio Code is a free text-only "IDE" with very good support for Go (as well as other things like C#, TypeScript etc etc etc). Autocomplete/Intellisense, peek-/goto-definition, error-highlighting, git-integration, visual debugger, tabs, mini-map, extensions etc etc. Not sure what else you need really? Sure there is no GUI-builder, but then GUI in golang is in a very early stage. I use it a lot for my work (Linux & Mac OSX) and personally at home too (Win10). I am not in any way connected to VS Code or MS, but I think it is a really good editor both for Go, but also for all of the other stuff it supports.
- literallycancer 10y agoI was happy with the GOPL by Kernighan & Donovan, but I'm not a C# person, so I'm not sure what you want to skip/focus on?
- mattlondon 10y agotour.golang.org is a good start to get familiar with the language's features. After that it is just worth picking a mini-project and getting cracking. The website https://gobyexample.com/ https://gobyexample.com/ is a great place to see some simple, real-world examples once you start to actually try and do something. There will be a lot that is familiar to a C#/Java dev, but also a lot of the stuff you might have got familiar with in C# is missing (famously generics are not there, but also other things like Linq etc has no native equivalent in go, although there are libraries that offer similar functionality). Good luck! :-)
- kzisme 10y agoPicking a mini-project (without completely re-inventing the wheel) was the harder part for me - I did start out with tour.golang.org, and just reading their docs too. I'll still checkout https://gobyexample.com/ https://gobyexample.com/ - thanks for the link!
- oblio 10y agoNot that I'm against learning new languages, but your question piqued my interest. Are you thinking about transitioning from C# to Go? If so, is it because you think the language is cool or is it because in your region there are more/better paying Go jobs? I ask this because I can't really imagine someone transitioning from C# to Go, especially these days that dotnet core is available. Hell, I'd first try to transition to F# :) (Yes, I know that these are loaded questions and that I'm biased against Go..., but I think the questions are valid even in these conditions)
- kzisme 10y agoI'm still a "recent" grad, so my answer might be a bit strange. I've been doing full time C# for almost 2 years now, and while I enjoy it one of my biggest fears is getting stuck into only knowing one technology/stack. I don't have a professional need for using Go currently, but I've always had an interest in learning new languages. Aside from those aspects - the people who implemented and worked on Go (Rob Pike and Ken Thompson in particular) I find very interesting.
- oblio 10y agoIf I'd want to diversify I'd probably look away from another Algol-inspired language. That's why I mentioned F#. Go is an extremely practical language, maybe too practical, almost like C#. I'd rather look at something which takes a different approach, something which includes programming language research from the 90s, at least :)
- sAbakumoff 10y agoGolang is really, really easy to learn. And as always the key is practicing. Just pick up some medium size project and start building it. Stack overflow will help with the learning curve. This is how I learned to love Golang having 10+ years c# background.
- kzisme 10y agoWhat sort of mini-projects have you done thus far? That's the biggest hurdle I've been trying to overcome currently with learning Go (or any new language). Other than re-writing small problems, but that isn't terribly exciting.
- sAbakumoff 10y agoThere was a nice example of such a project recently in HN https://news.ycombinator.com/item?id=14073042 https://news.ycombinator.com/item?id=14073042