Perché vedo questo fenomeno? Oppure: perché le poche lingue che sto imparando condividono la sintassi C-like?
Scomponiamo questa domanda in più parti.
- Perché il designer originale (*) della lingua ha adottato una sintassi simile a C?
- Per ogni elemento del design della sintassi (come quelli menzionati dal richiedente), ci sono ragioni o argomenti legittimi che favoriscono tale uso?
- Perché tali lingue diventano popolari? La sintassi C-like presta alla popolarità di un linguaggio di programmazione?
- Perché non ci sono linguaggi con crossover di sintassi da due o più lingue, ad esempio tra una sintassi simile a C e un'altra sintassi non simile a C?
Perché il designer originale (*) della lingua ha adottato una sintassi simile a C?
Molti linguaggi di programmazione hanno inizialmente un solo designer originale; alcuni ne hanno pochi; pochissimi linguaggi di programmazione sono stati progettati da un comitato fin dall'inizio.
Puoi trovare le interviste di questi designer linguistici su Internet. Spesso spiegheranno perché la decisione è stata presa.
Per ogni elemento di progettazione della sintassi (come quelli menzionati dal richiedente), ci sono ragioni o argomenti legittimi che favoriscono tale uso?
La domanda punto e virgola è stata richiesto prima . Se qualcuno ha qualcosa da aggiungere, ti preghiamo di andare oltre le risposte esistenti e aggiungerne uno nuovo se il tuo contributo è nuovo.
La distinzione tra maiuscole e minuscole è stata risposta Microsoft .
Per operatori logici , nei primi tempi si riteneva che una lingua avrebbe dovuto fornire sia il non-corto circuito (valutare entrambi) che valutazioni di cortocircuito per and
e or
.
Esempio (Pascal):
- Entrambi gli operandi valutati:
and
, or
- Cortocircuito valutato:
and_then
, or_else
Il parere sulla valutazione del cortocircuito si è spostato negli ultimi decenni.
La domanda Console.WriteLine è il risultato di un linguaggio di programmazione orientato agli oggetti. In breve, per fare una chiamata di funzione, è necessario specificare se la funzione è un membro della classe (se è un metodo statico) o un membro di un'istanza (se è un metodo di istanza).
Oltre a Console
, ci sono diversi output di testo che sono comunemente usati nella programmazione in C #:
-
System.Diagnostics.Debug
-
System.Diagnostics.Trace
Se guardi la pagina di configurazione del progetto di Visual Studio, puoi scoprire che Debug
e Trace
possono essere abilitati o disabilitati in modo indipendente nelle build di debug.
Dal punto di vista del design del linguaggio, si può discutere se WriteLine
debba appartenere a un output di testo oa una stringa. Considera queste alternative:
-
"Hello world\n".WriteTo(Console.Out);
-
Console.WriteLine("Hello world");
La prima alternativa può essere implementata definendo un metodo di estensione C # che ha un TextWriter
come secondo argomento; il primo argomento è la stringa.
Perché tali lingue diventano popolari? La sintassi C-like presta alla popolarità di un linguaggio di programmazione?
Lascerò che gli altri rispondano a questa parte.
È sufficiente dire che la sintassi C-like non è l'unico fattore che determina la popolarità. Un sacco di lingue popolari, ad es. Python, Ruby ecc., Non hanno sintassi simile a C.
È anche sufficiente dire che il mondo degli affari non discrimina i linguaggi di programmazione sulla base della sintassi. Ad esempio, molte grandi aziende utilizzano Python.
Perché non ci sono linguaggi con crossover di sintassi da due o più lingue, ad esempio tra una sintassi simile a C e un'altra sintassi non simile a C?
o, in alternativa,
Perché non ci sono linguaggi con normalizzazioni sintattiche configurabili, in modo che due programmatori che lavorano sullo stesso file sorgente possano scegliere due diverse normalizzazioni della sintassi ed eseguire conversioni di sintassi al volo ogni volta che il file sorgente viene consegnato ?
Lascerò che gli altri rispondano a questa parte.