Samenvatting Van Lisp tot WebAssembly - Programming Essentials - Lesstof 5
3 views 0 purchase
Course
Programming Essentials
Institution
Hogeschool Rotterdam (HR)
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...
Oefenvragen - Van Lisp tot WebAssembly - Programming Essentials - Lesstof 5
Flashcards10 Flashcards
$5.960 sales
Flashcards10 Flashcards
$5.960 sales
Some examples from this set of practice questions
1.
In welk jaar werd Lisp oorspronkelijk gespecificeerd, en wat maakt het de tweede oudste programmeertaal?
Answer: 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.
Answer: 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?
Answer: 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?
Answer: 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?
Answer: 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.
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.
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller Bryan0182. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.74. You're not tied to anything after your purchase.