Approcciarsi alla programmazione da novellino

Stato
Discussione chiusa ad ulteriori risposte.

Auronzolo

Utente Attivo
900
95
Hardware Utente
CPU
Ryzen 5 1600
Dissipatore
Stock
Scheda Madre
AsRock AB350 Pro 4
Hard Disk
1x SSD SanDisk Extreme 500 GB - 1x Seagate 500GB 3.5" 7200rpm 16MB SATA3 - 1x SSD Samsung 840 Pro
RAM
2x Corsair Vengeance LPX 8GB 3000mhz DDR4
Scheda Video
GTX 1080 Phoenix Gainward
Scheda Audio
Sound Blaster Z
Monitor
LG 27UD59 27"
Alimentatore
XFX XTR 550w Gold
Case
Phanteks P400 Tempered Glass
Periferiche
Tastiera: TTesports - Mouse: Logitech G403 Prodigy - Cuffie: DT 990 Pro
Internet
Fibra
Sistema Operativo
Windows 10 Pro 64 Bit
Ciao a tutti! Su consiglio di alcune persone, vorrei provare ad avvicinarmi alla programmazione, magari in futuro lavorare anche in questo settore. Ho 30 anni e ai tempi della scuola feci un po' di programmazione per 5 anni in VB / ASP. Ovviamente con tutti i suoi limiti. Poi dopo la scuola decisi di fare altro nella vita ma con i PC me la sono sempre cavata, a livello Software / Hardware, diciamo che "me ne capisco un po' di più rispetto all'utente medio".

Come dicevo, vorrei approcciarmi ora alla programmazione nel tempo libero e farne, capacità e tempo permettendo, una mia competenza, vuoi per voglia di imparare, sapere e magari un domani chissà, aggiungere questa competenza sul curriculum.

Come linguaggio ho scelto il C# e su consiglio di una persona che lavora da anni nel settore, ho acquistato un libro inerente C# per capire le basi; lo sto leggendo con interesse (mi sembra ben fatto), alternandolo con tutorial di spiegazioni trovati su YouTube e reperendo informazioni su google per capire i concetti teorici.

Scrivo questo post perchè, dopo una settimana di lettura (che va a rilento perchè devo fermarmi a pensare, ragionare, cercare di capire la logica), videospiegazioni di YouTube e alcune stesure di righe di codice, noto che capisco il piccolo esercizio in se ma dopo, se provo a uscire dagli schemi per fare qualcosa che non è riportato nelle guide / esercizi, vado nel pallone, mi blocco delle mezz'ore per cercare la soluzione e la cosa mi fa sentire un po' ritardato. Vorrei capire un attimo con quale approccio dovrei gestire la situazione.

Voi ricordate quando è stata la prima volta che vi siete avvicinati alla programmazione? Com'è stato? Come vi siete comportati davanti ai problemi? E' solo una questione di tempo / pratica quindi tutti prima o poi riescono a diventare bravi o ci sono delle eccezioni?

Tutto questo nasce dal fatto che, stando a quello che ho studiato sul libro, dovrei essere in grado di gestire bene le variabili, gli operatori aritmetici, l'istruzione IF e i cicli FOR, WHILE e DO-WHILE; il problema arriva quando devo mettere insieme tutte queste cose per realizzare un programmino per completare le esercitazioni e non capisco se impiegare un sacco di tempo per far funzionare tutto, sia normale. Considerando che queste sono le basi e mi aspettano ancora una miriade di argomenti.

Qual'è il metodo corretto da seguire e passare da "Aiuto, non ci capisco niente, come faccio, mi scoppia la testa" a "Eh dai, non è poi così male".
 

_Achille

Utente Èlite
2,995
685
Hardware Utente
CPU
Intel i5-6600K @4.6 GHz
Dissipatore
Cryorig H5
Scheda Madre
ASRock Z170 Extreme 6
Hard Disk
WesternDigital 1TB & Crucial MX200 250GB
RAM
Corsair Ven 16GB DDR4 2133MHz
Scheda Video
Sapphire RX 580 Nitro+
Monitor
Dell S2418H
Alimentatore
RM550X
Case
NZXT S340
Periferiche
Cooler Master XT; Razer Abyssus
Sistema Operativo
Windows 10 Pro
Non credo che il C# sia il miglior linguaggio con cui iniziare. È molto verboso e il fatto che sia orientato agli oggetti non aiuta.
Inizierei con il C++. Permette di fare esercizi semplici di vario tipo senza dover smanettare troppo sulla teoria. Ovviamente alla fine non è semplice da comprendere a fondo come il C#, ma all'inizio semplifica solo.
 

