Deze samenvatting neemt je mee door de essentiële aspecten van programmeren, beginnend met de geschiedenis van Lisp als een krachtige programmeertaal voor wiskundige notatie en kunstmatige intelligentie. Ontdek de evolutie van compilers en interpreters, met aandacht voor de JIT-compiler en Ahead o...
In welk jaar werd Lisp oorspronkelijk gespecificeerd, en wat maakt het de tweede oudste programmeertaal?
Antwoord: Lisp werd oorspronkelijk gespecificeerd in 1958, waardoor het de tweede oudste programmeertaal is, met Fortran als een jaar oudere taal.
2.
Noem enkele dialecten van Lisp die vandaag de dag nog steeds bekend zijn.
Antwoord: Enkele bekende dialecten van Lisp zijn Racket, Common Lisp, Scheme en Clojure.
3.
Waarom werd Lisp oorspronkelijk gecreëerd en wat maakt het tot een favoriete taal voor AI-onderzoek?
Antwoord: Lisp werd oorspronkelijk gecreëerd als een praktische mathematische notatie voor computers. Het werd al snel een favoriete taal voor onderzoek naar Artificial Intelligence (AI).
4.
Wat is de betekenis van de naam \"Lisp\" en waarom wordt het een \"List Processor\" genoemd?
Antwoord: De naam \"Lisp\" komt van \"List processor\". Linked lists zijn essentiële datastructuren in Lisp, en de source code van Lisp is opgebouwd uit lists.
5.
Wie heeft de eerste Lisp-interpreter handmatig gemaakt, en waar werkte hij aan?
Antwoord: De eerste Lisp-interpreter werd handmatig gemaakt door Steve Russell, een student die werkte aan het \"MIT Artificial Intelligence Project\" op een IBM 704 computer.
Voorbeeld van de inhoud
Programming Essentials
Geschiedenis
LISt Processor
Lisp1 is een familie van programmeertalen met een lange geschiedenis. Oorspronkelijk
gespecificeerd in 1958, waardoor het de tweede oudste programmeertaal is. Fortran is 1 jaar
ouder.
Lisp heeft vele dialecten die al in een vroeg stadium ontstonden. Een aantal daarvan kennen
we vandaag nog steeds: Racket, Common Lisp, Scheme en Clojure.
De taal was oorspronkelijk bedoeld voor praktische mathematische notatie voor computers.
Al snel werd het een favoriete taal voor onderzoek naar "Artificial Intelligence" (AI). De naam
Lisp komt van List processor. Linked lists zijn één van de belangrijkste datastructuren in
Lisp. De Lisp source code is opgebouwd uit lists. Vandaar de afkomst list processor.
De ontdekking van de interpreter
Een paar jaar na Grace Hoppers werk aan de compiler, waren er een aantal studenten op
het MIT aan het werken aan een IBM 704 computer. Een van de studenten, Steve Russell
genaamd, werkte aan iets dat het "MIT Artificial Intelligence Project" heette. Hij heeft
handmatig de eerste Lisp interpreter gemaakt.
Nogmaals de compiler
Machine language is binaire code, dit is code die de processor direct kan verwerken. Ook
hebben we assembly language, dit is code dat een soort leesbaar is voor mensen, deze
code kost veel moeite om te lezen en heeft een hoge leercurve. Daarnaast hebben we high-
level language hierbij moet je denken aan C++, Java en Python, deze code is beter te
begrijpen voor mensen.
Compilers lezen de source code en in één compileer actie zetten ze de source code om
naar machinecode. Machinecode die direct door de processor kan worden verwerkt.
De compiler maakt daarvoor gebruik van verschillende tools/onderdelen:
● Scanner, leest alle karakters van de source code
● Lexer/Tokenizer, geeft codes (tokens) voor alle onderdelen (keywords, variabelen,
etc.)
● Parser, maakt een parse tree
● Emitter (Code generator), genereert de machine code op basis van de parse tree
● Linker, deze pakt alle object files bij elkaar en produceert de executable of DLL
Wat is nu een interpreter?
Een interpreter is een vertaler. Net als een compiler zet deze high-level languages om naar
machinecode. Dit gebeurt echter op een iets andere manier dan bij een compiler. De
, interpreter runt het vertaalde stuk programma direct nadat hij het heeft vertaald. Stukje voor
stukje wordt de source code vertaald en uitgevoerd. Dat is het grote verschil met een
compiler.
Dit betekent dat de interpreter een regel source code vertaalt en deze vervolgens direct gaat
uitvoeren. Op het moment dat het vertalen mislukt, een fout in de source code, dan stopt het
programma ook op die plek.
Elke keer dat het programma wordt gerund, wordt deze opnieuw vertaald en uitgevoerd.
Wanneer we het programma achter elkaar runnen met verschillende parameters, wordt het
elke keer opnieuw vertaald en uitgevoerd.
Hier zie je het verschil met een compiler heel duidelijk. Nadat de compiler het programma
heeft gecompileerd, kan het programma meerdere keren worden gerund zonder dat deze
eerst hoeft te worden gecompileerd. Wanneer we het programma met nieuwe parameters
willen runnen, dan bieden we de parameters aan en kan het gewoon runnen.
Als er tijdens het interpreteren een fout in de source code zit, dan stopt het programma
precies op de plek waar het probleem is. De fout is dan relatief eenvoudig te vinden. Bij een
gecompileerd programma zijn runtime fouten (fouten die optreden als het programma loopt)
heel lastig te vinden. Tegenwoordig zijn er veel tools beschikbaar om de fout toch te
achterhalen.
Voordelen van het kopen van samenvattingen bij Stuvia op een rij:
Verzekerd van kwaliteit door reviews
Stuvia-klanten hebben meer dan 700.000 samenvattingen beoordeeld. Zo weet je zeker dat je de beste documenten koopt!
Snel en makkelijk kopen
Je betaalt supersnel en eenmalig met iDeal, creditcard of Stuvia-tegoed voor de samenvatting. Zonder lidmaatschap.
Focus op de essentie
Samenvattingen worden geschreven voor en door anderen. Daarom zijn de samenvattingen altijd betrouwbaar en actueel. Zo kom je snel tot de kern!
Veelgestelde vragen
Wat krijg ik als ik dit document koop?
Je krijgt een PDF, die direct beschikbaar is na je aankoop. Het gekochte document is altijd, overal en oneindig toegankelijk via je profiel.
Tevredenheidsgarantie: hoe werkt dat?
Onze tevredenheidsgarantie zorgt ervoor dat je altijd een studiedocument vindt dat goed bij je past. Je vult een formulier in en onze klantenservice regelt de rest.
Van wie koop ik deze samenvatting?
Stuvia is een marktplaats, je koop dit document dus niet van ons, maar van verkoper Bryan0182. Stuvia faciliteert de betaling aan de verkoper.
Zit ik meteen vast aan een abonnement?
Nee, je koopt alleen deze samenvatting voor €5,29. Je zit daarna nergens aan vast.