Written by students who passed Immediately available after payment Read online or as PDF Wrong document? Swap it for free 4.6 TrustPilot
logo-home
Summary

Samenvatting Van Lisp tot WebAssembly - Programming Essentials - Lesstof 5

Rating
-
Sold
-
Pages
5
Uploaded on
11-01-2024
Written 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.

Show more Read less
Institution
Course

Content preview

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.

Written for

Institution
Study
Course

Document information

Uploaded on
January 11, 2024
Number of pages
5
Written in
2023/2024
Type
SUMMARY

Subjects

Available practice questions

$6.95
Get access to the full document:

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Get to know the seller
Seller avatar
Bryan0182

Also available in package deal

Get to know the seller

Seller avatar
Bryan0182 Hogeschool Rotterdam
Follow You need to be logged in order to follow users or courses
Sold
2
Member since
2 year
Number of followers
0
Documents
16
Last sold
1 year ago

0.0

0 reviews

5
0
4
0
3
0
2
0
1
0

Recently viewed by you

Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions