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

I've done primarily python for a while and just started a project in Go. Still very new to Go, so take this all with a grain of salt, but my initial reactions are that:

- it is expressive. I find myself cursing and pull my hair out far less than when I'm writing, say, Java.

- That said it does still feel less expressive than python, but between me just knowing python much better and stack overflow being much more full of python answers, I can't evaluate this objectively.

- Writing (more accurately, updating and maintaining) large applications in python is at times very unpleasant. Pyflakes is pretty good, but bugs like a method name from a different class being spelled incorrectly or having the wrong number and/or types of arguments will inevitably slip into production. I've also found that people use _private naming far too sparingly in python (maybe just because it looks ugly?) which leads to modules that expose dozens or even hundreds of methods to the rest of your app, a huge number of which are unnecessary and end up being used redundantly. The fact that go is a statically typed language built by people who have spent decades working on huge codebases was probably the biggest draw to me.

- Haven't used goroutines or concurrency much yet, but I sleep better at night knowing they're at my fingertips :)

- I feel like I've just scratched the surface of them, but Interfaces in Go are amazing. From what I've seen so far, they seem almost as cool as the Haskell Typeclass system.

- One downside is it has no built-in REPL. But since it compiles so fast I'm sure the third-party ones will get pretty good in a matter of time.




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

Search: