Als je naar de titel van deze pagina kijkt dan denk je zeker, wat is dit nou weer voor een rare term. Vast voor iets gerelateerd aan programmeren of zo iets moeilijks. Gelukkig voor jou, de lezer, is dat het omgekeerde. ELI5 is een term die is onstaan voor het makkelijker te begrijpen van moeilijke begrippen. Het staat letterlijk voor "Explain Like I'm 5". ELI5 word vaak gebruikt in online gemeenschappen om te vragen naar de meeste eenvoudige uitleg van een begrip; namelijk een uitleg die je zou geven aan een vijf jarige. Dit is om ervoor te zorgen dat mijn uitleg voor iedereen begrijpbaar zou moeten zijn. Bij elke pagina zal het van makkelijk naar steeds moelijker gaan verlopen om het zo goed mogelijk uit te leggen.
Mocht je de uitdaging aan willen gaan om meer inzicht te krijgen in Werkmanrooster, dan daag ik je uit om de [code](http://github.com/96aa48/rooster.io) te lezen. Gelukkig heb ik rekening gehouden met potentiële lezers van de code. De code is goed gedocumenteerd met verschillende "comments" aangeduid met `//` en `/*`. Het is namelijk ook belangrijk dat je code leesbaar blijft voor mensen, naast de code optimaliseren voor computers voor maximale effeciëntie.
Werkmanrooster is meer dan alleen wat webpagina's met roosters. Het is een kleine data-gedreven webapplicatie. Dit wil zeggen dat het functioneren deze webapplicatie volledig afhangt van de data die ze heeft. De webapplicatie is geschreven in verschillende programeertalen in de vorm van `code`. `Code` is een manier om een computer te laten weten wat hij moet doen. Dit klinkt allemaal heel moeilijk, maar het is niets meer dan een manier voor programmeurs om te communiceren met computers. Wees vooral niet bang om wat nieuws te leren, want ik moet helaas soms de 'naakte' code laten zien om deze uitleggen.
De `code` die we nu kort gaan bekijken is geschreven in de taal `Javascript` soms verkort naar `JS`. `Javascript` is een van de makkelijkste talen om op te pakken en er zijn snel dingen mee te maken die werken. `Javascript` wordt vaak gebruikt voor het toevoegen van interactiviteit aan webpagina's of soms wel voor een heel project. `Javascript` (maar ook andere programeertalen) zijn geschreven zodat er op verschillende manieren aan de computer duidelijk gemaakt kan worden wat de programmeur de computer wil laten doen. Dit wordt vaak gedaan met het gebruik van zogenaamde `keywords`. Dit zijn dingen zoals `var` voor het definiëren van een variabele, `function` voor het definiëren van een functie (vergelijkbaar met een wiskundige functie) en nog veel meer. Ook word er met code sommige afwegingen gemaakt. Denk dan vooral aan het nakijken van dingen. Hoe dit word beschreven in `code` is te herkennen van wiskunde bijvoorbeeld de `<`, `>` en `=` tekens.
Laten we kijken naar een klein stukje code met verschillende `keywords` en een afweging, aangegeven met het `keyword``if`. De tekst die volgt na de `//` word genegeerd door de computer, dit is om opmerkingen achter te laten aan potentiële lezers.