I&#x27;ve posted reasons why here : <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10949667" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=10949667</a><p>more reasons:<p>On error handling, in Go most of libraries and even some part of the std lib, erros are constant string, which mean that for example you can only do<p>`err == foo.DUPLICATE_KEY_ERROR`<p>but you can&#x27;t extract which key, or then you start to have to either use an external library to do some string masking&#x2F;unmasking, which complicate quite things and add one more dependency, or just to say &quot;screw it, i will just log &#x27;duplicate key error&quot; which is unoptimal<p>I really did try go, to the point I even proposed a fix in the std library for a long standing bug in the xml library <a href="https:&#x2F;&#x2F;go-review.googlesource.com&#x2F;#&#x2F;c&#x2F;15684&#x2F;" rel="nofollow">https:&#x2F;&#x2F;go-review.googlesource.com&#x2F;#&#x2F;c&#x2F;15684&#x2F;</a> , but not all the reason stated above makes me consider go as &quot;yes sure it&#x27;s an improvement over php&#x2F;python&#x2F;c++&quot; but rust is like an even bigger improvement