- Esistono diverse convenzioni. Convenzioni in matematica, logica e scienze applicate e convenzioni in informatica. I primi sono molto più vecchi.
- I linguaggi scientifici sono creati per rendere più comoda la vita dei LORO utenti. L'utente è visto come uno scienziato, che di tanto in tanto può realizzare qualche algoritmo o controllare qualche teoria, senza la necessità di imparare qualcosa di veramente nuovo. Pertanto, le lingue per gli scienziati DEVONO essere adattate a standard non IT. Perché non sono pensati per l'uso di personale IT. Sono all'altezza di ALTRI standard e questo è buono a causa dell'audizione target. Perché la buona interfaccia utente SW, e la lingua è l'interfaccia utente SW, deve essere eseguita in base alle esigenze dell'utente, non del programmatore.
- I nostri standard IT sono standard di settore. L'IT è industria. La scienza non è industria. Gli scienziati ne sono orgogliosi. E con riluttanza prenderebbero qualsiasi cosa dalla nostra pratica nella loro. E a loro non piacciono affatto gli standard. E a nessuno piacciono gli standard stranieri. Quindi, se qualcuno creerà un linguaggio scientifico che rispetti gli standard IT, difficilmente venderebbe bene, a causa della antipatia per il sistema uditivo target, anche se obiettivamente fosse più conveniente.
E anche se giudicheremo solo in base agli standard IT ... Siamo spiacenti, quali standard intendi? Hai provato a scrivere un prog in APL o SNOBOL? Queste due lingue sono, IMHO, le PIÙ potenti nei campi appropriati (conteggio e stringhe). Ma la sintassi è qualcosa di MOLTO strano (ed efficace) La lettura di una riga di codice APL potrebbe richiedere giorni. D'altra parte, tale linea è un serio pezzo di SW. Ritorneresti a Mathlab con lacrime di sollievo.
Per quanto riguarda "=", molte persone hanno problemi ad abituarsi al fatto che non si tratta di uguaglianza, ma di assegnazione. A proposito, in Pascal è l'uguaglianza e l'assegnazione è ": =".
E pensi davvero che == per l'uguaglianza sia più naturale? Al contrario, mescolando = e == è l'errore più comune nella programmazione in C, accade molto spesso anche negli IDE contemporanei, con il loro controllo automatico.
Informazioni sull'indicizzazione da 1: è l'unica naturale. Quando eri bambino, avevi imparato poesie e canzoni, dove contavi: uno, due, tre ... E non 0,1,2 ... In matematica a scuola abbiamo studiato che il conteggio parte da 1, e che 0 non appartiene ai numeri naturali / di conteggio. Solo con la definizione di funzioni vengono indici non naturali. Dopotutto, lo 0 è stato inventato molte migliaia di anni dopo che il nostro antenato ha alzato un dito.
0-start è stato più semplice da realizzare e ha subito iniziato la pratica IT dopo l'apparizione C. Ma in Fortran, la prima lingua, viene utilizzata l'indicizzazione 1. Lo stesso con altre lingue dell'epoca preindustriale.
E sì, avevo letto l'articolo di Dyjkstra sulla naturalità del conteggio basato su 0. E totalmente in disaccordo con le sue argomentazioni. È naturale per i musicisti. E anche 0 appassionati che creano i compilatori C e Java, contano le righe del codice A PARTIRE DA 1!