It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration
Ho profondo rispetto per Dijkstra, ma non sono d'accordo con tutto ciò che ha detto / scritto. Non sono d'accordo specialmente con questa citazione su carta collegata, scritta 35 anni fa circa l'implementazione Dartmouth BASIC .
Molti dei miei programmatori di colleghi o amici hanno iniziato con BASIC, le domande seguenti hanno risposte che indicano che molti programmatori hanno avuto la loro prima esperienza di programmazione in BASIC. AFAIK molti programmatori buoni sono stati avviati alla programmazione BASIC.
Non sto parlando di Visual Basic o di altri dialetti "moderni" di BASIC che funzionano su macchine piene di risorse. Sto parlando dei vecchi tempi BASIC in esecuzione su computer "giocattolo", che il programmatore doveva preoccuparsi di salvare piccoli numeri che non devono essere calcolati come una stringa per salvare un misero byte perché il computer ne aveva solo poche centinaia, o devi usare goto computato per mancanza di una funzione più potente e molte altre cose che richiedono al programmatore di pensare molto prima di fare qualcosa e forzare il programmatore a essere creativo.
Se hai esperienza con BASIC dei vecchi tempi su una macchina con risorse limitate (tieni presente che un semplice microcontrollore oggi ha molte più risorse di un computer nel 1975, pensi che BASIC aiuti la tua mente a trovare soluzioni migliori? , pensare come un ingegnere o BASIC ti trascina verso il lato oscuro della programmazione e ti ha mutilato mentalmente?
È bello apprendere un linguaggio di programmazione in esecuzione su un computer pieno di risorse in cui il programmatore inesperto può sbagliare e il programma viene eseguito senza grossi problemi? O è meglio imparare dove il programmatore non può sbagliare?
Che cosa puoi dire del BASIC ti ha aiutato a essere un programmatore migliore / peggiore?
Insegneresti il vecchio BASIC in esecuzione su una macchina da 2KB (virtuale) a un programmatore in arrivo?
Certo, solo l'esposizione al BASIC è cattiva. Forse condividi la mia opinione sul fatto che il BASIC moderno non sia di grande aiuto perché il BASIC moderno, come altri linguaggi di programmazione, offre funzionalità che consentono al programmatore di non pensare più in profondità.
Informazioni aggiuntive: Perché BASIC?