← Back to context

Comment by NateDad

11 years ago

For anything larger than a trivial program, go is no more verbose than python. For small programs, there's too much variance to really say what language is less verbose, because you can always hit cases where one language has something in the stdlib and one doesn't.

The only place go is more verbose is sorting, and lack of map, filter, and list comprehension. Most of the latter just means you need a 3 line loop where you have one line in python. But that should not be a great effect on any reasonable size program.

You can say that, but it doesn't make it so. Go here: http://rosettacode.org/wiki/Category:Go for many examples of more succinct Python with better commenting than the Go code, for example: http://rosettacode.org/wiki/Align_columns

  • forgive the copy-paste response from elsewhere on thus thread.

    an example from https://www.spacemonkey.com/blog/posts/go-space-monkey -

    we decided to transliterate our 90k lines of Python directly to Go, line by line

    The 90K number includes our tests, but without tests, the Python codebase is 36,784 lines of code. Those same lines of code became 41,717 lines of Go code. So, not that much of an increase. When you consider that's just 4,933 more lines, it's not crazy to assume most of those are closing braces.

    I'd say closing braces and trivial expansions of list comprehensions into 3-5 line loops.

    There's a real life example of direct transliteration, not just a rewrite. That's 13.4% more lines. I think that's pretty close.