This page is not available in English.

ABIS Infor - 2016-04

What's in a name - Leuke weetjes over naamgeving in IT

Sandy Schillebeeckx (ABIS) - 20 april 2016

Samenvatting

Als er een baby op komst is, is één van de moeilijkste eerste beslissingen: hoe gaan we hem/haar noemen? Ook al zou het niet zo mogen zijn, je naam kan invloed hebben op je toekomst. Bij het uitbrengen van een nieuw product is de keuze zo mogelijk nog belangrijker. Sommige namen worden dadelijk gevonden, maar soms worden er zelfs hele brainstormsessies georganiseerd om tot DE naam te komen. Hoewel de kwaliteit van een product zou moeten primeren natuurlijk...

In dit artikel wil ik even stilstaan bij de origine/betekenis van namen (van bijvoorbeeld programmeertalen) en termen in de IT wereld. Leuke weetjes om je collega's mee te entertainen tijdens de pauzes. Weet jij bijvoorbeeld waar de term "nerd" vandaan komt? Zo niet, lees dan zeker verder...

Over nerds, spam en bugs en zo...

Veel namen en termen zijn zo ingeburgerd dat we er de oorsprong niet meer van kennen. Of misschien heb je er gewoon nooit bij stil gestaan waar ze vandaan komen natuurlijk. Sommige termen zijn ooit eens gedropt, en daarna gemeengoed geworden, maar over andere namen (vooral van producten) is vaak lang nagedacht. Verwijzingen, woordspelingen, grappige afkortingen,... alles passeert hierna de revue. Zeker als "nerd" is dit onontbeerlijke kennis...

Waar komt het woord "nerd" trouwens vandaan? Wel, zoals je weet zijn nerds (meestal) nogal serieuze studenten. Die dus zelden of nooit "drunk" worden. Lees het woord drunk achterstevoren, en je krijgt "knurd", wat dan later verbasterd werd tot nerd.

Iets waar je het liefst niet te veel mee te maken krijgt als programmeur, zijn bugs. Vaak wordt gezegd dat de term bug geïntroduceerd werd door Grace Hopper in 1947. Toen moest het werk aan de Harvard Mark II computer stilgelegd worden omdat er een mot vast zat in een relais. Grace ging het toestel "debuggen". Er is echter ook een tweede theorie die Thomas Edison als grondlegger van de term noemt. Hij zou het woord al in 1878 gebruikt hebben in het kader van kleine fouten en problemen in zijn uitvindingen.

De woorden foo en bar worden graag gebruikt in tutorials als aanduiding van een niet nader gespecificeerd object of attribuut. Hoewel ze eigenlijk niet zo'n leuke connotatie hebben gezien ze hun oorsprong vinden in de militaire afkorting FUBAR, wat staat voor Fucked Up Beyond Any Repair...

Als één van de developers nog eens de schuld op de machine steekt in het geval van bugs, en je daar toch niet zo zeker van bent, kan je misschien een PICNIC inlassen. Dat is de afkorting van "Problem In Chair, Not In Computer".

Veel info vind je tegenwoordig op "wiki"pedia of andere wikis. Wiki betekent "snel" in het Hawaïaans. Ward Cunningham koos de naam naar aanleiding van een leuke reis naar Hawaii, waar hij de wiki-wiki snelbus nam vanaf Honolulu Airport.

Cookies vinden dan weer hun origine in de fortune cookies, waarbij een spreuk (of dus in dit geval stukje tekst), verstopt zit in een koekje.

Iets anders waar we vandaag de dag regelmatig mee in aanraking komen, is spam. Deze term verwijst naar een sketch van Monty Python, waar restaurantbezoekers gebombardeerd worden met reclame voor het (bekende) ingeblikte vlees. O.a. een horde vikings zingt er herhaaldelijk SPAM, SPAM, SPAM, SPAM, SPAM, LOVELY SPAM, WONDERFUL SPAM. Waardoor de term nu dus geassocieerd wordt met nogal ergerlijke dingen...

Hoe komen ze erop?

Monty Python was trouwens ook de inspiratiebron voor Guido van Rossum, de ontwikkelaar van Python. Hoewel het logo misschien anders zou doen vermoeden, heeft de naam dus niets te maken met de gelijknamige slang.

En daarmee zijn we dus in de categorie productnamen aanbeland.

Vernoemingen zijn altijd populair. Voorbeelden hiervan zijn Ada (naar Ada Lovelace, die beschouwd wordt als de eerste programmeur) en Pascal (naar Blaise Pascal, o.a. de creator van één van de eerste mechanische rekenmachines). De welbekende technologie Bluetooth, die devices verbindt, is dan weer vernoemd naar de 10de eeuwse Deense koning Harald Bluetooth. De naam is gekozen omdat Harald in staat was verschillende volken en groepen in zijn rijk samen te laten werken. MySQL hoort (ondanks dat iedereen aan "mijn" denkt) ook in deze categorie. Michael "Monty" Widenius noemde het DBMS naar zijn dochter, My. Sinds een aantal jaren heeft ook zijn andere dochter een DBMS naar haar naam: MariaDB. De prijs voor de schattigste vernoeming gaat in mijn ogen naar Hadoop, de naam van de knuffelolifant (vandaar ook het logo) van het zoontje van Doug Cutting.

