Diventare un programmatore è un processo cumulativo che costruisce le tue abilità giorno dopo giorno e anno dopo anno, e la programmazione può essere divertente e gratificante (mentalmente, spiritualmente e finanziariamente). Questa guida non promette di fornire un modo magicamente semplice per diventare un programmatore e l'ordine dei passaggi non è sacro, ma otterrai uno schema generale di come diventare un programmatore in uno dei moderni campi di programmazione.
Passi
Passaggio 1. Segui un corso introduttivo in una (o tutte) delle seguenti discipline:
- Logica
- Matematica discreta
- Linguaggio di programmazione (prendere parte ai diversi paradigmi di programmazione, partendo dal sequenziale/procedurale a quello orientato agli oggetti, dopo la programmazione funzionale e logica. Preferibile Ruby/Python/Pascal per i principianti e dopo una buona comprensione approfondisci C++/C#/Java)
SUGGERIMENTO DELL'ESPERTO
Gene Linetsky, MS
Startup Founder & Engineering Director Gene Linetsky is a startup founder and software engineer in the San Francisco Bay Area. He has worked in the tech industry for over 30 years and is currently the Director of Engineering at Poynt, a technology company building smart Point-of-Sale terminals for businesses.
Gene Linetsky, MS
Fondatore di startup e Direttore tecnico
Non pensare di dover conseguire una laurea in programmazione.
Anche se seguire corsi in un linguaggio di programmazione può essere utile, Gene Linetsky, ingegnere del software e fondatore di startup, afferma:"
Passaggio 2. Impara i concetti del database come tabelle, viste/query e procedure
Puoi utilizzare qualsiasi semplice pacchetto di database per farlo, ad esempio:
- MS Access
- DB V
- Fox Pro
- Paradosso
- MySQL è un buon database da imparare perché è gratuito, comunemente usato e i database sono comunemente accessibili con query SQL
Passaggio 3. Decidi che tipo di programmatore vuoi essere
I programmatori generalmente rientrano in una delle seguenti categorie:
- Programmatore web
-
Programmatore di applicazioni desktop
- Programmatore orientato al sistema operativo (SO) (legato a un singolo sistema operativo o a un insieme di sistemi operativi)
- Programmatore indipendente dalla piattaforma
- Programmatore di applicazioni distribuite
- Libreria/piattaforma/framework/programmatore di base
-
Programmatore di sistema
- Programmatore del kernel
- Programmatore driver
- Programmatore compilatore
- Scienziato di programmazione
Passaggio 4. Impara le tecnologie e i linguaggi di programmazione relativi al tuo campo di programmazione preferito
Le sezioni seguenti suddividono le attività per i diversi tipi di programmazione.
Metodo 1 di 6: Programmazione Web
Passaggio 1. Sapere cosa comporta la programmazione Web
Le applicazioni Web sono componenti software progettati per funzionare sull'architettura di Internet. Ciò significa che è possibile accedere alle applicazioni tramite un software browser Web come Firefox o Internet Explorer. Essendo costruito sull'architettura di Internet non richiede necessariamente una connessione attiva a Internet. Significa che le applicazioni Web sono costruite su tecnologie Web standard come:
- HTTP
- FTP
- POP3
- SMTP
- TCP
- Protocolli IP
- HTML
- XML
- Fusione fredda
- ASP
- JSP
- PHP
- ASP. NET
Passaggio 2. Sfoglia molti siti Web diversi per sapere come appaiono di solito
(Fare clic con il tasto destro, quindi fare clic su Visualizza sorgente o premere F12.) Cerca la diversità nel tipo/contenuto del sito Web, non nella quantità di siti Web visitati. In genere, sarà necessario visitare almeno uno di ciascuno dei seguenti tipi di siti Web:
- Siti di presenza aziendale (società commerciali, aziende/organizzazioni senza scopo di lucro, organizzazioni governative)
- Motori di indicizzazione web (motori di ricerca, siti di meta ricerca, motori di ricerca specializzati, directory)
- Siti di data mining
- Siti personali
- Pagine informative/enciclopediche (wiki, schede tecniche, specifiche tecniche e manuali che elencano directory, blog e riviste, siti di notizie e agenzie di stampa, pagine gialle, ecc.)
- Siti social (portali social, siti di bookmarking, siti per prendere appunti)
- Siti collaborativi (questo include altre categorie sopra menzionate, come wiki e blog)
Passaggio 3. Impara almeno una tecnica/metodo di brainstorming e un software utilizzato per implementare tale metodo
Ad esempio: diagrammi di brainstorming e MS Visio.
Passaggio 4. Acquisisci familiarità con la strutturazione del sito web
Si tratta di creare diagrammi web concettuali, mappe dei siti e strutture di navigazione.
Passaggio 5. Segui un corso accelerato di progettazione grafica
Cerca di imparare almeno un pacchetto software di modifica/manipolazione grafica (opzionale, ma fortemente consigliato)
Passaggio 6. Impara le basi dell'infrastruttura Internet
Ciò include avere un'idea di base su:
- Protocolli dei servizi Web di base (HTTP, FTP, SMTP e POP3 o IMAP4)
- Software per server Web (preferibilmente uno per la piattaforma su cui lavorerai principalmente)
- Software di navigazione web.
- Server di posta e software client
Passaggio 7. Impara i linguaggi HTML e CSS
Potresti anche voler ottenere il pacchetto software "What You See Is What You Get (WYSIWYG)" per la modifica dell'HTML.
Passaggio 8. Imparare XML e le tecnologie correlate a XML, come XSL e XPath (opzionale ma consigliato)
Passaggio 9. Crea semplici siti Web statici fino a quando non avrai familiarità e familiarità con l'HTML
Passaggio 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.
Passaggio 11. Familiarizza con il linguaggio di scripting lato client che hai imparato
Cerca di raggiungere il tuo potenziale usando solo quella lingua. Passa al passaggio successivo solo dopo aver acquisito familiarità con il linguaggio di scripting lato client.
Passaggio 12. Impara almeno un linguaggio di programmazione lato server
Se scegli di limitarti a un software server, impara uno dei linguaggi di programmazione supportati da quel software. In caso contrario, impara almeno un linguaggio di programmazione su ciascun software del server.
Passaggio 13. Crea un progetto pilota per te stesso dopo aver finito di imparare il linguaggio di programmazione lato server.
Passaggio 14. Ottieni il tuo sito web e inizia a sperimentare online all'interno della tua pagina
Metodo 2 di 6: Programmazione di applicazioni desktop
Passaggio 1. Scopri a cosa ti stai dedicando con la programmazione di applicazioni desktop
La maggior parte dei programmatori desktop scrive codice per soluzioni aziendali, quindi farsi un'idea delle aziende, della loro struttura organizzativa e finanziaria sarà un grande risparmio di tempo.
Passaggio 2. Informazioni sulle diverse architetture hardware del computer
È utile un corso introduttivo alla progettazione di circuiti digitali e un altro in architettura dei computer; tuttavia, alcuni lo vedono come un punto di partenza avanzato, quindi la lettura di due o tre articoli tutorial (come questo e questo) potrebbe essere sufficiente. Quindi puoi tornare a questo passaggio in un secondo momento, dopo aver appreso il tuo primo linguaggio di programmazione.
Passaggio 3. Impara un linguaggio di programmazione di livello base (per bambini)
Non essere timido nell'imparare una lingua del genere solo perché sei più vecchio di essere chiamato "bambino". Un esempio di questi linguaggi di programmazione può essere Scratch. Questi linguaggi di programmazione possono alleviare enormemente il dolore nell'apprendimento del tuo primo linguaggio di programmazione. Tuttavia, questo passaggio è facoltativo. Può essere eseguito anche prima del passaggio precedente.
Passaggio 4. Ottieni un'introduzione alla procedura, orientato agli oggetti, e paradigmi di programmazione funzionale.
Passaggio 5. Segui un corso introduttivo in uno dei linguaggi di programmazione procedurale
Indipendentemente dalla lingua che scegli in seguito come lingua preferita, richiederà una programmazione procedurale a un certo livello. Inoltre, la programmazione procedurale è segnalata dalla maggior parte dei programmatori come la più facile da usare come punto di partenza per farsi un'idea della programmazione in generale.
Passaggio 6. Impara almeno una tecnica di modellazione avanzata come UML o ORM
Passaggio 7. Inizia a scrivere alcune piccole console o applicazioni simili a console
Puoi fare uso di piccoli esercizi comuni nei libri di linguaggi di programmazione. Per questo, scegli uno strumento per scrivere programmi nel linguaggio di programmazione in cui stai scrivendo.
Passaggio 8. Segui un corso più avanzato nel linguaggio di programmazione prescelto
Assicurati di aver compreso bene i seguenti concetti e di poterli applicare con relativa facilità prima di andare avanti:
- Inserimento e emissione di informazioni agli utenti di un programma.
- Il flusso logico e il flusso di esecuzione dei programmi nei linguaggi procedurali.
- Dichiarazione, assegnazione e confronto di variabili.
- Costrutti di programmazione di ramificazione come if..then..else e select/switch..case.
- Costrutti di loop come while..do, do..while/until, for..next.
- La sintassi del linguaggio di programmazione per creare e chiamare procedure e funzioni.
- Tipi di dati e loro manipolazione.
- Tipi di dati definiti dall'utente (record/struct/unità) e loro utilizzo.
- Se la tua lingua supporta le funzioni di overload, comprendilo.
- I metodi di accesso alla memoria della tua lingua preferita (puntatori, sbirciare, ecc.)
- Se la tua lingua supporta il sovraccarico degli operatori, comprendilo.
- Se la tua lingua supporta delegati/puntatori a funzione, comprendilo.
Passaggio 9. Applicare le tecniche avanzate che hai imparato
Passaggio 10. Segui un corso introduttivo in almeno un altro linguaggio di programmazione in un altro paradigma di programmazione
Si consiglia di imparare un linguaggio di programmazione di ciascun paradigma, e la maggior parte dei programmatori avanzati lo fa, tuttavia, di solito si inizia con uno, si lavora per un po' applicando le proprie conoscenze e praticandolo, quindi si impara l'altro in seguito, dopo aver già avuto un vero -esperienza di vita nella programmazione. Prova una delle seguenti aree linguistiche:
- Paradigma di programmazione logica.
- Paradigma di programmazione funzionale.
- Paradigma orientato agli oggetti.
Passaggio 11. Prova a confrontare i due linguaggi di programmazione che hai imparato finora
Valutare i punti di forza e di debolezza di ciascuno. Di solito questo viene fatto da:
- Prendendo semplici campioni dei tuoi primi lavori nel primo linguaggio di programmazione e riscrivendoli usando il secondo linguaggio di programmazione.
- Creare un nuovo progetto e provare a implementarlo utilizzando entrambi i linguaggi. A volte, a seconda della scelta del progetto e delle lingue, potresti non essere in grado di implementare il progetto in una delle lingue!
- Scrivere un cheat-sheet o una tabella riassuntiva di confronto tra costrutti simili nelle due lingue e caratteristiche uniche per ciascuna delle lingue.
- Prova a trovare modi per imitare le caratteristiche che sono uniche per una delle due lingue usando l'altra lingua.
Passaggio 12. Impara i concetti di programmazione visiva utilizzando uno dei linguaggi che hai imparato
Quasi tutti i linguaggi di programmazione hanno versioni/librerie che supportano la programmazione visuale e altri che supportano la programmazione da console o simile a una console. Questo può essere realizzato da:
- Ottieni un'introduzione alla programmazione basata sugli eventi. La maggior parte della programmazione visuale si basa in qualche modo sugli eventi e sulla gestione degli eventi (usando il linguaggio di programmazione scelto).
- Prova più software desktop che puoi e capisci cosa fa il software. La maggior parte delle società di sviluppo software offre versioni di beta test dei propri prodotti che è possibile utilizzare per testare il software. Tieniti aggiornato sui progressi dell'interfaccia utente.
- Leggi alcuni articoli o tutorial sulle interfacce utente grafiche.
Passaggio 13. Inizia ad applicare le tue conoscenze su piccoli progetti software che progetti
Prova ad applicare la tua esperienza di programmazione ai problemi che affronti nella tua vita quotidiana. Ad esempio, scrivere programmi che rinominano i file in massa, confrontano visivamente i file di testo, copiano i nomi dei file in una directory in un file di memoria/testo e cose del genere. Mantienilo semplice all'inizio.
Passaggio 14. Crea un progetto di laurea virtuale
Completa questo fino alla fine, applicando le tecniche di programmazione visiva che hai imparato finora.
Passaggio 15. Amplia la tua comprensione del framework/libreria/pacchetto visivo che hai imparato in precedenza seguendo corsi avanzati, prestando particolare attenzione ai dettagli e imparando più suggerimenti e trucchi per il tuo framework dalle risorse online
Passaggio 16. Cerca altri pacchetti/librerie di elementi visivi per i tuoi linguaggi di programmazione e imparali
Passaggio 17. Segui un corso di grafica (non di progettazione grafica)
Sarà molto utile per i programmatori che desiderano scrivere elementi dell'interfaccia utente accattivanti.
Passaggio 18. Considera di diventare un programmatore di giochi (opzionale)
La programmazione di giochi è considerata, nella maggior parte delle sue parti, programmazione desktop. Se intendi diventare un programmatore di giochi, avrai bisogno di saperne di più sulla programmazione di giochi dopo aver completato questi passaggi. Un corso di grafica è un must per i programmatori di giochi e la seconda lingua scelta nei passaggi precedenti dovrebbe essere un linguaggio di programmazione logico/funzionale (preferibilmente Prolog o Lisp).
Metodo 3 di 6: Programmazione di applicazioni distribuite
Passaggio 1. Affrontare la programmazione delle applicazioni distribuite
La programmazione delle applicazioni distribuite è considerata da molti come una delle più difficili da imparare e richiede una conoscenza diversificata delle tecnologie informatiche e di comunicazione.
Passaggio 2. Fai un'introduzione rapida ai sistemi di telefonia e al loro hardware
Questo passaggio è facoltativo. Tuttavia, è molto utile per comprendere le topologie di rete.
Passaggio 3. Familiarizzare con le architetture hardware di rete e i dispositivi come hub, switch e router
Passaggio 4. Segui un corso sui protocolli di rete e sugli elementi essenziali
È necessaria una buona conoscenza del modello Open Systems Interconnection (OSI), Ethernet, IP, TCP, UDP e HTTP prima di iniziare a programmare applicazioni distribuite.
Passaggio 5. Impara il linguaggio XML e familiarizza con esso
Passaggio 6. Inizia imparando un linguaggio di scripting della shell
Per la programmazione basata su Windows, sarebbe qualsiasi script che funziona con Windows Scripting Host. Per la programmazione basata su Linux, saranno sufficienti gli script Bash e Perl. JavaScript è fortemente raccomandato per questo in entrambe le piattaforme per i seguenti motivi:
- È supportato da quasi tutti gli host di scripting 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 più facile da imparare da molti sviluppatori.
- Ha una sintassi derivata da ALGOL che ti consente di familiarizzare con molti altri linguaggi di programmazione quando devi scegliere un secondo linguaggio di programmazione (C, C++, C#, Java e J# hanno tutti la sintassi derivata da ALGOL).
- Imparando JavaScript, acquisisci familiarità con lo scripting lato client delle pagine Web, il che è un effetto collaterale bonus!
Passaggio 7. Applicare inizialmente solo la programmazione procedurale utilizzando il linguaggio di scripting preferito
Successivamente, puoi utilizzare tecniche e paradigmi di programmazione più avanzati in base al tuo linguaggio di scripting e a ciò che supporta. Tutti i linguaggi di scripting hanno alcuni aspetti di programmazione procedurale a un certo livello.
Passaggio 8. Utilizzare il linguaggio di scripting appreso per scrivere script che eseguano comunicazioni tra macchine
Impara cosa è necessario per farlo. Saranno sufficienti semplici comunicazioni.
Passaggio 9. Effettuare un trasferimento a un linguaggio di scripting/programmazione desktop
Preferibilmente, uno che sia un linguaggio multi-paradigma come Python. Fai una semplice introduzione a quella seconda lingua. Java è considerato dalla maggior parte dei programmatori il linguaggio preferito per molte ragioni. Tuttavia, C# sta guadagnando rapidamente slancio in questo campo. 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 poiché entrambi supportano componenti (unità di codice, precompilate, che svolgono un determinato compito e possono essere utilizzate in altri programmi).
- Supportano la programmazione basata sugli eventi, nonché la programmazione OO e procedurale a un certo livello.
- Il framework su cui è costruito il linguaggio è distribuito per natura (nel caso di Java).
- La disponibilità di molti pacchetti già pronti che si occupano di networking, sia come codice open source che come pacchetti integrati nel framework; questo rende più facile per i programmatori costruire sul lavoro degli altri.
Passaggio 10. Concentrati maggiormente sulle funzionalità principali della lingua, in particolare su quelle che supportano il networking
Prestare meno attenzione agli elementi dell'interfaccia utente come l'output, il design e le tecniche delle finestre e gli elementi dell'interfaccia utente.
Passaggio 11. Segui un corso sulla progettazione e sulle architetture delle applicazioni 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.
Passaggio 12. Informazioni sulla creazione di componenti e servizi serviti utilizzando il linguaggio di programmazione preferito
Passaggio 13. Impara una o più delle seguenti tecnologie
Si consiglia di ottenere almeno un'introduzione a tutti loro. 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 su ciascun sistema operativo. Questo perché se vuoi che la tua applicazione sia "distribuita", dovresti fornirne una versione almeno per ogni sistema operativo principale.
- Architettura Common Object Request Broker (CORBA)
- Protocollo di accesso agli oggetti semplici (SOAP)
- JavaScript e XML asincroni (AJAX)
- Modello a oggetti a componenti distribuiti (DCOM)
- Remota. NET
- Servizi Web XML
Metodo 4 di 6: libreria/piattaforma/framework/programmazione di base
Passaggio 1. Sapere cos'è la programmazione di base
I programmatori di base sono semplicemente programmatori avanzati che hanno effettuato il trasferimento dalle applicazioni di programmazione alle unità di codice di programmazione per essere utilizzate da altri programmatori.
Passaggio 2. Impara un linguaggio di programmazione che supporti la creazione di componenti/pacchetti riutilizzabili, se non lo hai già fatto
Passaggio 3. Segui un corso avanzato in UML e ORM
La maggior parte degli sviluppatori di librerie ne usa uno o entrambi.
Passaggio 4. Segui un corso di ingegneria del software
Passaggio 5. Impara almeno tecniche e concetti di programmazione modulare, basata su componenti, orientata agli oggetti e guidata dagli eventi
Più paradigmi di programmazione e linguaggi copri, più successo avrai come programmatore di librerie/pacchetti.
Passaggio 6. Ulteriori informazioni sui diversi sistemi operativi e framework di programmazione supportati da questi sistemi operativi
Passaggio 7. Concentra i tuoi sforzi di apprendimento su framework, linguaggi di programmazione e tecnologie indipendenti dalla piattaforma
Passaggio 8. Se i linguaggi di programmazione che hai imparato finora hanno ANSI/ISO/IEEE/Versioni standard W3C, padroneggia gli standard.
Cerca di utilizzare il codice standard quando possibile.
Passaggio 9. Cerca di imitare le librerie semplici e già consolidate, in particolare quelle open source
Questo è utile durante la prima fase di diventare un programmatore di librerie/pacchetti. Inizia con pacchetti semplici come la conversione di unità e pacchetti di calcoli scientifici intermedi. Se sei uno studente universitario, usa i tuoi corsi non di programmazione cercando di implementare le loro equazioni e il nucleo scientifico come librerie.
Passaggio 10. Cerca e prova i pacchetti open source nel tuo campo di programmazione
Primo download di binari/eseguibili del pacchetto. Prova ad usarlo e trova i suoi punti forti e deboli. Dopo averlo fatto, scarica il sorgente e prova a capire come è stato fatto. Prova a ricreare quelle librerie o parti di esse. All'inizio, fallo dopo aver visto il codice e in seguito prima di vedere il codice. Nelle fasi successive, prova a migliorare quelle librerie.
Passaggio 11. Imparare i diversi approcci utilizzati per distribuire e distribuire i componenti ai programmatori
- Di solito, i programmatori di librerie/pacchetti tendono a pensare in modo ricorsivo e/o iterativo a tutti i problemi che si presentano. Prova a pensare a ciascun problema come a una raccolta di problemi più piccoli (una sequenza di compiti più semplici) o come un processo ripetuto di riduzione dell'ambito del problema a ambiti più piccoli e poi di accumulare tali ambiti l'uno sull'altro.
- I programmatori di librerie/pacchetti tendono a generalizzare. Cioè, quando viene presentato un semplice problema specifico, di solito pensano a un problema più generale e cercano di risolvere quel problema generale che risolverà automaticamente quello più piccolo.
Metodo 5 di 6: Programmazione del sistema
Passaggio 1. Comprendere cosa comporta la programmazione del sistema
I programmatori di sistema si occupano della scienza della programmazione, non delle sue implementazioni specifiche. Non legarti a una piattaforma specifica.
Passaggio 2. Seguire i primi tre passaggi per i programmatori di applicazioni desktop
Passaggio 3. Segui un corso introduttivo all'algebra lineare
Passaggio 4. Segui un corso di Calcolo
Passaggio 5. Segui un corso di Logica e/o Matematica Discreta
Passaggio 6. Presentati a diversi sistemi operativi nudi
Questo può essere fatto da:
- Ottenere un'idea su come sono installati i sistemi operativi.
- Imparare a installare diversi sistemi operativi su un PC (opzionale, ma consigliato).
- Installazione di più di un sistema operativo. Non installare alcun pacchetto di aiuto sui sistemi; utilizzare invece le semplici funzionalità fornite dai sistemi operativi.
Passaggio 7. Segui un corso (o in alternativa, leggi libri) sull'architettura hardware del computer
Passaggio 8. Sviluppare una comprensione delle diverse piattaforme hardware del computer
Passaggio 9. Acquisire una familiarizzazione introduttiva con il linguaggio assembly della piattaforma hardware/sistema operativo prescelto
In seguito imparerai l'assemblaggio di altre piattaforme/sistemi.
Passaggio 10. Impara i linguaggi ANSI C e C++, insieme ai concetti di programmazione procedurale
Passaggio 11. Comprendi ed esercitati con le librerie standard C/C++ sulla piattaforma prescelta
Presta particolare attenzione a Standard Template Library (STL) e forse Active Template Library (ATL).
Passaggio 12. Cerca risorse online, libri e corsi per comprendere il sapore C della tua piattaforma specifica
Passaggio 13. Esercitati a creare codice avanzato con C e C++
Passaggio 14. Ulteriori informazioni sull'assemblaggio avanzato
Passaggio 15. Segui un corso di progettazione di sistemi operativi
Passaggio 16. Trova e leggi la documentazione della tua piattaforma specifica preferita
Questo sarà più facile se scegli un sistema operativo basato su Unix. Comprendi molto bene il sistema con cui lavorerai in seguito.
Passaggio 17. Metti in pratica le tue conoscenze acquisite
Per prima cosa crea piccole utilità di sistema. Di solito è utile per:
- Cercando di ricreare piccoli strumenti che sono già presenti sul tuo sistema.
- Cercando di trasferire sul tuo utilità disponibili in altri sistemi operativi.
Passaggio 18. Impara le lingue nell'ordine più utile
Questo è l'unico posto in cui il primo linguaggio di programmazione conta. Impara prima ANSI C, non C++, non C#, non Java e non D. Quindi impara C++.
-
Limitare la prima lingua a C e C da soli è perché la programmazione dei sistemi richiede che il programmatore abbia familiarità con i seguenti concetti:
- Compilazione reale e completa del codice sorgente.
- File di output di oggetti di basso livello.
- Collegamento binari.
- Programmazione di basso livello in linguaggio macchina/assemblaggio. Si dice che il linguaggio C sia un assembly mascherato/più facile da imparare da alcuni. Supporta anche l'inserimento di codice in linguaggio assembly nel codice ogni volta che lo desideri ed è solo procedurale (come l'assembly).
Metodo 6 di 6: Scienza della programmazione
Passaggio 1. Sapere cosa fa uno scienziato di programmazione
Gli scienziati della programmazione sono programmatori molto avanzati che, invece di lavorare allo sviluppo di applicazioni, lavorano allo sviluppo di tecnologie informatiche come crittografia, linguaggi di programmazione e algoritmi di data mining. Questo livello è raramente raggiunto senza studio accademico e dedizione.
Fase 2. Accumula le conoscenze scientifiche equivalenti a una laurea quadriennale in informatica
Questo può essere fatto sia da:
- Prendendo un titolo accademico vero e proprio (che è ciò che accade di solito).
- Ottenere gli schemi dei corsi per una tale laurea da una delle moderne università e seguire i corsi sia da autodidatta o come corsi separati. Questo potrebbe essere ottenuto in teoria, ma il percorso consigliato è il primo.
Passaggio 3. Decidi un campo di specializzazione
Più è specifico, meglio è. Questo dipende dalle tue preferenze. Tuttavia, ecco un elenco di alcuni dei principali argomenti nella scienza della programmazione informatica:
- Progettazione di algoritmi (ricerca, ordinamento, crittografia, decrittografia e rilevamento degli errori nelle comunicazioni sono alcuni esempi)
- Linguaggi di programmazione/progettazione/ottimizzazione del compilatore
- Campi dell'intelligenza artificiale (riconoscimento di schemi, riconoscimento vocale, elaborazione del linguaggio naturale, reti neurali)
- Robotica
- Programmazione scientifica
- Super informatica
- Progettazione/modellazione assistita da computer (CAD/CAM)
- Realta virtuale
- Computer grafica (la computer grafica viene solitamente erroneamente confusa con il design grafico o il design dell'interfaccia utente grafica. La computer grafica è il campo di studio su come rappresentare e manipolare la grafica nei sistemi informatici).
Passaggio 4. Considera la possibilità di ottenere un titolo accademico più elevato
Potresti voler perseguire un master o un dottorato.