Principerna bakom Erlang
Robert Virding, en av de ursprungliga utvecklarna bakom programmeringsspråket Erlang har just släppt ett intressant dokument där han beskriver hur de tänkte när de skapade språket. Vilka krav de hade, vilka designbeslut som togs och varför vissa saker ser ut som de gör. Han beskriver också ganska utförligt hur språket kunde sett ut om de hade valt andra vägar, och varför det inte hade varit lika bra. Immutable (oföränderliga) data till exempel.
Immutable data suits a high-level language, having mutable data gets you in to all sorts of trouble and difficulties, just read descriptions of other languages which have it and the difficulties in describing what gets changed and when, for example Python’s copy and deep_copy. Mutable data, however, is much easier to comprehend in a low-level language like C, K&R C, where you directly see which data is passed by value and which is passed by reference, i.e. mutable.”
Ett annat intressant parti är när han förklarar hur deras pragmatiska inställning till programspråksdesign har gett upphov till makron och records - fula programkonstruktioner kan gå an om de ger stora fördelar.