Perché BASIC è cattivo? [duplicare]

-1

BASIC e dialetti correlati sono stati a lungo etichettati come "cattivi". L'ho visto dire da alcuni dei migliori programmatori che conosco, professori a Stanford e persino uno dei più brillanti informatici:

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 - Edsger W. Dijkstra

Ora, penso che la citazione potrebbe essere stata presa leggermente fuori dal contesto, e doveva essere qualcosa di esagerato, ma allo stesso tempo, chiunque abbia detto qualcosa del genere chiaramente non gli piace BASIC.

Quando ho iniziato a programmare un po 'di tempo fa, ho iniziato con BASIC e non mi considero un programmatore scadente, e conosco molti buoni programmatori che hanno iniziato anche con BASIC.

Ora, l'ovvia ragione per cui non ci piace è che insegna cattive abitudini, abilità e metodologie. Mi sto solo chiedendo perché la gente lo dica, e se è anche giusto dirlo.

Secondo me, ogni programmatore che è limitato dalla loro lingua è un programmatore malvagio, e che anche se BASIC fosse in qualche modo l'uomo nero che tutti lo facevano, non dovrebbe comunque ostacolare significativamente la "programmazione" di qualcuno.

tl; dr - Perché le persone considerano il BASIC un cattivo linguaggio di programmazione (specialmente per i principianti) e perché la gente dice che insegna cattive abilità? Qual è la "mutilazione mentale" di cui parla Dijkstra?

    
posta Bob 01.01.2012 - 21:53
fonte

1 risposta

2

Per essere precisi, è necessario qualificare cattivo con un'applicazione specifica e anche quale versione di BASIC. La MS VB.NET di oggi non è male per l'apprendimento di OO o per la creazione di applicazioni aziendali per il Web e per il desktop. Microsoft utilizza ancora VBA per l'automazione della sua linea di prodotti Office e migliaia di macros sono in esecuzione su di esso ogni giorno.

Negli anni 80, il BASIC mancava di puntatori (che era una cosa importante per gli sviluppatori C), aveva numeri di riga (che per alcuni era considerato brutto) e aveva un GOTO (alcune implementazioni non permettevano l'annidamento di IF / ELSE quindi GOTO era molto importante) anche la gestione degli errori non è stata aggiornata (ON ERROR GOTO).

Inoltre, a quei tempi, BASIC non era OO. Per quanto posso ricordare, ai vecchi tempi, BASIC non aveva un modo per accedere ai database e usava solo file sequenziali e casuali (file casuali, utilizza solo tasti numerici).

I suddetti problemi insieme al fatto che ai vecchi tempi C e UNIX erano la coppia più bella del blocco potrebbe aver contribuito all'immagine di BASIC. Tuttavia BASIC era molto popolare. Un sacco di giochi e applicazioni aziendali sono stati scritti in BASIC e sono stati pubblicati innumerevoli libri sui suoi diversi dialetti. Quindi non può essere troppo cattivo :)

    
risposta data 01.01.2012 - 22:20
fonte

Leggi altre domande sui tag