UFFICIALE Imparare a Programmare

Pubblicità
Scusa, ma cosa hai studiato in un anno da autodidatta? Dovresti darci un po' piu' dettagli sul cosa sai (e non sai). Python e C sono linguaggi MOLTO diversi, sono usati in maniera completamente diversa. Per cominciare a programmare vanno entrambi bene, ma molto dipende da cosa sai adesso e quali sono i tuoi obiettivi futuri.
 
Concordo con ciò che hanno detto sopra di me riguardo al fatto che sono due linguaggi differenti.
Nonostante usi poco o quasi niente Python (se non ogni tanto per fare qualche scriptino) scegliere C sarebbe un'ottima opzione visto che ti offre delle basi che all'inizio potranno essere difficili da comprendere ma quando poi studierai altri linguaggi sarai molto avantaggiato.
Per esempio potresti iniziare con Python ma non saprai mai bene cosa sono questi dannati puntatori di cui si parla spesso e fidati che conoscerli e saperli usarli bene (che è molto difficile, si cade in errori molto facilmente) ti fa capire svariate cose sia in C che il funzionamento di altri linguaggi.
Con C hai più libertà, può essere un vataggio ma anche uno svantaggio visto che devi prestare più attenzione, sopratutto quando si tratta di puntatori.
Poi se volessimo parlare di velocità C è tutt'altra storia ma questo non centra molto con la tua domanda e ora come ora potresti pure fare finta di niente.
 
Ciao a tutti.
E' da poco più di un mese ormai che ho cominciato ad approfondire l'argomento. Frequento il quinto liceo scientifico, finora non ho mai avuto a che fare con questa materia, nemmeno a scuola, nonostante sia un ambito che mi interessa particolarmente. Infatti il prossimo anno (spero) studierò ingegneria informatica (o informatica...questo devo ancora definirlo) e volevo cominciare a imparare qualcosa da autodidatta, non per portarmi avanti con il programma - che sarebbe abbastanza inutile visto che all'università si parte da zero - ma semplicemente perché mi appassiona. Ho chiesto a un mio amico che studia ingegneria informatica a Torino e mi ha consigliato di partire prima dalla teoria, ovvero da alcuni appunti che mi ha mandato e approfondendo su internet, e poi studiare il C. Non ho avuto molti problemi con la teoria, certo non li ho studiati da dio, ma ho capito i concetti. Una volta passato al C però mi sono trovato davanti un mare di informazioni e mi è sembrato tutto troppo complesso, mi sono quindi spostato su Python, perché , leggendo su vari forum, ho visto che viene da molti considerato il linguaggio ideale per imparare a programmare, e in effetti con Python mi è sembrato tutto più chiaro all'inizio, ho imparato i concetti di base e mi sono fermato all'utilizzo delle librerie, che è diventato uno scoglio, ma sono persino riuscito a creare il mio minuscolo programmino che si esegue da terminale, ne vado molto fiero nonostante sia consapevole che sarà pieno di errori XD. Il mio problema sostanzialmente è che non so come muovermi. non pretendo la "pappa pronta", ne tanto meno diventare un programmatore in pochi mesi, sapevo gia prima di partirmi che questa è una materia vasta e complessa, e me ne sono reso conto ancor di più quando ci ho messo mano e ho visto veramente quante cose ci sono da imparare, e non è quello che chiedo. Ho semplicemente bisogno di una rampa di lancio, per capire come muovermi e come informarmi, una chiave di lettura in poche parole. Perché ora come ora imparo per inerzia, ovvero risolvo un dubbio, se ne presenta un altro e cerco di risolverlo. Certo questo mi ha portato a imparare qualcosa, ma senza consolidare e contestualizzare. se vi steste chiedendo qual è il mio obiettivo, diciamo che sarei molto soddisfatto se riuscissi a imparare tutto XD, ma so che è impossibile, almeno non in una vita, però vorrei avere quanta più conoscenza possibile e ovviamente specializzarmi come sviluppatore o in cyber security (entrambe mi interessano moltissimo). Sono arrivato qui dopo innumerevoli video su YouTube, tutorial online e quant'altro perché ho capito che ho bisogno di qualcuno più esperto di me con cui interagire e che possa effettivamente darmi qualche dritta. Sono arrivato alla conclusione che continuando a cercare di imparare da internet non riuscirò mai ad avere una visione chiara di quello che imparo, infatti sto già prendendo in considerazione l'idea di comprare un libro, magari che parta dalle basi. Questo mi darebbe delle basi solide, e in questo caso forse voi potreste consigliarmi al meglio cosa acquistare. Vi ringrazio in anticipo perchè so che non ho chiesto cose molto semplici.
 
