In summary, that will make the subset of Go which is capable of writing the runtime code available to users.
Purposes:
-
Sometimes we want to write libraries in Go that would be linked by other languages. Most of the time a library equipped with its own runtime would be too heavyweight.
-
Compiler-aided guarantee of zero-allocation code. That would make Go usable in certain extreme environments (like writing IRQ handlers!). Writing performance-critical tight loops can be benefited as well.
-
Much economical binary size for tiny programs that don't require full-fledged GC and concurrency support (like those simple utilities whose jobs are mostly calling syscalls).
-
Potentially we gophers can invade further into C's territory.
-
Save C programmers from the living standard belonging to the last century.
In summary, that will make the subset of Go which is capable of writing the runtime code available to users.
Purposes:
Sometimes we want to write libraries in Go that would be linked by other languages. Most of the time a library equipped with its own runtime would be too heavyweight.
Compiler-aided guarantee of zero-allocation code. That would make Go usable in certain extreme environments (like writing IRQ handlers!). Writing performance-critical tight loops can be benefited as well.
Much economical binary size for tiny programs that don't require full-fledged GC and concurrency support (like those simple utilities whose jobs are mostly calling syscalls).
Potentially we gophers can invade further into C's territory.
Save C programmers from the living standard belonging to the last century.