Diventare un programmatore è un processo cumulativo di costruzione di abilità giorno dopo giorno e anno dopo anno in un campo divertente e gratificante (intellettuale, mentale e finanziario). Questa guida non ti promette un modo magico per diventare un programmatore con facilità e la sequenza dei passaggi non è sacra, ma ti offre una panoramica generale su come diventare un programmatore in uno dei moderni campi del campo.
Passi
1.
Segui un corso introduttivo in una (o tutte) delle seguenti discipline:- Logica
- Matematica discreta
- Linguaggi di programmazione (preferibilmente C++/ Java/ Python per principianti)
CONSIGLIO DELL`ESPERTO
Gene Linetsky, MS
Il fondatore e direttore tecnico di startup Gene Linetsky è un fondatore di startup e sviluppatore di software nella Bay Area di San Francisco. Ha lavorato nel settore tecnologico per oltre 30 anni ed è direttore tecnico di Poynt, un`azienda tecnologica che crea sistemi di transazione intelligenti per le aziende.
Gene Linetsky, MS
Fondatore di startup e direttore tecnico
Non pensare di dover studiare per diventare un programmatore. Può essere utile seguire corsi in un linguaggio di programmazione, ma Gene Linetsky, ingegnere del software e fondatore di start-up, afferma: "È discutibile se un corso di programmazione aiuti o meno. Invece, prova a pensare alla programmazione come a una sorta di tirocinio: si tratta di imparare dai tuoi errori.`
2. Impara concetti di database come tabelle, viste/query e procedure. È possibile utilizzare qualsiasi semplice pacchetto di database per questo, ad esempio:
Accesso MSDB VFox ProParadossoMySQL è un buon database da imparare perché è gratuito, ampiamente utilizzato e a cui si accede frequentemente tramite query SQL3. Decidi che tipo di programmatore vuoi essere. I programmatori di solito rientrano nelle seguenti categorie:
programmatore webProgrammatore di applicazioni desktopProgrammatore orientato al sistema operativo (OS) (legato a un singolo sistema operativo o a un insieme di sistemi operativi)Programmatore indipendente dalla piattaformaProgrammatore di applicazioni distribuite
Libreria/piattaforma/framework/programmatore principaleProgrammatore di sistemaProgrammatore del kernelProgrammatore di guidaProgrammatore compilatoreInformatico (scientifico)
4. Impara le tecnologie e i linguaggi di programmazione relativi al campo di programmazione di tua scelta. Le sezioni seguenti illustrano le attività per i diversi tipi di programmazione.
Metodo 1 di 6: Programmazione Web
1.
Cosa significa programmazione web. Le applicazioni Web sono componenti software progettati per funzionare al top dell`architettura Internet. Ciò significa che è possibile accedere alle applicazioni tramite software browser come Firefox o Internet Explorer. Essere costruiti per l`apice dell`architettura Internet non significa necessariamente che sia necessaria una connessione attiva a Internet. Significa che le applicazioni web sono basate su tecnologie web standard come:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- Protocolli IIP
- HTML
- XML
- fusione fredda
- Aspi
- JSP
- PHP
- Aspi.APPENA
2. Dai un`occhiata a vari siti Web per sapere che aspetto hanno generalmente. (Fare clic con il pulsante destro del mouse e quindi fare clic su Visualizza sorgente o premere F12.) Cerca la diversità nel tipo/contenuto del sito web, non nel numero di siti web che visualizzi. In generale, dovrai controllare almeno 1 di ciascuno dei seguenti tipi di siti Web:
Siti di presenza aziendale (società commerciali, società/organizzazioni senza scopo di lucro, organizzazioni governative)Motori di indicizzazione web (motori di ricerca, meta siti di ricerca, motori di ricerca specializzati, directory)siti di data miningSiti personaliPagine informative/enciclopediche (wiki, factsheet, specifiche tecniche e manuali, blog e diari, siti di notizie e agenzie di stampa, pagine gialle, ecc.)Social media (portali sociali, siti di bookmarking, siti per prendere appunti)Siti web compositi (comprese altre categorie come wiki e blog)3. Impara almeno una tecnica/metodo di brainstorming e il software utilizzato per implementare quel metodo. Ad esempio: schemi di brainstorming e MS Visio.
4. Scopri come creare un sito web. Creerai diagrammi web concettuali, mappe del sito e strutture di navigazione.
5. Segui un breve corso di grafica. Prova ad imparare almeno un programma di editing delle immagini (opzionale, ma altamente raccomandato)
6. Impara le basi dell`infrastruttura Internet. Questo ha a che fare, tra le altre cose, con un`idea globale di:
Protocolli dei servizi Web sottostanti (HTTP, FTP, SMTP e POP3 o IMAP4)Software per server Web (preferibilmente per la piattaforma con cui lavori abitualmente)software di navigazione web.Server di posta elettronica e software client7. Impara HTML e CSS. È anche una buona idea imparare a usare un pacchetto software di editing HTML "What You See Is What You Get (WYSIWYG)".
8. Impara le tecnologie relative a XML e XML, come XSL e XPath (opzionale ma consigliato).
9. Crea un semplice sito Web statico finché non avrai familiarità e dimestichezza con l`HTML.
10. Impara un linguaggio di scripting lato client. La maggior parte degli utenti impara JavaScript. Alcuni imparano VBScript, ma questo non è compatibile con la maggior parte dei browser.
11. Assicurati di poter lavorare con il linguaggio di scripting lato client che hai imparato. Cerca di raggiungere il tuo potenziale solo con quella lingua. Solo allora procedi al passaggio successivo finché non hai almeno familiarità con il linguaggio di scripting lato client.
12. Impara almeno 1 linguaggio di programmazione lato server. Se vuoi limitarti a 1 forma di software server, impara uno dei linguaggi di programmazione supportati da quel software. In caso contrario, impara almeno un linguaggio di programmazione per ciascun software server.
13. Crea un progetto pilota per te stesso dopo aver appreso il linguaggio di programmazione lato server.
14. Assicurati di avere il tuo sito web e inizia a sperimentare online sulla tua pagina.
Metodo 2 di 6: Programmazione del software desktop
1. Scopri in cosa ti stai cacciando quando inizi a programmare applicazioni desktop. La maggior parte di questi programmatori scrive codice per applicazioni aziendali, quindi è consigliabile avere un`idea dell`ambiente aziendale, della loro struttura organizzativa e finanziaria in modo da poter risparmiare molto tempo.
2.
Scopri le diverse architetture hardware dei computer. È utile un corso introduttivo all`elettronica digitale e ad altre architetture di computer; ma questo potrebbe essere un po` troppo per cominciare, quindi leggendo alcuni tutorial introduttivi (come
Questo e
Questo) prima sufficiente. Puoi tornare a questo passaggio dopo aver appreso un primo linguaggio di programmazione.
3. Impara un linguaggio di programmazione di livello base. Non sentirti troppo bene per imparare una lingua del genere perché non sei più un bambino. Un esempio di tale linguaggio di programmazione è Scratch. Questi linguaggi di programmazione possono rendere la curva di apprendimento un po` meno ripida quando sei appena agli inizi. Ma questo passaggio rimane facoltativo. Puoi farlo anche per il passaggio precedente.
4. Fai un`introduzione alla programmazione procedurale, orientata agli oggetti e funzionale.
5. Segui un corso introduttivo in alinguaggio di programmazione procedurale. Indipendentemente dal linguaggio scelto in una fase successiva, richiederà un certo livello di programmazione procedurale. Inoltre, la programmazione procedurale è considerata la più semplice da cui partire per capire cos`è la programmazione.
6. Impara almeno una forma avanzata di modellazione, come UML o ORM.
7. Inizia a scrivere alcune piccole console o applicazioni simili a console. È possibile utilizzare gli esercizi nei libri di programmazione. Utilizza un ambiente di programmazione adatto al linguaggio di programmazione di tua scelta.
8. Segui un corso avanzato nel linguaggio di programmazione scelto. Assicurati di aver compreso i concetti seguenti e di poterli applicare con relativa facilità prima di procedere:
Input e output di dati da e verso gli utenti del programma.La logica e la sequenza delle operazioni dei programmi procedurali.Dichiarazione, assegnazione e confronto di variabili.Costruzioni come If..poi..altro e Seleziona/cambia..Astuccio.Costrutti di loop come While..fare, fare..mentre/finché, per..prossimo.La sintassi del linguaggio di programmazione per la creazione e la chiamata di procedure e funzioni.Tipi di dati e come manipolarli.Tipi di dati definiti dall`utente (record/strutture/unità) e come utilizzarli.Se usi le funzioni di sovraccarico della lingua, prova a capirle.Il modo in cui il tuo linguaggio di programmazione affronta la memoria (puntatori, peeking, ecc.)Se i tuoi operatori linguistici stanno sovraccaricando, prova a capirlo.Se la tua lingua usa delegati/puntatori a funzione, capisci come funziona.9. Applica le tecniche avanzate che hai appreso.
10. Segui un corso introduttivo in almeno 1 o più linguaggi di programmazione in un diverso paradigma di programmazione. Si consiglia di imparare 1 linguaggio di programmazione di ogni paradigma e lo fanno anche i programmatori più avanzati. Ma di solito inizi con una lingua, ci lavori per un po` per applicare e mettere in pratica le tue conoscenze, quindi ne impari un`altra. Prova uno dei seguenti tipi di programmazione:
Programmazione logica.Programmazione funzionale.Paradigmi orientati agli oggetti.11. Prova a combinare i seguenti due linguaggi di programmazione che hai imparato. Pesare i punti di forza e di debolezza l`uno contro l`altro. Di solito fai quanto segue:
Prendi semplici esempi del tuo lavoro precedente nel primo linguaggio di programmazione e riscrivilo con il tuo secondo linguaggio di programmazione.Crea un nuovo progetto e prova a implementarlo in entrambe le lingue. A volte, a seconda del progetto e della lingua, non sarà possibile eseguire un progetto!Scrivi un cheat sheet o una tabella riassuntiva con confronti tra costrutti simili nelle due lingue e caratteristiche uniche per ciascuna delle lingue.Cercando di trovare modi per imitare funzioni uniche per una delle due lingue usando l`altra lingua.12. Impara i concetti di programmazione visiva usando uno qualsiasi dei linguaggi che hai imparato. Quasi tutti i linguaggi di programmazione hanno versioni/librerie che supportano la programmazione visiva e altri supportano la programmazione da console o simile a una console. Ciò può essere ottenuto procedendo come segue:
Ottieni un`introduzione alla programmazione basata su eventi. La maggior parte della programmazione visiva si basa in una certa misura su eventi e gestione degli eventi (utilizzando il linguaggio di programmazione scelto).Prova più software desktop che puoi e impara a capire cosa fa il software. La maggior parte delle società di software offre versioni beta dei loro prodotti che puoi utilizzare per testare il software. Cerca di tenere il passo con lo sviluppo dell`interfaccia utente.Leggi articoli o tutorial sulle interfacce utente grafiche.13. Inizia ad applicare le tue conoscenze progettando piccoli progetti software. Prova la tua esperienza di programmazione sui problemi che affronti nella vita di tutti i giorni. Ad esempio, scrivere programmi in grado di modificare un gran numero di nomi di file contemporaneamente, confrontare visivamente file di testo, copiare i nomi di file in una directory in memoria o in un file di testo, ecc. Mantieni le cose semplici all`inizio.
14. Crea un "progetto di laurea" virtuale. Completa questo fino alla fine, applicando le tecniche di programmazione visiva che hai imparato finora.
15. Amplia la tua comprensione del framework/libreria/pacchetto visivo che hai appreso prima di passare a corsi più avanzati, prestando maggiore attenzione ai dettagli e imparando ulteriori suggerimenti e trucchi per il tuo framework dalle risorse online.
16. Cerca e scopri altri pacchetti/librerie di elementi visivi per i tuoi linguaggi di programmazione.
17. Segui un corso di grafica (non grafica). Questo sarà molto utile per i programmatori che vogliono scrivere elementi di interfaccia utente attraenti.
18. Diventa un programmatore di giochi (opzionale). La programmazione di giochi è considerata, nella maggior parte dei casi, programmazione desktop. Se hai intenzione di diventare un programmatore di giochi, dovresti saperne di più sulla programmazione di giochi dopo aver seguito questi passaggi. Un corso di grafica è d`obbligo per i programmatori di giochi e il secondo linguaggio scelto nei passaggi precedenti dovrebbe essere un linguaggio di programmazione logico/funzionale (preferibilmente Prolog o Lisp).
Metodo 3 di 6: Programmazione di applicazioni distribuite
1. Capire cos`è la programmazione di applicazioni distribuite. La programmazione di applicazioni distribuite è considerata da molti la più difficile da apprendere e richiede la conoscenza di varie tecnologie informatiche e di comunicazione.
2. Segui un rapido corso introduttivo ai sistemi di telefonia e relativo hardware. Il passaggio è facoltativo. Ma è molto utile se vuoi capire le topologie di rete.
3. Acquisisci familiarità con l`architettura di rete e i dispositivi come hub, switch e router.
4. Segui un corso sui protocolli di rete e sui loro elementi essenziali. È necessaria una buona conoscenza del modello Open Systems Interconnection (OSI), Ethernet, IP, TCP, UDP e HTTP prima di poter iniziare a programmare applicazioni distribuite.
5. Impara XML familiarizza con esso.
6. Inizia ad imparare un linguaggio di scripting della shell. In Windows, sarebbe qualsiasi script che funzioni con Windows Scripting Host. Sotto Linux questi sono script Bash e Perl. JavaScript è altamente raccomandato per entrambi i sistemi, per i seguenti motivi:
È supportato da quasi tutti gli host di script in qualsiasi sistema operativo (Windows Scripting Host supporta JavaScript per impostazione predefinita, la maggior parte delle distribuzioni Linux ha un pacchetto per il supporto della console di scripting JavaScript).È considerato da molti sviluppatori più facile da imparare.Ha una sintassi derivata da ALGOL che rende più facile familiarizzare con altri linguaggi di programmazione quando si sceglie un secondo linguaggio di programmazione (C, C++, C#, Java e J# sono tutti derivati dalla sintassi ALGOL).L`apprendimento di JavaScript ti consentirà di familiarizzare con lo scripting lato client delle pagine Web, il che è un bonus istantaneo!7. Inizia la programmazione procedurale usando il tuo linguaggio di scripting preferito. Successivamente puoi iniziare a utilizzare tecniche e paradigmi di programmazione più avanzati a seconda del tuo linguaggio di scripting e di ciò che supporta. Tutti i linguaggi di scripting hanno alcuni aspetti della programmazione procedurale.
8. Usa il linguaggio di scripting che hai imparato per scrivere script che eseguano la comunicazione tra macchine. Scopri cosa serve per farlo. È sufficiente una semplice comunicazione.
9. Passa a script desktop/linguaggi di programmazione. Preferibilmente uno che sia un linguaggio multi-paradigma come Python. Segui una semplice introduzione a quella seconda lingua. Java è visto dalla maggior parte dei programmatori come il linguaggio preferito per molte ragioni. Ma C# sta rapidamente guadagnando terreno in quest`area. Java e C# sono preferiti per i seguenti motivi:
Sono linguaggi di programmazione orientati agli oggetti che proteggono i programmatori in grandi team dai dettagli di implementazione perché entrambi supportano componenti (blocchi di codice, compilati, che svolgono un compito particolare e possono essere utilizzati in altri programmi).Supportano la programmazione basata sugli eventi, oltre all`OO e alla programmazione procedurale in una certa misura.Il framework su cui è costruito il linguaggio è distribuito (nel caso di Java).La disponibilità di molti pacchetti pronti all`uso relativi al networking, nonché codice open source e pacchetti integrati (framework); Questo rende più facile per i programmatori costruire sul lavoro di altri.10. Si concentrano maggiormente sulle funzioni principali della lingua, in particolare quelle di supporto delle reti. Viene prestata meno attenzione agli elementi dell`interfaccia utente come output, design e tecniche della finestra e agli elementi dell`interfaccia utente.
11. Segui un corso sulla progettazione di applicazioni e piattaforme distribuite. Questo può essere fatto utilizzando libri, tutorial online o corsi accademici. Tuttavia, è necessaria la comprensione dell`architettura delle applicazioni distribuite e dei suoi concetti.
12. Scopri come creare e mantenere componenti e servizi utilizzando il linguaggio di programmazione di tua scelta.
13. Impara una o più delle seguenti tecnologie. Si consiglia di fare almeno un`introduzione a ciascuno di questi. La maggior parte dei programmatori di applicazioni distribuite non si ferma a uno o due linguaggi di programmazione, ma impara almeno un linguaggio di programmazione per ogni sistema operativo. Questo perché se vuoi che le tue applicazioni siano "distribuite", devi offrire almeno una versione per ciascuno dei principali sistemi operativi.
Architettura del broker di richieste di oggetti comuni (CORBA)Simple Object Access Protocol (SOAP)JavaScript e XML asincroni (AJAX)Modello a oggetti a componenti distribuiti (DCOM).Rete remotaServizi Web XML1. Cos`è la programmazione di base. I programmatori principali sono principalmente programmatori avanzati che hanno effettuato la transizione dalle applicazioni di programmazione alle unità di codice di programmazione che possono essere utilizzate da altri programmatori.
2. Impara un linguaggio di programmazione che ti consente di creare componenti/pacchetti riutilizzabili, se non l`hai già fatto.
3. Segui un corso avanzato in UML e ORM. La maggior parte degli sviluppatori di librerie usa uno o entrambi questi.
4. Segui un corso di ingegneria del software.
5. Impara almeno tecniche e concetti di programmazione modulari, basati su componenti, orientati agli oggetti e basati sugli eventi. Più paradigmi di programmazione e linguaggi conosci, più successo avrai come programmatore di librerie/librerie/pacchetti.
6. Scopri i diversi sistemi operativi e framework supportati da questi sistemi operativi.
7. Concentra i tuoi sforzi su framework, linguaggi di programmazione e tecnologie multipiattaforma.
8. Se i linguaggi di programmazione che hai imparato sono conformi alle versioni standard ANSI/ISO/IEEE/W3C e prova a padroneggiarli. Prova a utilizzare il codice predefinito quando possibile.
9. Cercando di emulare librerie semplici, già consolidate, in particolare open source. Questo è utile durante le prime fasi per diventare un programmatore di librerie/pacchetti. Inizia con pacchetti semplici come la conversione di unità e calcoli scientifici non troppo difficili. Se sei uno studente, approfitta dei corsi non di programmazione per acquisire equazioni e basi scientifiche nelle librerie di programmi.
10. Cerca i pacchetti open source nel tuo campo. Per prima cosa scarica i binari/eseguibili dal pacchetto. Prova a usarli e trova i punti di forza e di debolezza. Quando hai finito, scarica il codice sorgente e prova a scoprire come è fatto. Prova a copiare quelle librerie/librerie o parti di esse. Fallo prima dopo aver studiato il codice e successivamente prima di aver visto il codice. Riprova più tardi per migliorare queste librerie.
11. Scopri i diversi approcci utilizzati per distribuire e distribuire i componenti a e dai programmatori.
Di solito i programmatori di librerie/pacchetti tendono a pensare in modo ricorsivo e/o iterativo quando devono risolvere un problema. Prova a pensare a ciascun problema come a un insieme di problemi più piccoli (una sequenza di compiti più semplici) o come a un processo ripetuto di riduzione della dimensione del problema a sottoproblemi più piccoli e quindi impilare questi sottoproblemi uno sopra l`altro.I programmatori di librerie/pacchetti tendono a generalizzare. Cioè, quando vengono presentati con un semplice problema specifico, di solito iniziano a pensare a un problema più generale e cercano di risolvere quel problema generale, risolvendo automaticamente anche il problema più piccolo.Metodo5 di 6: Programmazione del sistema
1. Capire in cosa consiste la programmazione dei sistemi. I programmatori di sistema affrontano la scienza di programmazione, non con la sua specifica attuazione. Non limitarti a una piattaforma specifica.
2. Segui i primi tre passaggi per i programmatori desktop.
3. Segui un corso introduttivo all`algebra lineare.
4. Segui un corso di calcolo.
5. Segui un corso di logica e/o matematica discreta.
6. Conosci diversi sistemi operativi bare. Puoi farlo come segue:
Scopri come vengono installati i sistemi operativi.Scopri come installare più sistemi operativi diversi su 1 PC (opzionale, ma consigliato).Installa più di un sistema operativo. Non installare tutte le utilità sui sistemi; piuttosto utilizzare le funzionalità bare-bone fornite dal sistema operativo.7. Segui un corso (o, in alternativa, leggi libri) sull`architettura hardware.
8. Sviluppare una comprensione delle altre piattaforme hardware del computer.
9. Prova a familiarizzare con il linguaggio assembly della piattaforma/sistema operativo di tua scelta. Successivamente imparerai l`assemblaggio da altre piattaforme/sistemi.
10. Impara ANSI C e C++ insieme ai concetti di programmazione procedurale.
11. Comprendi ed esercitati con le librerie standard C/C++ sulla piattaforma di tua scelta. Prestare particolare attenzione alla Standard Template Library (STL) e forse alla Active Template Library (ATL).
12. Cerca risorse online, libri e corsi per comprendere la variante C per la tua piattaforma specifica.
13. Esercitati a scrivere codice avanzato con C e C++.
14. Ulteriori informazioni sull`assemblaggio avanzato.
15. Segui un corso di programmazione del sistema operativo.
16. Cerca la documentazione su una piattaforma specifica a tua scelta. Questo sarà più facile se scegli un sistema operativo basato su Unix. Comprendere il sistema con cui stai lavorando ti sarà utile in seguito.
17. Metti in pratica le tue conoscenze acquisite. Crea prima alcune piccole utilità. Di solito è utile fare quanto segue:
Cercando di creare piccoli strumenti che sono già sul tuo sistema.Cercando di convertire le utilità disponibili nei sistemi operativi nel tuo.18. Impara i linguaggi di programmazione nell`ordine più utile. Questo è l`unico campo in cui il primo linguaggio di programmazione è importante. Impara prima ANSI C e non C++, C# o Java e non D. Solo allora impara C++.
La limitazione a C è perché la programmazione dei sistemi richiede che il programmatore abbia familiarità con i seguenti concetti:
Compilazione effettiva e completa del codice sorgente.File di output di oggetti di basso livello.Binari di collegamento.Linguaggio macchina/programmazione assembly di basso livello. Il linguaggio C è considerato da alcuni una forma di assemblaggio mascherata o più facile da imparare. Supporta anche l`inserimento di codice assembler nel codice C ogni volta che è necessario ed è solo procedurale (proprio come l`assemblaggio).1. Cosa fanno gli informatici. Gli informatici sono programmatori altamente avanzati che, invece di lavorare su applicazioni, lavorano alla progettazione di tecnologie informatiche come crittografia, linguaggi di programmazione e algoritmi di data mining. Raramente puoi raggiungere questo livello senza uno studio accademico e molta dedizione.
2. Ottieni le conoscenze scientifiche equivalenti a una laurea quadriennale in informatica. Puoi farlo attraverso:
Perseguire una laurea (il passo più ovvio).Ottieni una panoramica degli studi universitari e segui i vari corsi attraverso lo studio autonomo o attraverso corsi separati. Questo è possibile in teoria, ma il primo percorso è consigliato.3. Scegli una specializzazione. Più specifico è, meglio è. Questo dipende dalle tue preferenze. Ecco alcuni dei campi più importanti dell`informatica:
Progettazione dell`algoritmo (ricerca, ordinamento, crittografia, decrittografia e rilevamento degli errori nella comunicazione sono alcuni esempi)Linguaggi di programmazione/progettazione/ottimizzazione di compilatoriIntelligenza artificiale (riconoscimento di schemi, riconoscimento vocale, elaborazione del linguaggio naturale, reti neurali)roboticaProgrammazione scientificaLavorare con i supercomputerProgettazione/modellazione assistita da computer (CAD/CAM)Realta virtualeComputer grafica (la computer grafica viene solitamente erroneamente confusa con il design grafico o il design dell`interfaccia utente grafica. La computer grafica è il campo in cui è possibile utilizzare e manipolare le immagini nei sistemi informatici.)4. Considera di prendere una laurea. Puoi anche frequentare un master o un dottorato.
5. Impara le tecnologie e i linguaggi di programmazione relativi al tuo campo di programmatore.
Consigli
Indipendentemente dal tipo di programmazione che vuoi provare oa quale livello, puoi sempre seguire un corso o lezioni a scuola. Non lasciarti intimidire da termini come `Informatica.Qualsiasi corso che puoi seguire senza una conoscenza preliminare dovrebbe concentrarsi sulle basi della programmazione, ma controlla in anticipo con il tutor per assicurarti che sia quello che stai cercando poiché corsi come "Competenze informatiche" si concentrano maggiormente sul familiare essere coinvolto con le applicazioni per ufficio, eccetera..
Articoli sull'argomento "Diventare un programmatore"