Why Go Is Not Good (2014)
&quot;Go does not support operator overloading or keyword extensibility.&quot;<p>Very much working as intended, I believe. Experience from languages that support those features has shown that what we gain in the very few situations where those extensions make sense (such as defining mathematical operations on vectors using the same symbols that are used in vector mathematics), we lose in too many developers thinking they have a clever shortcut that an existing operator would be perfect for, to the detriment of readability and comprehensibility.<p>This is also the era of code-analysis-by-search-engine, and operator overloading harms that feature significantly. If I need to find all instances of vector addition in my code and I&#x27;m searching for &#x27;+&#x27;, I&#x27;m going to have a bad time.