Bark Beetle (Scolytinae) Gallery

2006-10-20: Coding Style

A com­piler is a thing that takes some input, pro­cesses it in some way, and drops out some out­put. It nor­mally also out­puts inform­a­tion to the ter­minal for the developer. It’s not that dif­fi­cult to under­stand and there are hun­dreds of com­pilers out there that work this way. Well known, mainly in rela­tion to pro­gram­ming and com­pil­ing is Emacs, a kind of meta oper­at­ing sys­tem which can be used to, among other things, edit files.

Now the developers of Mono have decided to make the Mono com­piler (g)mcs “Emacs Aware” (M. d. Icaza). This means that the com­piler adapts its tex­tual out­put to the envir­on­ment it is run­ning in; bet­ter: it adapts solely to Emacs by sup­press­ing inform­a­tion. IMHO this is bad style. It is the editor’s, console’s, whatever’s respons­ib­il­ity to cor­rectly dis­play the out­put of pro­grams executed by and in it. By adapt­ing the pro­grams’ beha­vior instead of let­ting the dis­play­ing pro­cess handle out­put ren­der­ing, things will get even worse.

Finally say­ing “is not a bug, it’s a fea­ture” (M. d. Icaza) really makes me believe that the Mono frame­work will never improve. It might thus keep its inde­term­in­istic and some­what unre­li­able behavior.