Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The following features make Go as the "go-to" language for me:

1.Coroutines, Channels and Select: Concurrency with built in synchronization and communication is accessible(especially if your are new to concurrent programming) enough to handle "most" of the grunt work. 2.gofmt: Formats your code for you. No more debates(procrastination) on that. 3.godoc: Generates documents. No more looking for the best 3rd party tool and wasting time. 4. Defer and Close: Helps you to do better post-operation tasks i.e better resource management. 5. Error Handling: Multivalue returns. 6. Type Hierarchy: No type hierarchy exists in the conventional sense. 7. Slices & Maps: Just two of them, and that's why I love it. 8. Brevity and Readability: Clutter free syntax. WYSISWYG language. 9. Philosophy of Exclusiveness: This is most important non-feature which makes Go different and exciting. Go's vision is to be an exclusive programming paradigm rather than being an inclusive one. In this Google I/O video: http://www.youtube.com/watch?v=sln-gJaURzk, Robert Griesemer speaks about an incident that how in a "D" programming conference, the developers intended to include a new programming paradigm in the future. This is what sold it for me as I care more about how the language will grow instead of what new cool features will come in.

Performance is a contentious issue. In an ideal world, performance would just depend on the platform and the language, but in reality it also depends on the skill and idiosyncrasies of the programmer. For me, that is a non-issue.

Quick Reference to Go talks: http://code.google.com/p/go-wiki/wiki/GoTalks



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

Search: