What is unsafe about it? You you still need to have type assertions before you can actually use interface{} object as an actual data type and the type assertions give you the type safety. It is not any less safe than a python equivalent if that is where you are coming from.
Why have static types in a language where you need runtime checks to replace all but the simplest uses for a type system. Even java learned this lesson.
Java is more verbose than necessary. For example in Scala there's https://github.com/mandubian/play-json-zipper this for example. But how is it more painful than Go? Json is a very simple type to represent, after all. Whatever Go has can be emulated by pre generics java. After all, their type systems would be equivalent modulo structural typing.
2
u/flying-sheep May 26 '14
armin has better points as this guy when he’ bitching. i still don’t agree at all with both, though. see here for my rebuttal.
and the only thing that completely turned me off of golang is the missing generics (your second point). i can’t even implement a tree, wtf.