The Go Compiler Needs to Be Smarter
Sure, if your goal is to build a compiler that outputs the fastest possible code.<p>If your goal is to apply the &quot;principle of least surprise&quot; to the generated machine code, then that eliminates or constrains most interesting optimizations, including procedure inlining, dead code elision, and compile-time evaluation.<p>Go is a &quot;principle of least surprise&quot; language, based on a vision of simplicity for C that hasn&#x27;t existed among actual C implementations (outside of maybe Plan 9) for decades now. It&#x27;s yet more suckless idiocy: sacrifice everything, including utility and friendliness to end users, to buy &quot;simplicity&quot; for hackers. No wonder the suckless folks love Go so much.