Hacker News new | ask | show | jobs
by Yoric 1575 days ago
As far as I am concerned, Go feels like an attempt to write a systems-oriented Python. Or perhaps a systems-oriented language targeting Python developers.

It's a very reasonable objective. I just happen to not be in the target audience.

3 comments

Go felt to me more like improved C with GC - not surprising when Ken Thompson and Rob Pike are involved.

With Go you are going to be writing a ton of very explicit for loops. The error handling also feels a bit weird.

To me it seemed like a regression not to have map, filter, apply, reduce. I wrote my C for loops in the 90s!

To me something like Scala feels more Python like.

Both can handle similar data munging and ML tasks. Interfacing with DBs(relational or otherwise) again I'd take Python or Scala over Go just because of convenience factor.

I suppose it is also question of libraries. I've grown too comfortable with the vastness that is in pip or maven. By comparison Go library landscape is relatively bare.

Then again those native binaries of Go are so appealing...

The funny thing about Go is how many different things you can recognise in it.

I have a little C experience (in the distant past -- PVM, lex/yacc, Xview). I also have a little Occam and Modula-2 experience. Lots of Java and from then on a bunch of less comparable interpreted languages.

Go feels idiomatically more like a Modula-2, Wirth-language expression of Occam to me than C.

I like an awful lot of it.

> The error handling also feels a bit weird.

I think it is deliberately weird; it is designed to make you consider error handling right up front, which is where the "system language" thing comes in. No cascade of exceptions.

I think that's pretty much aligned with Google reasoning back then. Go was designed to make it easier to onboard their fresh grads + scientists hiring,which were more familiar python to do systems stuff.
Yes, there is a well-established PHP to Go pipeline among developers.