I actually quite like Go. Sure, it's not perfect, but I really like how brutally simple it is. There's very few frills, and this makes code easy to understand, most of the time.
One of the things I find really interesting about Go is how it implements string comparsions. Let's say you're building an internet-facing application with user accounts. The site doesn't matter so much as long as there's some user input that must be checked for validity. It could be a discount code, or perhaps you want to check whether a particular username exists already. The crucial point is that, for whatever reason, you've decided to do this validation in Go1.
At some point you may need to compare two strings, either to authenticate a user or for some other reason. This is pretty simple in Go:
var luckyGiveaway = "GIMMEFREESTUFF"
type Order struct {
// ...
DiscountCode string
}
func validateDiscount(order … 


