Approcciarsi alla programmazione da novellino

Stato
Discussione chiusa ad ulteriori risposte.

Auronzolo

Utente Attivo
1,072
119
CPU
Ryzen 5 1600
Dissipatore
Stock
Scheda Madre
AsRock AB350 Pro 4
HDD
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
GPU
GTX 1080 Phoenix Gainward
Audio
Sound Blaster Z
Monitor
LG 27GL850 27" QHD
PSU
XFX XTR 550w Gold
Case
Phanteks P400 Tempered Glass
Periferiche
Tastiera: TTesports - Mouse: Logitech G403 Prodigy - Cuffie: DT 990 Pro
Net
Fibra
OS
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
3,067
725
CPU
Intel i5-6600K @4.6 GHz
Dissipatore
Cryorig H5
Scheda Madre
ASRock Z170 Extreme 6
HDD
WesternDigital 1TB & Crucial MX200 250GB
RAM
Corsair Ven 16GB DDR4 2133MHz
GPU
Sapphire RX 580 Nitro+
Monitor
Dell S2418H
PSU
RM550X
Case
NZXT S340
Periferiche
Anne Pro 2, Razer Abyssus
OS
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

Moderatore
Staff Forum
Utente Èlite
2,223
1,854
CPU
Intel I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10GB DDR6
Audio
Integrata 7.1 HD audio
Monitor
LG 34GN850
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
FTTH Aruba, 1Gb (effettivi: ~950Mb / ~480Mb)
OS
Windows 10 64bit / OpenSUSE Tumbleweed
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
Discord Ufficiale Entra ora!

Discussioni Simili