"ogni dichiarazione e dichiarazione un'espressione che produce un valore" perché?

3

Alla fine della risposta a "Posso fare ++ xe x ++ in Python?" in questa pagina: link , puoi leggere:

[...] I'm with my fellow Dane, Bjarne Stroustrup, on this one. He said in The Design and Evolution of C++ ''If I were to design a language from scratch, I would follow the Algol68 path and make every statement and declaration an expression that yields a value''.

Perché?

    
posta user1358 14.07.2013 - 07:41
fonte

2 risposte

3

Come in qualsiasi altro progetto, la rimozione di scenari eccezionali rende il design più pulito: questi rami interagiscono con il resto del design provocando impatti a cascata. Consentendo a tutte le espressioni (e le istruzioni) di restituire un valore (anche se tale valore è unit ) consente di semplificare la progettazione. Inoltre, ti consente di ottenere funzionalità per "gratis" senza dover creare versioni specializzate per le dichiarazioni rispetto alle espressioni.

    
risposta data 15.07.2013 - 03:28
fonte
3

I principali obiettivi e principi del design di ALGOL 68:

  1. Completezza e chiarezza della descrizione
  2. Disegno ortogonale ,
  3. Sicurezza,
  4. Efficienza:
    • Controllo della modalità statica
    • analisi indipendente dalla modalità
    • Compilazione indipendente
    • Ottimizzazione del ciclo
    • Representations - in minimal & set di caratteri più grandi

0.1.2 Orthogonal design

The number of independent primitive concepts has been minimized in order that the language be easy to describe, to learn, and to implement. On the other hand, these concepts have been applied "orthogonally" in order to maximize the expressive power of the language while trying to avoid deleterious superfluities.

" ALGOL 68 è stata la prima (e forse l'ultima) lingua principale per la quale è stata definita una definizione formale completa fatto prima che fosse implementato. "- CHA Koster

    
risposta data 15.07.2013 - 00:47
fonte

Leggi altre domande sui tag