Nu we het toch over databases hebben, wil ik ook Oracle nog even vermelden. Oorspronkelijk ontwikkeld als een project van de CIA, die hun systeem zagen als "het systeem dat antwoorden zou hebben op alle vragen". Bij ABIS draait Oracle natuurlijk op de DELPHI server...

Op een vraag tijdens een cursus, durf ik tegenwoordig wel eens te antwoorden: Google it.... Google is een verbastering van Googol, het woord dat door een kind (in 1938) verzonnen werd als naam voor een getal met 100 nullen. Kwestie van aan te geven dat er heeeeeel veel informatie te vinden is op Google. Internetgewijs kent iedereen natuurlijk HTML (maar afkortingen wilde ik nu net niet als categorie opnemen). Een naam hiermee gelinkt (en waar ik zelf even een aha momentje had), die ik echter wel wilde vermelden, is HoTMaiL (heb je hem?).

Een hele andere categorie zijn de edelstenen. Toen Larry Wall Perl ontwikkelde, zocht hij naar een korte, krachtige en positieve naam. Na een zoektocht in het woordenboek (en goedkeuring door zijn vrouw), kwam hij op de naam Pearl. Door trademark issues, werd het uiteindelijk Perl. Tegenwoordig ook gebruikt als backronym voor Practical Extraction and Report Language. Yukihiro Matsumoto wilde wat later een taal ontwikkelen met meer scripting power en meer object georienteerde mogelijkheden dan Perl. Om in de edelstenen te blijven koos hij voor Ruby. Ook al omdat in de lijst van geboortestenen (een edelsteen gelinkt aan een geboortemaand), ruby na pearl komt...

GNU is dan weer een programmeursgrapje. Het staat voor GNU is Not Unix. Recursiviteit ten top.

Bij grappige (en zelden gebruikte) programmeertalen horen natuurlijk ook grappige namen, bijvoorbeeld Brainf*ck, LOLCODE, Chicken, Ook! and Piet.

Niet iedereen heeft zoveel fantasie. In dat geval kan het alfabet ook tot inspiratie leiden. Na A-0 van Grace Hopper in 1952, was er B in 1969, gevolgd door C in 1972. Gezien de increment operator ++ (als afkorting voor +1) in C werd ingevoerd, was het natuurlijk een kleine stap naar C++. C# is dan C++ nog eens geïncrementeerd. De meeste andere letters uit het alfabet (al zeker D, E, K, Q, R en S) worden gebruikt, maar volgen niet noodzakelijk de juiste chronologie.

Java, straffe koffie nietwaar...

Omdat ik nogal veel met Java bezig ben, vond ik dat hieraan wel een specifieke paragraaf mocht gewijd worden. Oorspronkelijk wilde James Gosling zijn programmeertaal Oak noemen, naar de eik die hij zag vanuit zijn raam. Gezien hier al een copyright op was, richtte hij een brainstormsessie in om naar een nieuwe naam te zoeken die dynamisch, revolutionair, leuk en zeker niet nerdy was. Na een aantal namen voorgesteld te hebben, werd (na sloten koffie waarschijnlijk) de naam Java gekozen. Met dus de nodige links naar de koffieboon die op het eiland Java verbouwd wordt. In naamgeving binnen de taal komen de verwijzingen hiernaar terug. Het bekendste zijn natuurlijk de beans. Hessian en Burlap zijn dan weer namen van web service protocollen. De 2 woorden zijn synoniemen, met als vertaling "jute". En waarin transporteer je koffiebonen, juist ja, in jute zakken... Het Apache Jakarta project heeft daarentegen weer meer te maken met het eiland, dan de koffie.

Namen van klassen binnen Java zijn ook altijd leuk. Er is nu eenmaal de conventie dat een naam moet zeggen wat het is, en dat lengte daarbij niet uitmaakt. Daardoor krijg je dus namen als BasicFileAttributesView en CopyOnWriteArrayList. Maar het kan natuurlijk nog langer. De langste klasse naam in Java SE API telt zelfs 92 letters:
InternalFrameInternalFrameTitlePaneInternalFrameTitlePaneMaximizeButtonWindowNotFocusedState.
Maar de leukste zit in AspectJ:
HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor
met als één van de methodes: wellHasItThen()...

Gelukkig heb je tegenwoordig IDEs die aan code completion doen. De naam Eclipse is trouwens ook niet zomaar gekozen. Ze wilden hiermee Netbeans (van SUN) in de schaduw zetten...

Om je applicaties te builden had je vroeger ANT. Wel een afkorting, maar toch een leuke. Het staat voor "Another Neat Tool". Zijn opvolger Maven is daarentegen toch wat serieuzer, een joods woord met als betekenis "accumulator van kennis".

Als afsluiter nog wat lekkers: de namen van de Android versies: Angel Cake, Battenberg, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Bean, Kitkat, Lollipop en Marshmallow. Ik ben benieuwd wat voor snoepgoed met een N ze dit jaar gaan lanceren...

Conclusie

IT is dus zeker niet saai qua naamgeving. Er is nagedacht om leuke namen te geven aan een heel aantal producten. Met vaak de nodige sneren en grapjes naar mekaar. Als je er nog leuke kent, mag je het natuurlijk altijd laten weten via ons welbekende mailadres: training@abis.be. Misschien komt er dan binnenkort nog een vervolgartikel.