Les 5

Een hot nieuwtje in deze  #programmerenkunjeleren post, je hoeft niks meer te installeren maar je kunt newlisp nu gewoon in je browser, dus ook op je tablet of phone draaien, zie link ter linkerzijde. Er zitten nog wat beperkingen aan, vooral met opslag maar daar wordt aan gewerkt!

Ok, nu verder met de gewone les, de oplossing van de eerste opgave, sorteer op lengte is door ook een functie mee te geven aan de sort functie om aan te geven wat groter of kleiner is. Bijvoorbeeld de volgende (anonieme) functie:

(fn(x y) (< (length x) (length y)) true nil)

Dit is heel krachtig, je hoeft alleen een functie mee te geven aan een standaard functie om een zeer specifieke sorteer volgorde te verkrijgen. De volgende opgave was om hoe een lid van een lijst te verwijderen, oplossing:

Lees verder Les 5

Les 4

We gaan onverdroten verder met onze all-inclusive programmeercursus. Deze keer gaan we wat dieper in op functies. Vorige keer had ik er al een functie definitie ‘ingesneaked’ en wel het stukje:

(fn(x) (> 9 (length x))

dit is een voorbeeld van een anonieme functie, hij heeft geen naam omdat hij zo simpel is kun je hem makkelijk inline definiëren en meegeven aan een andere functie.(LISP heeft dus ‘hogere-orde’ functies). Lees verder Les 4

Les 3

De vorige keer zagen we dat Lisp programma’s en data bestaan uit ‘lists’: lijstjes. Daar komt de naam LISP ook vandaan: LISt Processing. De eerste positie in een lijst wordt behandeld (geëvalueerd) als zijnde een functie, de volgende posities zijn dan de input data voor die functie.

Je kunt een lijst ook als data behandelen, dan zet je er een quote voor, alles wat achter een quote staat wordt niet geëvalueerd. Maar je kunt lijstjes ook ‘nesten’, lijstjes in lijstjes in ….ad infinitum, je moet het zien als een boom structuur elk openingshaakje maakt een nieuwe vertakking aan. Lees verder Les 3

Les 2

Het vervolg op onze ‘all-inclusive’ programmeer cursus! Nu dat we newlisp en de editor geinstalleerd hebben gaan we wat experimenteren in de REPL, dat is het onderste gedeelte van je editor window. REPL staat voor Read Evaluate Print Loop, alles wat je intypt en afsluit met <enter> wordt gelezen, geëvalueerd, het resultaat wordt geprint en je ziet de cursor weer en kunt opnieuw wat intypen. Je kunt hiermee heel interactief wat uitproberen en dat gaan we nu dan ook doen. Lees verder Les 2

Les 1

  • Programmeren kun je leren
    en het is nog leuk ook!

– Hoe weet Facebook wat jij leuk vindt?
– Wat weet Google allemaal van mij?
– Waarom is de batterij van mijn mobiel zo snel leeg?

Allemaal vragen die te maken hebben met computers en vooral met de programma’s die erop draaien. Als je hier meer van wil weten dan heb ik goed nieuws! Vandaag begin ik met een cursus programmeren, want of je het nu leuk vindt of niet: software is eating the world ! Lees verder Les 1