Nobody can design well upfront for a large project. Constant refactoring is need for large projects. Go is super good on this.
* Generics is not ready yet.
==========
The distributed computation project was re-written multiple times. I tried different approaches to address the generics problem. I even tried to make it work fairly well with LuaJIT, but still decide to change again due to the need to learn a different scripting language and losing the type checking.
* Refactoring is powerful
==========
Nobody can design well upfront for a large project. Constant refactoring is need for large projects. Go is super good on this.
* Generics is not ready yet.
==========
The distributed computation project was re-written multiple times. I tried different approaches to address the generics problem. I even tried to make it work fairly well with LuaJIT, but still decide to change again due to the need to learn a different scripting language and losing the type checking.