Een landkaart voor hen die willen kijken buiten de Shire.
“Een
gereedschap vervult een doel door de handigheid van de arbeider.”
- Sam Rain
- Sam Rain
Programmeren in JavaScript wordt door veel
Orcs en Tovenaars gezien als kleuterschool activiteit; nerds zonder ervaring in
de echte wereld, zijn als kikkers in de put. Toegegeven, de taal heeft geen
imago om over op te scheppen: van naam tot diverse mislukte mutanten, is het
een zwart schaapje tussen de adel van software magie. Mijn missie om daar
verandering in te brengen én het verspreiden van de evangelie betreft
programmeren.
Ooit besloten een paar knappe koppen, van
destijds een superbedrijf, dat de beschikbare talen best een broertje kon
gebruiken. De taal zou beter worden: leesbaar en in prachtig schrift, zoals het
Elfs – in plaats van het rune van Tovenaars. Ze noemden het Java – de Forrest
Gump van talen. Mank, sloom en niet al te slim tot 1998, maar zo populair onder
de fans.
In de mijnen van Dwergen, werkte men ook aan
een taal; echter zou deze nooit meer doen dat het aankleden van de browser waar
de dwergen bekend om waren. LiveScript was de suiker in de koffie, de rooibos
van de theeën – echter niet de crème de la creme. Het mocht niet lang baten;
één van de Dwergen besloot om de golf van populariteit te gebruiken van Java.
JavaScript werd zo het brandmerk van de taal – ondanks diverse pogingen tot het
wegpoetsen. Ook omdat de taal vooral bekend werd als ‘foefje’ voor web
browsers, maakte JavaScript niet de nominaties waarop men hoopte in de wereld
van beoefenaars. Wie JavaScript beheerste werd net zo serieus genomen als magiër,
als wanneer men zich kwam melden bij Isengard met ‘mijn 1e
goocheldoos’.
Nu zou ik een weekprogrammering van National
Geographic kunnen vullen over hetgeen wat allemaal nog meer gebeurd is, maar
geschiedenis van programmeertalen is alleen verteerbaar voor Orcs en trollen
(en ook nog eens saai). Waar het wel om draait is dat JavaScript van fruitvlieg
zich heeft ontwikkeld tot een prachtige zwaan. Het is dat ik een
onvoorwaardelijke liefde heb voor Ruby, maar JavaScript valt niet ver van deze
boom.
De taal is niet voor ‘puristen’ of ‘control
freaks’; de vrijheid en creatieve mogelijkheden brengen aardig wat stenen en
struikelblokken op de weg naar Rivendel, maar die mogen de pret niet drukken.
Het magische karakter van JavaScript zorgt voor een hoog Disney karakter,
wanneer men de basis onder de knie heeft.
In tegenstelling tot de adel van
programmeertalen, is JavaScript afhankelijk van een ‘implementatie’. Dat wil
zeggen dat een programma, zoals webbrowsers, zelf een omgeving bieden voor het
uitvoeren van een ‘script’. Hoewel er vaak verschillen zijn tussen de
implementaties, kent JavaScript een ‘ECMA’ standaard waar de meeste programma’s
aan houden. Dit betekent dat een script per definitie goed is, maar soms in
werking kan verschillen; daarom werken pagina’s in een webbrowser van Mozilla
er soms anders dan in Internet Explorer (overigens wordt JavaScript in veel
meer programma’s gebruikt dan alléén webbrowsers!). Het voordeel daarentegen is
dat je zonder te veel poespas beschikking hebt tot een ontwikkelomgeving – een
browser is al in staat om JavaScript uit te voeren.
JavaScript is een dynamische taal – of hoe ik
het vaker noem, automagisch – die veel moeilijke zaken uit handen neemt. Het is
wel praktisch om je te verdiepen in de technische achtergrond, maar met
JavaScript hoef je niet bij iedere rit het wiel opnieuw uit te vinden. De
implementatie regelt ‘zelf’ het datatype voor de variabelen en ruimt zelf de
boel op aan het einde. Voor Elven die vaker magie hebben bedreven zullen dit
waarderen – mensen en Hobbits, heb nog wat geduld; toverwoorden als datatypes
en variabelen komen nog aan bod.
De manier hoe JavaScript omgaat met objecten,
is voor de Elven de reden om de wenkbrauwen op te halen. Toch zal iedere
beoefenaar de simpliciteit gaan waarderen en de basis aanleren om, een soms
overweldigend concept als object georiënteerd toveren, eigen maken. De meeste
magie wordt gedaan met vele toverboekcollecties; JavaScript kent er relatief
weinig, maar dat is niet perse een handicap. De toverstaf die JavaScript biedt
is juist enorm veelzijdig – en vaak pragmatischer!
Er zijn wel een paar zaakjes om voor op te
passen; de stijl van JavaScript is niet afgedwongen, zoals in de adellijke
talen. Je mag alles en moet weinig, waardoor een foutje snel gemaakt is. Ook de
implementatie kan vaak verschillen, en de meeste naslagwerken richten zich
voornamelijk op webtechnologie. Webtechnologie is ‘multidisciplinair’ en leid
veel af van de mogelijkheden die JavaScript echt biedt; gelukkig is de wanorde
een inspiratie om deze serie te schrijven.
Als programmeertaal is JavaScript geen eendje
tussen de zwanen; wie JavaScript goed beheerst zal weinig moeite hebben met het
leren van andere programmeertalen. Daarnaast zul je ook anders kijken naar
webpagina’s, widgets of de apps op je telefoon. Besef wel dat iedere vorm van
magie oefening vereist – geef jezelf de kans om het te begrijpen en simpelweg
te proberen. Want JavaScript is als een boogschutter die een Hobbit vergezeld.
Meer lezen over Programmeren? Klik hier voor de inhoudsopgave van alle
artikelen!
©SamRain
JavaScript - 1
JavaScript - 1
Geen opmerkingen:
Een reactie posten