100% tevredenheidsgarantie Direct beschikbaar na je betaling Lees online óf als PDF Geen vaste maandelijkse kosten 4.2 TrustPilot
logo-home
Samenvatting

Samenvatting Van Lisp tot WebAssembly - Programming Essentials - Lesstof 5

Beoordeling
-
Verkocht
-
Pagina's
5
Geüpload op
11-01-2024
Geschreven in
2023/2024

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 of Time Compilation. Verken de toepassingen van deze technieken, zoals in het Microsoft .Net framework en WebAssembly, waardoor high-performance webapplicaties mogelijk zijn.

Meer zien Lees minder
Instelling
Vak









Oeps! We kunnen je document nu niet laden. Probeer het nog eens of neem contact op met support.

Geschreven voor

Instelling
Studie
Vak

Documentinformatie

Geüpload op
11 januari 2024
Aantal pagina's
5
Geschreven in
2023/2024
Type
Samenvatting

Onderwerpen

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.

Beschikbare oefenvragen

€5,79
Krijg toegang tot het volledige document:

100% tevredenheidsgarantie
Direct beschikbaar na je betaling
Lees online óf als PDF
Geen vaste maandelijkse kosten

Maak kennis met de verkoper
Seller avatar
Bryan0182

Ook beschikbaar in voordeelbundel

Maak kennis met de verkoper

Seller avatar
Bryan0182 Hogeschool Rotterdam
Volgen Je moet ingelogd zijn om studenten of vakken te kunnen volgen
Verkocht
2
Lid sinds
2 jaar
Aantal volgers
0
Documenten
16
Laatst verkocht
10 maanden geleden

0,0

0 beoordelingen

5
0
4
0
3
0
2
0
1
0

Recent door jou bekeken

Waarom studenten kiezen voor Stuvia

Gemaakt door medestudenten, geverifieerd door reviews

Kwaliteit die je kunt vertrouwen: geschreven door studenten die slaagden en beoordeeld door anderen die dit document gebruikten.

Niet tevreden? Kies een ander document

Geen zorgen! Je kunt voor hetzelfde geld direct een ander document kiezen dat beter past bij wat je zoekt.

Betaal zoals je wilt, start meteen met leren

Geen abonnement, geen verplichtingen. Betaal zoals je gewend bent via Bancontact, iDeal of creditcard en download je PDF-document meteen.

Student with book image

“Gekocht, gedownload en geslaagd. Zo eenvoudig kan het zijn.”

Alisha Student

Veelgestelde vragen