2010-11-03

Nästa funktion

C.

Det slog mig att nästlade funktioner borde kunna användas för att göra kod mer läsbar. Istället för att deklarera en privat hjälpfunktion som bara används på ett ställe som static och lägga den ovanför den anropande funktionen (eller, om man är en idiot som dricker bärs och lyssnar på skitmusik: efteråt, och med en för-deklaration längre upp), så stoppar man in den direkt i den anropande funktionen.

En sådan nästlad funktion kommunicerar tydligare än en static-funktion: den är uppenbart en privat hjälpfunktion, eftersom den bara kan anropas från den omslutande funktionen. Man slipper att idioter som dricker bärs och lyssnar på skitmusik lägger sina hjälpfunktioner var som helst i filen, använder fördeklarationer och låter bli att göra dem static. (Idioten som dricker bärs och lyssnar på skitmusik skulle givetvis ändå undvika att använda nästlade funktioner, för att göra koden så oläsbar som möjligt.)

Sen att det här är totalt oanvändbart i praktiken, eftersom det bara stöds av GCC, ja, det är ju lite trist. Men i framtiden kommer nog alla använda Lisp, Scala och Python istället för C. Och kanske Ada. Nej, inte Ada. Idioten som dricker bärs och lyssnar på skitmusik skulle antagligen välja Ada. Eller C#.

4 kommentarer:

Anonym sa...

Jag lämnade en lång kommentar här förut, men nu är den borta. Tänk om jag varit SD:are, då hade jag anat en komplott iscensatt av etablissemanget.

puterman sa...

Och som en del av etablissemanget anar du nu en komplott iscensatt av SD?

Anonym sa...

Aha, antingen är man Etablissemang eller SD? With us or against us? Som grädde på moset är dagens ordverifiering "allywo"!

puterman sa...

Allywo låter som att han/hon/det skulle stå på etablissemangets sida.