Perché le diverse lingue utilizzano diversi delimitatori di righe di codice? [duplicare]

0

Ho appena scoperto che R Programming Language , che è in qualche modo appartenente alla famiglia C (Non ne sono sicuro, ma utilizza {} anziché begin end ) , utilizza una nuova riga come delimitatore per una nuova riga di codice anziché la colon ; .

Perché alcuni linguaggi di programmazione sono progettati per utilizzare una nuova riga invece di un simbolo come il punto e virgola che penso renderà il codice più leggibile?

Phyton

total = item_one + \
        item_two + \
        item_three

C

total = item_one +
        item_two +
        item_three;
    
posta John Isaiah Carmona 12.04.2012 - 08:30
fonte

3 risposte

5

L'idea che sta dietro lo spazio bianco semantico in Python è che la struttura del programma vista dall'interprete deve corrispondere alla struttura vista dagli esseri umani il più fedelmente possibile. Considera il seguente programma C:

if ( foo )
    bar;
    baz;

A prima vista, presumi che bar e baz siano entrambi condizionali; non sono, tuttavia, a causa di indentazione ingannevole. Il modo di pensare di C è "rendere la semantica dei tuoi spazi bianchi". Il modo Python è più simile a quello di DRY: "lo spazio bianco già esprime la struttura del programma, basta analizzarlo".

    
risposta data 12.04.2012 - 09:01
fonte
4

Qualsiasi risposta a questo sarà soggettiva. C'è stata una grande discussione sul perché il punto e virgola è stato utilizzato per terminare le affermazioni in questa domanda . La linea di fondo è che qualsiasi schema può essere reso analizzabile e spetta al progettista del linguaggio scegliere il proprio schema di terminazione dell'istruzione. Questa scelta sarà influenzata dal bagaglio emotivo che attribuiscono a ogni schema. Alcune persone hanno un odio patologico per i punti e virgola o altri caratteri di terminazione esplicita dell'istruzione, mentre altri vedono l'utilità nell'avere un carattere di terminazione esplicito e visibile.

    
risposta data 12.04.2012 - 09:03
fonte
3

Il punto e virgola in C e i linguaggi che adottano la sua sintassi vengono utilizzati per terminare le istruzioni. In parole povere è il simbolo che il compilatore cerca per sapere dove finisce una dichiarazione, e per associazione dove inizia il prossimo.

È principalmente una stranezza della lingua, una convenzione. Se rende il codice più leggibile o meno dipende molto dalle tue preferenze personali, non penso che ci sia una metrica valida che possa essere applicata obiettivamente. Wikipedia ha un ampio elenco di lingue organizzato per il loro terminatore di istruzioni , e alcuni dei newline popolari terminati / lingue separate sono:

  • Haskell,
  • BASIC,
  • Eiffel,
  • Fortran,
  • Visual Basic

e altri.

Puoi trovare una discussione molto interessante sull'uso o meno di punto e virgola come separatore / terminatore di istruzioni qui: link . La somma della discussione è che a Larry Wall piace molto il suo punto e virgola;)

    
risposta data 12.04.2012 - 09:05
fonte

Leggi altre domande sui tag