Io la penso così (detto da uno che ha imparato python, e la programmazione, per hobby):
- il tuo amico ti ha suggerito bene;
- usare python per imparare le basi della programmazione è una scelta sensata, a patto di non considerare python la scelta definitiva; anche io l'ho imparato perchè ho sempre letto in giro che è un linguaggio di scripting (volevo usare uno di questi) migliore di altri, ma sulla base di quello che so oggi non lo imparerei, anzi, mi ha fatto smettere di programmare :oogle: ;
- per il c studia il manuale scritto dal suo inventore.
Il tutto in maniera disinteressata.
 
Salve @Clejd,
leggi qui il mio intervento:
Altri miei interventi qui:
A presto e tanti auguri ;)
 
Sono arrivato alla conclusione che continuando a cercare di imparare da internet non riuscirò mai ad avere una visione chiara di quello che imparo

Ma la domanda è: "stai semplicemente leggendo o stai provando a scrivere programmi"? Perchè è impossibile imparare a programmare senza fare.

Puoi leggerti tutte le millemila pagine di Java the complete reference, ma se poi non scrivi programmi, ci saranno una marea di concetti che non ti saranno affatto chiari.

Per esempio citavi le librerie in Python, ma non è chiaro a cosa ti riferissi. In Python si chiamano moduli, a meno che tu non stessi parlando del FFI, cioè interfacciamento a librerie esterne in C, che è un argomento estremamente avanzato.
 
Ma la domanda è: "stai semplicemente leggendo o stai provando a scrivere programmi"? Perchè è impossibile imparare a programmare senza fare.

Puoi leggerti tutte le millemila pagine di Java the complete reference, ma se poi non scrivi programmi, ci saranno una marea di concetti che non ti saranno affatto chiari.

Per esempio citavi le librerie in Python, ma non è chiaro a cosa ti riferissi. In Python si chiamano moduli, a meno che tu non stessi parlando del FFI, cioè interfacciamento a librerie esterne in C, che è un argomento estremamente avanzato.

No no ho già provato a scrivere qualcosa, come ho già detto ho scritto un mio piccolo programmino, è una cosa banalissima XD. Poi ogni volta che incontro una cosa nuova la metto in pratica scrivendo qualcosa. Per quanto riguarda le librerie, il solo fatto che abbia sbagliato il nome ti fa capire quanti dubbi abbia sull’argomento XD, sicuramente è un’argomento troppo avanzato per me e mi sono spinto troppo oltre.
--- i due messaggi sono stati uniti ---
Grazie a tutti per le risposte:ok:. Fatemi sapere se conoscete qualche altro libro da consigliarmi.
 
... Fatemi sapere se conoscete qualche altro libro da consigliarmi.
Questa discussione ha 11 pagine ed è piena di consigli, se non ti basta questa ce ne è un’altra sempre in evidenza che raccoglie libri e risorse di studio.
Per gli autodidatti non esiste un esatto “percorso” di studio, bisogna farselo da soli in base alle proprie conoscenze e predisposizioni. Io personalmente ho usato pochi libri, quasi e solo il codice scritto da chi lo sapeva fare, ma non è una cosa che consiglio.
 
Ciao a tutti, vorrei iniziare a studiare un linguaggio e non ho idea di quale possa fare al caso mio. Vorrei in futuro arrivare a fare dei semplici programmi per catalogare materiale multimediale, attualmente ho solo delle basi imparate a scuola e alcune cose riguardanti il lua. Grazie dell'aiuto.

Inviato da BLA-L09 tramite App ufficiale di Tom\'s Hardware Italia Forum
 
