DOMANDA come iniziare per programmare

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.
Ho riletto la domanda di SNAPU. All'inizio ha scritto che ha una grande passione per la programmazione, alla fine ha scritto che vorrebbe saper programmare un minimo. Ho visto che ha 21 anni, e non so che cosa fa, se è iscritto all'università o se lavora/in cerca di lavoro. Fatto come hobby, la programmazione porta via comunque un bel po' ti tempo, e potrebbe anche non servirgli a niente. Tutti noi sappiamo fare 1+1=2, ma ciò non fa di noi dei laureati in matematica (va be', qualcuno di voi potrebbe esserlo veramente :) ). Così è con la programmazione, non si diventa in automatico dei laureati in informatica studiandola per hobby.
Ho controllato tutti i post, e dopo quello di apertura SNAPU non ha scritto più nulla. Fino a quando non si farà risentire, io mi fermo qua.
 
Ho riletto la domanda di SNAPU. All'inizio ha scritto che ha una grande passione per la programmazione, alla fine ha scritto che vorrebbe saper programmare un minimo. Ho visto che ha 21 anni, e non so che cosa fa, se è iscritto all'università o se lavora/in cerca di lavoro. Fatto come hobby, la programmazione porta via comunque un bel po' ti tempo, e potrebbe anche non servirgli a niente. Tutti noi sappiamo fare 1+1=2, ma ciò non fa di noi dei laureati in matematica (va be', qualcuno di voi potrebbe esserlo veramente :) ). Così è con la programmazione, non si diventa in automatico dei laureati in informatica studiandola per hobby.
Ho controllato tutti i post, e dopo quello di apertura SNAPU non ha scritto più nulla. Fino a quando non si farà risentire, io mi fermo qua.
Quindi?

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
Inutile fare dibattiti se il diretto interessato non si fa sentire.

Soprattutto è inutile, mio caro @Mursey, iniziare l'apprendimento della programmazione se non si conoscono le basi della progettazione degli algoritmi, distinguendo le due fasi: dal problema all'algoritmo e dall'algoritmo al programma :sisi:
A tal fine vale la pena rimettere il link, da te già indicato al post #2, alla discussione sugli "ambienti di esecuzione":
https://www.tomshw.it/forum/threads/linguaggi-di-programmazione-e-ambienti-di-esecuzione.549368/
In un mio breve intervento (link sotto) metto in risalto l'importanza della conoscenza delle nozioni teoriche e matematiche di base sulla rappresentazione dei dati (sistemi di numerazione, codici, rappresentazione dei numeri e così via):
https://www.tomshw.it/forum/threads/iniziare-a-programmare.573652/post-5430543
Infine non sarebbe male sapere alcune nozioni di cibernetica generale e applicata (teoria dei sistemi, elettronica digitale, automi a stati finiti, architettura dei microprocessori, cenni di programmazione a basso livello in Assembly, ecc.) :asd:
A presto ;)
 
Soprattutto è inutile, mio caro @Mursey, iniziare l'apprendimento della programmazione se non si conoscono le basi della progettazione degli algoritmi, distinguendo le due fasi: dal problema all'algoritmo e dall'algoritmo al programma :sisi:
A tal fine vale la pena rimettere il link, da te già indicato al post #2, alla discussione sugli "ambienti di esecuzione":
https://www.tomshw.it/forum/threads/linguaggi-di-programmazione-e-ambienti-di-esecuzione.549368/
In un mio breve intervento (link sotto) metto in risalto l'importanza della conoscenza delle nozioni teoriche e matematiche di base sulla rappresentazione dei dati (sistemi di numerazione, codici, rappresentazione dei numeri e così via):
https://www.tomshw.it/forum/threads/iniziare-a-programmare.573652/post-5430543
Infine non sarebbe male sapere alcune nozioni di cibernetica generale e applicata (teoria dei sistemi, elettronica digitale, automi a stati finiti, architettura dei microprocessori, cenni di programmazione a basso livello in Assembly, ecc.) :asd:
A presto ;)
Tutti questi "cenni" mi sembrano decisamente eccessivi per le pretese espresse dall'OP!

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
Credo che,se da una parte un newbie(come sono pure io) può essere confuso dalla mole di informazioni a riguardo,questo ha anche lati positivi:
Ci sono molti siti e community composti interamente da persone che vogliono imparare a programmare
Youtube ha molto materiale,anche per quanto riguarda le parti teoriche e introduttive(ovviamente da solo non basta assolutamente)
Su reddit r/learnprogramming(ci sono anche molti post sul metodo e sulla giusta mentalità da adottare,argomento citato molto spesso in queste discussioni)
Poi,se viene scelto un linguaggio,ci sono testi e manuali
citando l'utente,"sapere programmare un minimo" è quello che vogliono molti
 
Nel caso scolastico, il linguaggio C rimane tra i preferiti perché è rigorosamente formale e permette di affrontare concetti tipici dell’informatica, primo tra i quali la allocazione di memoria

Imho fanno male e i risultati agli esami lo dimostrano. Anche ai miei tempi c'erano i due esami di fondamenti, rigorosamente C e C++, il che li rendeva molto ostici. Considerando che c'è gente che arriva all'università senza avere mai scritto una riga di codice.

Se proprio vogliono il formalismo, devono adottare Pascal e non C, che una disciplina di typing debole. Voglio dire, non esiste nemmeno il tipo stringa!

A peggiorare la situazione, con le lauree triennali, c'è l'aggiunta di architettura dei calcolatori ( ai miei tempi c'erano due esami di calcolatori, ma al 3° e 4° anno ) al primo anno.

E il fatto che non sia una scelta felicissima è dimostrato anche dall'adozione di Python come linguaggio per i primi corsi di programmazione in college prestigiosi come il MIT e Stanford.

In soldoni gli americani hanno adottato la strategia di far sviluppare prima la forma mentis da informatico e poi scendere nei dettagli architetturali ( che poi il C in questo è diverso dagli altri, nell'esporre le viscere del processore ).
 
A peggiorare la situazione, con le lauree triennali, c'è l'aggiunta di architettura dei calcolatori ( ai miei tempi c'erano due esami di calcolatori, ma al 3° e 4° anno ) al primo anno.

La triennale è purtroppo un male dei tempi moderni, in 3 anni di università devi far uscire un mini laureato che sappia fare di tutto un po' (bene probabilmente nulla e con basi teoriche molto deboli).
Architetture 2 da me era un esame facoltativo della magistrale, seguito da forse una 10ina di persone, ecco tolta quella decina di individui tutto il resto dei laureati è rimasto alla mic1 (o come diavolo si chiamava) del Tanenbaum di architetture 1 fatta al primo anno. Io penso che questo debba un attimo far riflettere che escano informatici che non sappiano nemmeno a grandi linee come funzioni un processore reale.

Inviato da STF-L09 tramite App ufficiale di Tom\'s Hardware Italia Forum
 
La triennale è purtroppo un male dei tempi moderni, in 3 anni di università devi far uscire un mini laureato che sappia fare di tutto un po' (bene probabilmente nulla e con basi teoriche molto deboli).

Ma infatti. Il percorso seguito in Italia non è per nulla brillante, come non lo è la scelta di C, C++ o Java come primi linguaggi. Imho, se si vuole partire da un linguaggio di relativamente bare metal, ma rigoroso e formale ( cosa importante all'inizio ), la scelta migliore è Pascal.
 
Ma infatti. Il percorso seguito in Italia non è per nulla brillante, come non lo è la scelta di C, C++ o Java come primi linguaggi. Imho, se si vuole partire da un linguaggio di relativamente bare metal, ma rigoroso e formale ( cosa importante all'inizio ), la scelta migliore è Pascal.
Pascal dovrebbero metterlo obbligatorio alle superiori, oramai sapere un minimo come approcciarsi ai problemi informatici dovrebbe essere patrimonio di tutti. Ed in quel modo riesci a risparmiare ore nei corsi di programmazione di base.

Inviato da STF-L09 tramite App ufficiale di Tom\'s Hardware Italia Forum
 
Imho fanno male e i risultati agli esami lo dimostrano. Anche ai miei tempi c'erano i due esami di fondamenti, rigorosamente C e C++, il che li rendeva molto ostici. ...

Se proprio vogliono il formalismo, devono adottare Pascal e non C, che una disciplina di typing debole. Voglio dire, non esiste nemmeno il tipo stringa!
...

E il fatto che non sia una scelta felicissima è dimostrato anche dall'adozione di Python come linguaggio per i primi corsi di programmazione in college prestigiosi come il MIT e Stanford.
In soldoni gli americani hanno adottato la strategia di far sviluppare prima la forma mentis da informatico e poi scendere nei dettagli architetturali ( che poi il C in questo è diverso dagli altri, nell'esporre le viscere del processore ).
Ah, qui sfondi una porta aperta...
Anche io preferisco il Pascal per insegnare, purtroppo e' un linguaggio morto che non conosce piu' nessuno, nemmeno i docenti. Non so neanche che compilatori ci siano in giro adesso. La scelta ricade quindi sul C, il che significa che si impara solo se si ha un buon insegnante.

Per i college americani hai perfettamente ragione, io ho seguito online i corsi di Stanford dove nel primo corso (CS101) si usa un linguaggio di programmazione molto semplice, fatto in casa, molto limitato con poche istruzioni, che si impara in poche ore. Proprio per dividere il problema di dovere imparare sia un linguaggio che a programmare allo stesso tempo. Ma poi si passa direttamente al C++.

Che gli americani facciano meglio o peggio, e' un discorso aperto. DIpende come sempre dalla bravura dell'insegnate. Io ho conosciuto un dottorando che fece la sua tesi di PhD presso la nostra azienda (americana), io non gli avrei MAI accettato la sua tesi perche' era chiaro che non capiva i problemi intrinsici della programmazione, cosa inconcepibile per un PhD. Si dovrebbe sapere che le operazioni matematiche possono provocare un overflow (e quindi premunirsi), ci misi un po' a capire perche' il suo programma non funzionasse con i nostri dati, e pochi minuti per correggere gli errori. Non so che fine abbia fatto, so che non usammo il suo codice (si trattava di una rete neurale)
 
Ultima modifica:
La tragedia delle triennali vale per tutti i corsi di laurea! Il fatto è che l'Italia ha pochi laureati così facendo pensano di aumentarne il numero, ma la qualità scende drasticamente.

Pascal andava di moda all'Università negli anni Ottanta.. ho ancora chiaro il ricordo della spocchia infinita di questi personaggetti quando si scandalizzavano a vederci lavorare con VB, macro-assembler e anche con il C... poi penso che siano trasmigrazione a Java

Inviato dal mio Nexus 5 utilizzando Tapatalk
 
Ultima modifica:
Anche io preferisco il Pascal per insegnare, purtroppo e' un linguaggio morto che non conosce piu' nessuno, nemmeno i docenti.

In occidente! In Russia è il primo linguaggio che viene insegnato negli istituti tecnici e nei corsi universitari d'informatica.

Non so neanche che compilatori ci siano in giro adesso.

Sono pochi ma è roba robusta. Embarcadero e Free Pascal/Lazarus sono quelli di riferimento per il closed e l'open rispettivamente.

La scelta ricade quindi sul C, il che significa che si impara solo se si ha un buon insegnante.

Richiederebbe però molto più tempo di quanto se ne ha a disposizione in un corso di 3 mesi. Il solo concetto di puntatore è un pugno in faccia la prima volta che lo si incontra. E' lo stesso errore per cui continuano ad insegnare la concorrenza, nei corsi di sistemi operativi, tramite i thread posix.
 
1-2 anni fa scrissi un post dove dissi che, secondo me, il Pascal fosse il miglior linguaggio didattico da cui iniziare: più di qualcuno mi prese per "antico" e fuori dal tempo; invece vedo con piacere più di qualcuno la pensa come me. :ok:
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top