migliorabile ha scritto:
Visto che NESSUNO ha risposto alla domanda su QUALI DOVREBBERO ESSERE LE CARATTERISTICHE che un linguaggio di programmazione dovrebbe avere per essere un buon linguaggio per uso DIDATTICO ("sentito dire" ?? )
Per forza, sarebbe un po' OT: la richiesta era un'altra.
2) essere un linguaggio tipato e' una STRA-OTTIMA cosa, ma introduce un livello di difficolta' che, all'inizio, uno si puo' anche risparmiare, visto che si puo' anche evitare. Quindi un linguaggio NON TIPATO e' MEGLIO
A parte l'uso sballato dei termini (da un programmatore si richiede un po' di precisione...), la tua è un'opinione. Non la condivido per niente.
3) avere il garbage collector: gestire la memoria direttamente (con i famigerati PUNTATORI) e' sempre stato un bagno di sangue, ed introduce un livello di complessita' nella comprensione di un linguaggio da non sottovalutare. Quindi NON DOVER gestire la memoria direttamente E' MEGLIO, se poi scompare anche il concetto di PUNTATORE, e' "PIU' MEGLIO"
Ma tu con che linguaggi lavori (cioè ti pagano...)???
6) avere una libraria ricca di funzionalita': sia la libreria fornita a corredo del linguaggio, sia come librerie di terze parti (per Python, la libreria e' STERMINATA)
Quantità vs qualità... sei un pollo!
7) NON PARTIRE dall'interfaccia utente: per imparare a programmare si deve partire dalle stupidissime applicazioni da linea di comando, NON dall'interfaccia utente che richede conoscere/comprendere un paradigma di programmazione decisamente sofisticato
Indubbiamente capire le complessità dietro una qualsiasi GUI richiede uno sforzo notevole ma se si va per passi non si diventa matti. D'altra parte bisogna pur arrivarci!
un linguaggio interpretato e' piu' semplice da utilizzare, perche' non richiede il passo di compilazione, ALTRO concetto che chi si avvicina alla programmazione dovrebbe digerire, ma la cui cosa non e' neccessaria. Ma un linguaggio compilato per il quale il passo di compilazione e' automatico E' MEGLIO
Altra boiata fenomenale! Con un ambiente decente non c'è alcun problema, fa tutto "lui".
Quindi, ad esempio, partire da "Lazzarus" rappresenta l'ESATTO OPPOSTO di quello che dice @nicolap a cui non piace Python perche' lo considera una schifezza di linguaggio.
Questa proprio te la potevi risparmiare. Secondo me Lazarus rappresenta un buon inizio, se si usa Linux o OS-X. Altrimenti ritengo che la versione 6 o 7 di Delphi rappresenti una scelta migliore perché l'ambiente è più semplice rispetto alle versioni più recenti e contiene tutto quello che serve per un principiante.
Pascal/Object Pascal/Free Pascal ha le seguenti limitazioni:
1) presenta sovvrastrutture (la Unit, ad esempio)
2) e' un linguaggio tipato, COSA OTTIMA, ma non necessaria
3) si porta dietro ancora il concetto di puntatore (concetto caro al tempo dei dinosauri )
4) la bibliografia e' infinitesima rispetto a quella di Python
5) con Python uno puo' giocare anche con le reti neurali, basta scaricare la libreria (Tensorflow) e leggere qualche libro
6) non ha un libreria molto ricca (quella di python e' sterminata)
7) l'IDE Lazarus parte dall'interfaccia utente (e' un RAD - Rapid Application Development), fatto che e' stato abbandonato da TUTTI gli IDE di ultima generazione, perche' induce il programmatore a ragionare in termini di "cosa faccio quando premo il bottone" invece di "che cosa deve fare il programma e come lo visualizzo" (la classica architettua "Model View Controller")
1) Sbagliato. Le unit sono strumenti di partizionamento del codice (come le librerie) e, una volta capite, sono uno strumento semplice ed efficiente.
2) Si dice "tipizzato"; cosa, secondo molti insegnanti, indispensabile per imparare a programmare in maniera decente.
3) Finché ci sarà la memoria ci saranno i puntatori! In realtà non è indispensabile usarli ma "fa bene" sapere che ci sono e a cosa servono. Il fatto che poi il compilatore e il linguaggio li nascondano non significa che puoi rimanere un asino...
5) Ma quanti anni hai??? Se vuoi fare il tifo per un linguaggio hai sbagliato forum.
6) Evidente non sai di cosa parli. Oltre al fatto che questi sono aspetti più marginali, dal punto di vista didattico.
7) È ufficiale: sei pazzo!
Ma affermazioni del tipo "Pinco e' una schifezza" sono d'effetto, anche condivisibili, ma non spiegano PERCHE" e' una schifezza
Non sempre c'è il tempo/vale la pena di rispondere per esteso. La sintesi è una qualità ancora sottostimata
N