DispatchCode

Utente Attivo
593
342
Hardware Utente
CPU
Intel i7 6700HQ, 2.60Ghz, 4 core 8 threads
Scheda Madre
Asustek
Hard Disk
Hitachi 7200 rpm, 1TB
RAM
16GB DDR4 (2 slot su 4)
Scheda Video
Nvidia Geforce GTX 960M, 4GB
Scheda Audio
Realtek
Sistema Operativo
Windows 10 64bit
Come linguaggio ho scelto il C# e su consiglio di una persona che lavora da anni nel settore, ho acquistato un libro inerente C# per capire le basi; lo sto leggendo con interesse (mi sembra ben fatto), alternandolo con tutorial di spiegazioni trovati su YouTube e reperendo informazioni su google per capire i concetti teorici.

Scrivo questo post perchè, dopo una settimana di lettura (che va a rilento perchè devo fermarmi a pensare, ragionare, cercare di capire la logica), videospiegazioni di YouTube e alcune stesure di righe di codice, noto che capisco il piccolo esercizio in se ma dopo, se provo a uscire dagli schemi per fare qualcosa che non è riportato nelle guide / esercizi, vado nel pallone, mi blocco delle mezz'ore per cercare la soluzione e la cosa mi fa sentire un po' ritardato. Vorrei capire un attimo con quale approccio dovrei gestire la situazione.
Se hai iniziato solo da una settimana, prosegui. In pratica è come se non avessi iniziato.
E' giusto così, devi sviluppare capacità di problem solving differenti, cambiare alcuni tuoi schemi (ed il fatto che non sei più un giovincello di certo può rallentarti un pò :hihi:).
Studiare e fare pratica sono gli unici due suggerimenti sensati che mi sento di darti: stai attento a YouTube, ci sono cose buone, ma tante da evitare.

Voi ricordate quando è stata la prima volta che vi siete avvicinati alla programmazione? Com'è stato? Come vi siete comportati davanti ai problemi? E' solo una questione di tempo / pratica quindi tutti prima o poi riescono a diventare bravi o ci sono delle eccezioni?
Tutti i programmatori non sono bravi allo stesso livello, questo è sicuro (discorso che estenderei ai laureati); io programmo da qualche annetto (11-12), ma non sono ancora bravo. :D
Il tempo certamente è un fattore importante: come dicevo sopra, una settimana è niente. Ci devi sbattere la testa. Anche quando avrai esperienza incontrerai problemi che ti faranno pensare per ore o giorni (progettando e poi scrivendo codice).

Tutto questo nasce dal fatto che, stando a quello che ho studiato sul libro, dovrei essere in grado di gestire bene le variabili, gli operatori aritmetici, l'istruzione IF e i cicli FOR, WHILE e DO-WHILE; il problema arriva quando devo mettere insieme tutte queste cose per realizzare un programmino per completare le esercitazioni e non capisco se impiegare un sacco di tempo per far funzionare tutto, sia normale. Considerando che queste sono le basi e mi aspettano ancora una miriade di argomenti.

Qual'è il metodo corretto da seguire e passare da "Aiuto, non ci capisco niente, come faccio, mi scoppia la testa" a "Eh dai, non è poi così male".
Cerca esercizi in rete; sui forum di qualche anno fa (ora inattivi) ne troverai ancora una miriade. Ci sono anche dispense universitarie ed esercizi di scuola superiore.
Io ho iniziato da Java, e da autodidatta. Java è simile a C# sotto molti aspetti, compresa la verbosità, come dice Achille. Programmazione ad oggetti o no, alla fine l'importante è sviluppare la giusta mentalità, impostare i ragionamenti etc etc. Probabilmente ci vorrà 2 o 3 volte il tempo che impiegheresti con un linguaggio come Python, ma tutto ha pro e contro.

Prosegui con C# e abbi fede.

Ps. ci sono comunque almeno quattro o cinque topic sull'argomento, se cerchi sul forum trovi altri consigli dati ad altri.
 
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando