5 ms·
Go, while definitely more complicated to learn initially, has the benefit of a very powerful and inclusive std lib. To me, this is one of it's largest benefits
by coreymgilmore 12y ago
Go, while definitely more complicated to learn initially, has the benefit of a very powerful and inclusive std lib. To me, this is one of it's largest benefits: minimal need for external libs and extra things to install.
- aroman 12y agoGo's standard library is vastly smaller than Python's. (though probably of higher quality)
- ominous_prime 12y agoGo's std lib is much more useful though (on top of being higher quality). I've done a number of fairly complex Go projects without leaving the std library -- I can't say the same for python.
- lgas 12y agoCan either of you give any concrete examples of how Go's standard library is of higher quality than python's? I'm honestly curious.
- ominous_prime 12y agoProbably the most visible example is the http library. You would never use python's reference http server in production; Go's http server is not only rock solid, but very high performance. Go's http client is really easy to use; python's http client story is complicated and incomplete, and the majority of people went with the `requests` library.
- lgas 12y agoThanks for your answer. Those examples make sense.
- tete 12y agoGo is about the easiest language to learn from my point of view, due to being extremely small and side effect free, while having GC, etc. What are you comparing with? Other than LISP maybe, but I never really learned that
- res0nat0r 12y agoI'm assuming a scripting language like Python (like they started with in the article) or Ruby.
- tete 12y agoI found both Python and Ruby a lot harder to learn. Both have a lot of context depending stuff, are inconsistent (print not being a function in Python), hard to deal with stuff (Python's unicode support or result of 3/2), weird syntax (__init__) and other things (where to import what from), dealing with lists, etc. Like, Hello World is probably simpler, but building even script style program seems easier and you never get stuck, because of something you don't know yet. I can't really talk about Ruby. I learned Ruby after Perl and Smallkalk, so putting those two together was too hard. Perl was a weird thing. It's possibly the hardest language to learn, but the fastest to program in. Kinda the opposite of Go in that sense. Everything depends a lot of context, tons of tricks, special variables and varying behavior, with default behavior you might not know you want and stuff like that. Also it requires a lot of selfdiscipline, while Go (kinda like Java) forces you to write code the way it is meant to be programmed in. In Perl you always can see whether someone actually programs in Java/C/Shell/Python/... and doesn't know the language well. In Go code one program/library feels like the other.
- khyryk 12y ago> side effect free In which way(s)?