Een landkaart voor hen die willen kijken buiten de Shire.
“Een gereedschap vervult een doel door de handigheid van de arbeider.”
- 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.
©SamRain
sam-rain-articles.blogspot.com
Reacties (2)