Hacker News new | past | comments | ask | show | jobs | submit login

I actually had to make a decision on the same thing a couple of weeks ago.

Golang is probably the better programming language. The main reason for this is its statically typed, and the type system is dead simple.

If I want rock solid code in Python, I have to write tests and isinstance checks everywhere. You begin to feel like making your reinventing the wheel just to get type safety.

Golang on the other hand won't let you compile of the code is wrong. In various ways the linter is more strict than pep8.

I also love how they kept struct. It leaves the impression your working with bare metal. The idioms for goosing, like Python, become intuitive and set in.

The issue that made be give up golang is the libraries are a joke. I'm talking dead simple things like orm and logging alone rule it out for anything serious.

You also begin to miss things like REPL, Python prompt toolkit, nummy, Ipython, etc. Django and sqlalchemy are things you'd kiss.

Golang is a better programming language, but it's way too green. You'd be reinventing the wheel constantly,




I will 2nd that native logging in GO is awful (and most of the packages for logging are pretty bad too). For me logging was missing basic levels, and any sort of contextual capability.

I would like to know what issues you had with it, as I'm in the middle of building out my own replacement logging package


> I would like to know what issues you had with it,

Specifically, I wanted "logging" from python; leveled logging handlers, with colors (like colorama) and per-module level permissions.

> as I'm in the middle of building out my own replacement logging package

None of the alternatives did exactly what was needed. And this extended other modules as well. It turned out we would be maintaining forks of all these projects.

If you haven't already, https://github.com/avelino/awesome-go#logging is a good resource.

If the original poster / you do decide to go with golang I wish you the best. It's a great programming language - but you're time spent reinventing the wheel will outweigh golangs benefits over python.

And it's kind of a shame. The benefits of the static type checking, concurrency, compile times, testing, etc.

I can tell you, in every category - at the present moment - golang's available libraries fall short to what you get in python. Not golangs fault, it's just want maturity gives you.

Even things like asserts in python, (assert is even a builtin in python, no need to import unittest!) is non-existant in golang. It's not a "bad" thing.

My outlook for golang it strong - my concern is that you may drain away your runway doing what you should otherwise be doing on freetime.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: