DOMANDA come iniziare per programmare

Stato
Discussione chiusa ad ulteriori risposte.

clessidra

Utente Attivo
766
272
CPU
VIA C3
GPU
Ati Rage
OS
linux - Red Hat 1.1
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.
 
  • Mi piace
Reazioni: Utente 16812

rctimelines

Utente Èlite
5,143
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
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
 
U

Utente 16812

Ospite
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 ;)
 

rctimelines

Utente Èlite
5,143
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
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
 
  • Mi piace
Reazioni: Andretti60

Lam

Utente Èlite
2,354
290
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
 

pabloski

Utente Èlite
2,868
916
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 ).
 
  • Mi piace
Reazioni: BAT e Andretti60

TerrorUberAlles

Nuovo Utente
127
39
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
 

pabloski

Utente Èlite
2,868
916
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.
 
  • Mi piace
Reazioni: Andretti60

TerrorUberAlles

Nuovo Utente
127
39
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
 
  • Mi piace
Reazioni: Andretti60

Andretti60

Utente Èlite
6,440
5,091
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:
  • Mi piace
Reazioni: TerrorUberAlles

rctimelines

Utente Èlite
5,143
2,023
CPU
Ryzen 7 2700X | i7-6700k@4.5 | i5-4460... altri
Dissipatore
wraith MAX | Scythe Katana2|Arctic Freezer 11LP
Scheda Madre
Asrock B450 Fatal1ty 4K | Asus Prime Z270P | Acer Veriton
HDD
Samsung 970evo m.2 | vari | Samsung 860 evo
RAM
16GB G.Skill TridentZ 3000 | 16GB CORSAIR 2133 | 8GB DDR3 1600
GPU
RadeonPro WX3100 4G | ZOTAC GTX 1070 8G | Quadro k620 2G
Monitor
DELL 2419P 2K + Benq 17" | LG Ultrawide 27''
Net
fibra 1000
OS
Windows10-pro64/OpenSUSE-QL15.1/Debian 10.3
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:
  • Mi piace
Reazioni: Andretti60

pabloski

Utente Èlite
2,868
916
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.
 
  • Mi piace
Reazioni: Andretti60

BAT

Moderatore
Staff Forum
Utente Èlite
22,941
11,577
CPU
1-Neurone
Dissipatore
Ventaglio
RAM
Scarsa
Net
Segnali di fumo
OS
Windows 10000 BUG
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.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!