Samenvatting: Programming Language Design Concepts | 9780470853207 | David A Watt, et al
- Deze + 400k samenvattingen
- Een unieke studie- en oefentool
- Nooit meer iets twee keer studeren
- Haal de cijfers waar je op hoopt
- 100% zeker alles onthouden
Lees hier de samenvatting en de meest belangrijke oefenvragen van Programming language design concepts | 9780470853207 | David A. Watt ; with contributions by William Findlay.
-
1 Programming languages
-
Welke zijn de leerdoelen voor deze cursus?
- een goed inzicht hebt in de basisconcepten van programmeertalen, zoals waarden, typen, expressies, variabelen, opdrachten, bindingen en
abstractiemechanismen - kunt aangeven in hoeverre een concrete programmeertaal voldoet aan de vier in deze cursus geformuleerde
kwaliteitscriteria voor programmeertalen:
- hettype-volledigheidsprincipe
- hetkwalificatieprincipe
- hetabstractieprincipe
- hetcorrespondentieprincipe - een goed inzicht hebt in
inkapselingstechnieken , typesystemen en manieren om deprogrammaverwerking te onderbreken - een goed inzicht hebt in de concepten van parallel en gedistribueerd programmeren
- met eigen woorden kunt beschrijven welke taalconcepten kenmerkend zijn voor respectievelijk
-de imperatieve
- deobjectgeoriënteerde
- de functionele
- de parallelle
- de logische
- de scripting programmeertalen.
- een goed inzicht hebt in de basisconcepten van programmeertalen, zoals waarden, typen, expressies, variabelen, opdrachten, bindingen en
-
2 Values and types
Dit is een preview. Er zijn 44 andere flashcards beschikbaar voor hoofdstuk 2
Laat hier meer flashcards zien -
Door welke twee zaken wordt een type gekarakteriseerd?
- Een verzameling waarden
- Een of meer operaties die uniform op alle waarden kunnen worden toegepast
[T2.1]
-
Welke soorten waarden komen voor in de talen Java en Haskell?
In Java komen waarden voor zoals gehele getallen, decimale getallen, booleans en tekst. In Haskell kunnen ook functies waarden zijn. -
Typen kunnen onderverdeeld worden in drie groepen. Welke zijn dit?
- Primitieve typen
- Samengestelde typen
- Recursieve typen
[T2.1]
-
De verzameling waarden van een type kan implementation-defined of language-defined zijn. Wat is het verschil?
Bij implementation-defined typen wordt de verzameling waarden bepaald door de compiler.
Bij language-definied typen wordt de verzameling waarden bepaald door de programmeertaal.
Als derde mogelijkheid kan de verzameling waarden van een type bepaald worden door de programmeur.
-
Wat is het nadeel van implementation-defined typen ten opzichte van language-defined typen?
Bij implementation-defined typen kan het gedrag van het programma van computer tot computer verschillen. Dit vormt een beperking voor de portabiliteit van het programma.
-
De formules waarmee de cardinaliteiten van de verschillende samengestelde typen kunnen worden berekend, kent en kunt toepassen
Het berekenen en toepassen van formules voor het bepalen van cardinaliteiten van samengestelde typen is afhankelijk van het specifieke type en de gegeven informatie. Over het algemeen kan de cardinaliteit worden bepaald door het tellen van het aantal elementen in de samengestelde structuur. Het gebruik van formules kan variëren, afhankelijk van welke gegevens beschikbaar zijn en welke specifieke eigenschappen van het samengestelde type worden berekend. Het is belangrijk om de toepasselijke formules te raadplegen en de juiste gegevens in te voeren om de cardinaliteit te kunnen berekenen. -
Wat wordt bedoeld met een deelintervaltype (subrange type)?
Een deelintervaltype is een type waarvan de waarden een deelverzameling vormen van een ander type.
-
Noem twee manieren om een mapping van n-tuples te implementeren.
- Via een n-dimensional array
- Via een n-parameter function
[T2.3]
-
Wat zijn twee essentiële verschillen tussen een functieprocedure en een wiskundige functie?
- Een functieprocedure wordt geïmplementeerd met behulp van een algoritme en heeft dus eigenschappen (bijv. efficiëntie) die wiskundige functies niet hebben.
- Een functieprocedure kan, in tegenstelling tot een wiskundige functie, globale variabelen inspecteren of wijzigen.
[T2.3]
- Hogere cijfers + sneller leren
- Niets twee keer studeren
- 100% zeker alles onthouden