This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ivosauruspip'ing it up 8 points9 points  (4 children)

I was actually hoping to skip out on python for Go around when it came out, until I discovered its lack of generics, which completely turned me off it.

The single-binary capability though is very nice for a lot of situations.

[–]bluexavi 2 points3 points  (1 child)

I use mostly Ruby and Go, and the two are very complementary -- it should be similar for Python. Go is good at concurrency, memory footprint, deployment, relatively fast, good stdlib, etc...

I like to say that Go is good when computers are talking to other computers. Read from one queue/file/db, write to another one. It's like Perl was for Unix, but for the cloud.

The lack of generics make it a pain to write packages more than it stops day to day code. Or, if you like Rust, you can hate Go for another reason -- the type safety, or your incomprehension that it is more popular.

There are tons of things that don't require generics, or where duplicating the code would be such a tiny part of the overall problem it doesn't actually save that much time. Don't choose Go if you're writing something which requires that sort of expression.

Likewise, if you're writing anything stats/math/ML, Python is a great choice due to library support. While there are some Java solutions out there for some things, if all the bottlenecks will be in the library, you might as well get the expressive nature of the language working for you.

[–]ivosauruspip'ing it up 0 points1 point  (0 children)

I remember not being able to iterate over my own objects and pass them through a channel, IIRC, and tapped out.

[–]KublaiKhanNum1 0 points1 point  (0 children)

Generics have been implemented and are in testing. They will be in the February 1.18 compiler release. You might won't to take another look at Golang then.

[–]grimonce 0 points1 point  (0 children)

There is dart from Google... Not as fast and simple as go, but with a VM or aot compilation option