5 ms·
The more I read about it, the more I want to learn Go before C/C++. Is there any reason not to?
by joelg236 13y ago
The more I read about it, the more I want to learn Go before C/C++. Is there any reason not to?
- enneff 13y agoIt will certainly take a lot less time to learn Go than C, and even moreso compared to C++.
- jamesaguilar 13y agoUnless you're building a database or a game, it's probably fast enough.
- talloaktrees 13y agoWhile I wouldn't use Go to make a game because of lack of good libraries/frameworks, performance is fine for less-demanding games (2d, stuff, minecraft, etc)
- benbjohnson 13y agoIt's worth noting to joelg236 that you can easily drop C into your Go program using CGO (http://golang.org/cmd/cgo/ http://golang.org/cmd/cgo/) for parts that need to be extremely performant. You incur a context switch overhead but it can really boost performance in some use cases.
- dom96 13y agoI would suggest learning Nimrod (http://nimrod-code.org http://nimrod-code.org) instead.
- elviejo 13y agowhy?? what does nimrod bring to the table... how is it better that c/c++ and go ??
- jff 13y agoHere's why: https://news.ycombinator.com/submitted?id=dom96 https://news.ycombinator.com/submitted?id=dom96
- mayanksinghal 13y agoThat doesn't really explain anything.
- dom96 13y agoThere are many things which in my opinion set Nimrod apart. Its syntax is python-like with a mix of Pascal which I prefer over Go's C-like syntax. Nimrod has a very powerful type system with generics, it also has AST macros and templates which Go does not have, it has exceptions which are not discouraged from being used (and gives you a nice stack trace when things go wrong), it also has first class iterators and it compiles to C, C++, Objective C and JavaScript. By compiling to C it makes wrapping C libraries very easy and a tool called c2nim makes this process even easier. Oh, and it has exception tracking and a very cool effects system.
- zemo 13y agoshowing off that your language has features that Go doesn't have is kinda missing the point of Go. Half of the reason that people like Go is how few features it has; not how many.
- jussij 13y agoStarting with Go you could end up not bothering with C/C++.
- dinkumthinkum 13y agoBut why is that? If you're goal is to be a very knowledgeable and proficient programmer, I find not knowing C/C++ at all to be a lot hard to take seriously.
- jussij 13y agoBecause some languages are more enjoyable to code than others. For example, I learnt C before C++ and found coding in C++ was more enjoyable than coding in C. Since then I've been doing a lot of C# coding and I find that much nicer than coding in C++. From what I've seen of Go it's seems quite a nice language. So by getting proficient in Go it might actually be too frustrating to then try and start coding in C/C++.
- dinkumthinkum 13y agoSo this attitude I find hard to take seriously if your goal is to become a well versed, proficient programmer.
- jussij 13y agoI've written a commercial programmer's editor that consisting of about 200,000 lines of C/C++ code. http://www.zeusedit.com http://www.zeusedit.com Now I don't consider myself an expert in C/C++ but after writing and debugging that many lines of C/C++ code I do consider myself proficient. But that doesn't change the fact that when it comes to languages, I find that C# is easier to work with than C++. But that is just my opinion.
- eliasmacpherson 13y agowow, how long have you been writing that editor for?
- asveikau 13y agoLearn in any order you want. I wouldn't completely forgo C and C++ though.
- zura 13y agoIf you really learn C++, it will take some time, of course, but afterwards, you'll be able to swallow any new language in a week or two (or three, for Haskell).