Geef aan in hoeverre C en Ada voldoen aan de in de cursus geformuleerde ontwerpprincipes voor een programmeertaal

  • -Typevolledigheidsprincipes
     Ada voldoet beter aan het typevolledigheidsprincipe dan C. Waarden van standaardtypen, samengestelde typen en pointer-typen mogen alle op dezelfde wijze worden gemanipuleerd. Variabelereferenties mogen we echter alleen als argument van een procedure of functie gebruiken, functies en procedures zelf zijn op geen enkele wijze te manipuleren, ze kunnen zelfs niet als argument doorgegeven worden.

    - Kwalificatieprincipe
     Ada kent blokopdrachten en blokdeclaraties (packages), maar geen blokexpressies. De taal vol.doet dus niet geheel aan het kwalificatieprincipe
    C kent alleen blokopdrachten, geen blokexpressies (alleen body van een procedure) of blokdeclaraties. De taal voldoet dus niet aan het kwalifictaieprincipe: in elke taalconstructie kunnen lokale declaraties worden gemaakt

    - Abstractieprincipe
    In Ada kunnen we abstracties maken van een expressie (functie), een opdracht (procedure), een type (abstract type) en een declaratie (generiek package), echter niet van een variable-access (selector). Hiermee voldoet de taal redelijk aan het abstractieprincipe
    abstractieprincipe: van elke taalconstructie kan een abstractie gemaakt worden, die later aangeroepen kan worden
     In C kunnen we alleen abstracties maken van een expressie (functie) en een opdracht (functie met terugkeerwaarde van type void). De tal kent geen abstarcties van bijvoorbeeld een variabele-access (selector-abstractie), declaratie (generieke abstractie) of type (abstract type) en voldoet dus slecht aan het abstractieprincipe

    Rapporteer Plaats commentaar