Ciao a tutti, vorrei iniziare a studiare un linguaggio e non ho idea di quale possa fare al caso mio. Vorrei in futuro arrivare a fare dei semplici programmi per catalogare materiale multimediale, attualmente ho solo delle basi imparate a scuola e alcune cose riguardanti il lua. Grazie dell'aiuto.

Inviato da BLA-L09 tramite App ufficiale di Tom\'s Hardware Italia Forum

Ciao.

Intendi programmi per Windows?
Che basi ti hanno insegnato a scuola?
Hai fatto la OOP (programmazione orientata agli oggetti)?
 
Ciao.

Intendi programmi per Windows?
Che basi ti hanno insegnato a scuola?
Hai fatto la OOP (programmazione orientata agli oggetti)?
Sì, programmi per windows, a scuola mi hanno insegnato un po' come si programma in c++, però essendo passati anni l'unica cosa che ricordo bene è il modo in cui ragionare, per quanto riguarda la oop non penso, ho solo iniziato a studicchiare traducendo il manuale programming in lua.
 
Bisogna anche avere bene in mente dove si vuol arrivare,sento parlare di imparare lo C, ogni linguaggio ha il suo campo specifico se vogliamo creare pagine web ed applicativi ad esso converrà seguire un'altra strada,chi vuol imparare lo C(la scaletta è la seguente C--->C++---->C#) in genere lo fa perchè lo scopo finale è lavorare nel campo dei videogiochi dei motori grafici e fisici.

Chi vuol lavorare nel campo del Machine learning,IA,Data Cloud computing dovrà passare per Python,Django ecc.

Non è una regola scritta si può fare Intelligenza artificiale anche con Assembly e cobol ma esiste una regola nel mondo della programmazione che dice di evitare di inventare la ruota 2 volte,invece di prendersi un linguaggio a caso ed andarsi a costruire le librerie sarebbe buona cosa andare già a prendere un linguaggio strutturato apposta per quel campo.

Se uno vuol imparare le basi della programmazione basterebbe anche il Pascal che è nato proprio per i studenti e serve solo a insegnare loro come muoversi.
 
sento parlare di imparare lo C

Quello serve per scoraggiare quanta più gente possibile :asd:

Se siamo in troppi, i salari scendono! :fumato:

Parlando seriamente, allo stato attuale esistono solo una manciata di linguaggi di utilità generale e mainstream: C, C++, C#, Java, Python, Ruby, PHP, Go, Javascript/Typescript, Dart ( per Flutter/mobile ), Objc/Swift.

Alcuni di questi in lento declino ( Ruby, PHP ). Altri in ascesa ( Go, Dart ). Altri ancora da tenere d'occhio per il prossimo futuro ( Kotlin, Rust ).

Complessivamente, chi lavora in ambiente JVM, deve conoscere ovviamente Java e farebbe bene a studiarsi Kotlin il prima possibile.

Chi opera in ambiente web backend, webservices, tooling, non può non conoscere Go.

Per la programmazione di sistema, Rust è da studiare. Anche se non sostituirà C++ domani mattina, comunque sta guadagnando rapidamente terreno. E del resto ci sono validissimi motivi.
 
@pabloski ma un po' di tempo fa non c'era stata una discussione piuttosto accesa riguardo rust ed il suo creatore? Se non ricordo male riguardava proprio la struttura del linguaggio in sé ed alcune sue criticità; purtroppo non ricordo adesso i dettagli
 
@pabloski ma un po' di tempo fa non c'era stata una discussione piuttosto accesa riguardo rust ed il suo creatore? Se non ricordo male riguardava proprio la struttura del linguaggio in sé ed alcune sue criticità; purtroppo non ricordo adesso i dettagli

si c'è molta gente che (1) trova difficile capire Rust e lo attacca, (2) ha una certa esperienza in C++ e si sente minacciata

fatto sta che è l'unico linguaggio ad essere stato in grado di eliminare intere classi di bug senza essere strettamente funzionale, scarsamente performante o basato su garbage collector
 
Pubblicità
Pubblicità
Indietro
Top