Quoto appieno le argomentazioni di paolino_delta_t, Python è consigliatissimo come linguaggio d'abbrivio, poiché consente di essere produttivi con una curva di apprendimento non eccessivamente ripida, dovuta sostanzialmente a tre fattori:
1) Librerie ricchissime e liberamente disponibili (in C e C++ l'I/O da terminale offerto dalle librerie standard è fermo al 1982, e metà delle relative funzioni è deprecata, anche se intere legioni di docenti e di studenti lo ignorano bellamente);
2) Sintassi ampiamente espressiva, coerente, sintetica, semplificata e moderna;
3) Sostanziale indipendenza da architettura e SO, trattandosi di un linguaggio interpretato e genuinamente HLL.
Inoltre non sarebbe male affiancare un testo di introduzione alla logica della programmazione, come lo Sprankle. Importante è invece dimenticare per sempre che purtroppo, per mere ragioni di retrocompatibilità e salvaguardia degli investimenti nel mercato burotico, a tutt'oggi esistano ancora linguaggi derivati dal basic.
Occorre comunque rimarcare che l'uso di un linguaggio didatticamente valido non esime assolutamente dalla creazione di un vero background da informatico, di cui la conoscenza di uno, cinque, dieci o cento linguaggi è solamente l'epifenomeno. Occorre come minimo una solidissima preparazione nell'area algoritmico-computazionale, una profonda conoscenza dei principi del software engineering, nozioni non banali di architettura dei calcolatori e delle reti di calcolatori, e dopo tutto ciò una full immersion nella scienza dell'ottimizzazione, che richiede un cumulo di competenze orizzontali e verticali che afferiscono a tutte le discipline già richiamate, dalla capacità di ottimizzazione algoritmica e algebrico-computazionale alla pefetta conoscenza dell'architettura target.
Questa affermazione suona un po' ingenua e fa sorridere. Come dire, mi sono svegliato una mattina e guardandomi allo specchio ho scoperto con raccapriccio di non avere la muscolatura di Schwarzenegger... steroidi e anabolizzanti a parte, occorrono anni di studio e lavoro mirato e specifico!
Perché l'università italiana vive fuori dal tempo, e i docenti di quei corsi in genere insegnano quello che a loro volta hanno appreso da studenti, non essendo in alcun modo specialisti in quell'area, con poche eccezioni. Così per oltre un decennio gli studenti sono stati ammorbati con l'uso di Pascal (povero Blaise, chissà come si rivolta nella tomba!) e Basic vari, poi è arrivata l'ondata di C e C++ con i disastri che purtroppo ben conosciamo (ogni anno nelle multinazionali si spendono cifre spaventose per "riformare" laurati e addottorati da poco imbarcati in azienda), e ultimamente vanno molto di moda java e in misura minore php. No comment.