Computer finestre Internet

Quale linguaggio di programmazione imparare. Come scegliere il linguaggio di programmazione giusto per te. Altre opinioni degli sviluppatori

Come di solito accade, tutte le discussioni sulla discussione sui linguaggi di programmazione si trasformano spesso in vere e proprie guerre, in cui ciascuna parte non solo difende il suo preferito, ma cerca anche di umiliare l'avversario. Se gli autori delle lingue lo sapessero in anticipo, semplicemente non avrebbero creato metà delle loro creazioni.

Dopo aver deciso di considerare quali linguaggi di programmazione sono i più facili da imparare, la domanda viene trasferita su un piano diverso: quali di essi sono più apprezzati, e questa non è proprio la stessa cosa.

I linguaggi di programmazione più facili da imparare

Hai solo bisogno di conoscere alcune delle loro caratteristiche per creare programmi utili. Ogni collegamento include esempi e collegamenti a Informazioni aggiuntive. I seguenti collegamenti forniscono alcune conoscenze di base su cos'è un linguaggio di programmazione e su come memorizza diversi tipi di informazioni. Come funziona il linguaggio di programmazione e la terminologia di base.

Come vengono memorizzati i valori nelle variabili, come vengono visualizzate le informazioni e come vengono utilizzate le variabili. Come una variabile stringa viene utilizzata per rappresentare parole e testo. Come viene utilizzata una variabile array per visualizzare più valori dello stesso tipo.

Un semplice linguaggio di programmazione deve soddisfare determinati requisiti di base, come ad esempio:

  • È possibile imparare un linguaggio di programmazione da zero senza conoscere affatto la programmazione.
  • Un linguaggio di programmazione dovrebbe supportare un'ampia funzionalità, ma avere una sintassi semplice e un insieme di regole.
  • il tempo per imparare un linguaggio di programmazione non dovrebbe superare le due settimane - questo è nel caso generale.
  • un linguaggio di programmazione dovrebbe essere utile.
0berone /

Diventa subito chiaro che i linguaggi web-based non possono essere considerati autosufficienti, poiché si basano su una base di server e piattaforme difficili da apprendere. Rimangono quelli che vengono utilizzati per scopi generali di creazione di programmi.

Come scrivere codice per eseguire operazioni aritmetiche. Come scrivere codice per confrontare valori numerici. Sei pronto a dare un'occhiata alla corretta programmazione? I seguenti collegamenti ti guideranno attraverso la creazione di un programma semplice e mostreranno come il programma viene testato per gli errori.

Voglio creare un'app per iOS

Come scrivere codice che indichi a un programma di eseguire un'azione specifica. Come scrivere codice che ripete le azioni in un programma e conta la frequenza con cui tali azioni sono state eseguite. Come scrivere codice che esegue azioni diverse in risposta a condizioni diverse.

I linguaggi di programmazione più facili da imparare

  • Fortran
  • Di base
  • Pasquale
  • Modula
  • Lisp e altri.

In linea di principio, ognuno di essi può essere padroneggiato abbastanza rapidamente, ma questo spesso dipende dall'abilità dell'insegnante e dalla capacità dello studente di assorbire nuove informazioni.

Come scrivere codice che gestisca i bug nei programmi. Imparerai anche vari tipi errori. Come funzionano proprietà, metodi ed eventi. Come vengono archiviati i dati utilizzando diversi tipi di variabili. Come vengono convertite le variabili da un tipo all'altro e quali errori possono essere sottolineati.

Fino a quando il codice dell'applicazione non viene ripetuto in base a determinate condizioni. Come eseguire codice in più condizioni quando sono disponibili scelte diverse. A prima vista sembra un po' sciatto, ma puoi leggere il codice qui sotto. almeno e se sei fuori in inglese, puoi persino pensare a qualcosa oa un altro pezzo di codice.

Ma molti esperti sono convinti che per imparare un linguaggio di programmazione non si debba passare subito alla sua implementazione visiva. In poche parole, se vuoi imparare Pascal, allora studia Pascal, non Delphi XE, studia C invece di VC++ con MFC/QT e così via.

Più semplice è il linguaggio, meno evidenti sono le funzionalità del linguaggio in esso contenute, ma le funzionalità algoritmiche sono più pronunciate e questo è l'approccio migliore per l'apprendimento della programmazione.

Internet non trionferebbe se non fosse tutto, perché la fruizione delle pagine elettroniche di un libro è limitata. Sono state quindi aggiunte le prime foto che possono essere integrate in una pagina di testo. Poi ci sono le animazioni che spostano il movimento sul sito web. Questo file viene quindi utilizzato per accedere barra degli indirizzi il tuo browser e tutti gli altri elementi che possono essere distribuiti su Internet vengono scaricati. A volte la visualizzazione del sito Web si blocca una volta.

Il motivo è che forse si sta caricando solo il banner pubblicitario dal server di produzione momentanea lenta e quindi l'intero sito deve aspettare. Primo sito web Il primo sito web viene programmato velocemente. Per fare ciò, apri editor di testo e scrivi qualcosa lì. Se è installato un browser, il file può essere aperto doppio click e il testo verrà visualizzato. Il modo in cui ciò avviene è descritto in questo capitolo.

Non soggetto a tempo

Si può obiettare che Pascal, C e BASIC sono lingue antiche e non degne di nota. E sarebbe un errore, dal momento che un linguaggio di programmazione non ha stagioni di moda: vengono utilizzate in varie circostanze, ma non hanno nulla a che fare con il fatto di "invecchiare".

Inoltre, in molti casi, i vecchi linguaggi di programmazione sono molto più adatti per l'apprendimento, in quanto consentono all'utente di sviluppare autonomamente le funzionalità di libreria mancanti, mentre i linguaggi orientati agli oggetti (OOP) con un ricco set di funzionalità sono solo interessanti idee creative programmatori inesperti: cerca di convincerli a reinventare l'output sonoro scheda audio, formati di confezionamento dei dati o nuovi DBMS.

È il linguaggio di programmazione perfetto per entrare nel mondo della programmazione. In questo corso imparerai concetti base di programmazione che sono molto simili in qualsiasi linguaggio di programmazione. Come scrivere programmi semplici che automatizzano attività noiose e ripetitive.

Scraper è un programma che esegue la scansione dei siti Web per te. Ad esempio, puoi creare un web scraper che ti consente di cercare e recuperare contenuti dal web. Allo stesso tempo, puoi visualizzare i dati o automatizzare i processi. Le possibilità sono infinite! Il corso dura 1 mese.

Di conseguenza, resta da consigliare ai principianti di imparare la programmazione da versioni DOS come Pascal e solo allora acquistare Delphi per spostarsi in ambienti visivi confortevoli.

Quindi continua ad imparare

Il corso può essere pagato in due rate: il 50% dell'importo deve essere versato prima dell'inizio del corso, il restante 50% un mese dopo l'inizio del corso. Dopo aver completato la nostra domanda, riceverai da noi una fattura, che sarà pagata entro una settimana. Ha imparato rapidamente preziose abilità di programmazione e dopo il corso siamo stati in grado di integrarlo in un progetto più ampio. Suggerimento n. 1: capisci perché la programmazione è importante per la tua futura carriera.

Iniziare con la programmazione è in realtà abbastanza semplice. Pensa a cosa vuoi sviluppare, o meglio su quale piattaforma vuoi sviluppare. Quindi prendi la lingua che domina quella piattaforma e corri. Se vuoi di più informazioni dettagliate su questa affermazione, guarda il seguente video e lascia il resto dell'articolo sotto il video. Ad essere onesti, ogni linguaggio di programmazione ha i suoi vantaggi e svantaggi. Inoltre, è vero che la pura creazione di alcuni linguaggi di programmazione potrebbe essere un po' più facile per altri che per altri.

Entrare nell'IT: ricominciare da zero o passare

Questo, che Vladimir Kozhaev ha iniziato una serie con suggerimenti per principianti. Due articoli saranno una parte obbligatoria, ma se non è possibile coprire tutto il materiale, ha promesso di aggiungerne altri.

Da dove viene la legna da ardere?

Ah, hai pensato? Pensi a volte? Sei un pensatore. Qual è il tuo cognome, pensatore?
Spinozza? Jean-Jacques Rousseau? Marco Aurelio?
© Vitello d'oro

Probabilmente non sei interessato a nessun linguaggio di programmazione, ma hai un certo progetto in testa che vuoi implementare. Pertanto, dovresti scegliere un linguaggio di programmazione con cui implementare il tuo progetto e non il più semplice da imparare. Se impari ad imparare il più facilmente possibile, non avrai abbastanza motivazione in pochi giorni o settimane.

Ovviamente sorge la domanda: "Quale linguaggio di programmazione è il primo passo?" Perché è così? Tuttavia, questa paura è completamente infondata! La cosa più importante in un linguaggio di programmazione sono i concetti. Ogni lingua ha le sue caratteristiche, ma la conoscerai come un principiante in pochi mesi, se non anni. Fino ad allora, imparerai concetti che troverai in tutti i linguaggi di programmazione.

Sono nel settore dal 2005 e durante questo periodo molte storie e destini sono passati davanti ai miei occhi. Ma questa non è la cosa principale, il fatto è che la maggior parte dei giovani (e non così) neofiti che ho aiutato stanno lavorando con successo, alcuni sono già al secondo o terzo lavoro. Ma questa non è la cosa principale. È molto prezioso che Ho esempi di coloro che hanno fallito. Prezioso perché a volte sapere cosa fare è molto meno importante del sapere cosa e come non fare. Come tutte le generalizzazioni, quanto segue vale solo per le condizioni dell'Ucraina e, in misura minore, per i paesi dell'ex CSI. Conosco poco le condizioni di lavoro negli USA, quindi chi desidera emigrare cerca un'altra fonte di informazioni (ad esempio il meraviglioso podcast "America" ​​di Yakov Fine, oppure " Silicon Valley Voice»Michail Portnov).

Una caratteristica di un linguaggio di programmazione è la sua sintassi e le librerie fornite. Entrambi imparate molto nei primi mesi. Sebbene la sintassi e le librerie siano specifiche della lingua, puoi anche tradurre questa conoscenza in altre lingue. In un'altra lingua, ti ci vorrà un po' di tempo per abituarti alle funzionalità, ma hai già un'idea di base di cosa devi cercare.

Pertanto, non devi aver paura di perdere parte del tuo tempo prezioso. C'è più di un percorso diretto che sicuramente ti condurrà al tuo obiettivo! Devi sempre provare e fallire un po'. È solo una parte del processo di apprendimento. L'importante è che tu sappia perché vuoi imparare a programmare.

Ritratto socio-psicologico di uno switcher

Un romanzo è uno specchio con cui cammini lungo la strada maestra.
O ti riflette l'azzurro del cielo, o sporche pozzanghere e buche.
© Stendhal. rosso e nero

Chi vuole andare all'ai-ti. È chiaro: studenti di università specializzate e switcher (che parola, comprensione nel corso) di altre specialità. Entrambi hanno un problema che si morde la coda come l'eterno serpente Ouroboros - non c'è esperienza commerciale. Non puoi essere assunto senza esperienza, non puoi fare esperienza senza lavoro. Tuttavia, l'istruzione offre molti vantaggi, quindi i problemi che devono affrontare coloro che non ce l'hanno meritano una discussione a parte.

Come accennato nel video, la domanda è con quale linguaggio di programmazione iniziare? molto controverso. I programmatori e gli sviluppatori di software possono essere molto dogmatici e questa domanda è un ottimo esempio. Se desideri avere più opinioni diverse dalle mie, controlla una o più delle seguenti.

Qualunque cosa tu decida, puoi divertirti con qualsiasi linguaggio di programmazione e fare grandi progressi. Divertiti con il tuo linguaggio di programmazione. Scrivimi nei commenti! In cui speriamo di fornirti informazioni, suggerimenti e risorse su come gli studenti possono apprendere nuove abilità nel tempo libero.

C'era una volta un uomo, lavorava in un lavoro lontano dall'informatica, forse ha avuto successo, ma poi è arrivata la crisi del 2008, la vita è diventata più dura. Poi è arrivato il Maidan del 2013, l'annessione della Crimea, la guerra nel Donbass, il dollaro è schizzato ed è diventato molto difficile vivere. E all'improvviso il nostro eroe ricorda che all'istituto (scuola / asilo) ha programmato bene in Pascal (ha ottenuto una A all'esame / ha risposto con successo alla domanda / sapeva come accendere il computer). "Eureka, andrò all'IT, pagano molto e il lavoro è interessante".

Ogni linguaggio di programmazione offre qualcosa di diverso e ha pro e contro. È anche possibile che, a seconda di dove vivi nel mondo, alcune lingue siano più popolari di altre. Pertanto, è quasi impossibile creare un elenco definitivo di linguaggi informatici da imparare.

Pro: una lingua molto popolare ed è usata in un modo o nell'altro dalla maggior parte dei siti. Cioè, può solo descrivere le informazioni trovate, ma non intraprendere alcuna azione. Si compone di basso e alto livello, tanto da essere considerata una lingua di livello intermedio. Se c'è qualcosa che non può essere fatto usando la lingua, spesso c'è un modo per risolverlo. Contro: è un linguaggio molto ampio, quindi alcune funzionalità potrebbero interagire in modo imprevisto.

  • È molto difficile per uno sviluppatore diventare un esperto dell'intera lingua.
  • È meglio concentrarsi su alcuni elementi chiave.
Viene utilizzato principalmente per applicazioni Web aziendali.

Se uno studente programmatore non ha esperienza e il compito è solo (!) di ottenerlo, lo switcher è a sette miglia di distanza e tutto è una foresta: è necessario determinare cosa fare e acquisire conoscenze. La faccenda, devo dirlo subito, non è facile, quindi le persone sono giustamente sopraffatte dai dubbi: ci riuscirò, il gioco vale la candela, o forse perché? Cominciamo con questo.

Se una società IT non viene assunta o un lavoro alternativo

Pro: Molto popolare e alla moda, soprattutto tra la comunità imprenditoriale. Non è molto utile sviluppare applicazioni grafiche per interfaccia utente- in effetti solo su Internet, se siamo realistici.

  • Favore: popolare e considerato linguaggio semplice per studiare.
  • Contro: limitato in termini di funzionalità linguistiche e alquanto obsoleto.
  • Contro: Un linguaggio che si muove velocemente con numerosi documenti online.
Tuttavia, non è così popolare. Come dicevamo all'inizio di questo post, questi sono solo alcuni suggerimenti sui linguaggi di programmazione che possono essere utili per imparare a programmare.

Riuscirò?

Destino è una parola molto conveniente per coloro che non prendono mai decisioni!
© Jodie Foster

C'era una volta, quando un programmatore con esperienza guadagnava meno di un segretario di un istituto di ricerca post-sovietico, la programmazione era il lotto di nerd in maglioni elasticizzati. La tendenza ad “entrare nell'IT” è stata corrispondentemente assente. Ma a poco a poco, l'outsourcing è arrivato nel paese. I guadagni dei fondatori degli uffici IT sono stati scandalosi: i bassi salari ucraini sono stati combinati con un tasso spazzatura, ma comunque esterno. Ad esempio, nel 2004, un programmatore è stato pagato 2 dollari per un'ora di lavoro e ha venduto quest'ora per 15. Pertanto, hanno iniziato a prendere come programmatori tutti coloro che sono in grado di scrivere un programma "ciao mondo" e come tester - chi può accendere il computer. Più di sei volte la differenza tra tariffe interne ed esterne ha coperto eventuali costi. Questo periodo benedetto è durato fino al 2008 circa. C'erano poche persone che volevano entrare nell'IT da altre specialità, perché lo stipendio del programmatore, sebbene fosse cresciuto, purtroppo non raggiungeva il livello di un installatore di condizionatori d'aria.

Ce ne sono già molti lingue installate e anche alcuni che stanno iniziando a diventare popolari, potresti scoprirlo. Il miglior consiglio per scegliere con quale lingua iniziare è chiedersi cosa si vuole ottenere imparando a programmare; questo ti aiuterà a prendere una decisione. Se hai bisogno di aiuto, chiedi a programmatori esperti.

Se vuoi essere coinvolto in qualcosa di simile, assicurati di visitare di nuovo presto il nostro blog. Puoi anche seguire. Senza ulteriori indugi, queste sono, a mio avviso, le lingue più facili da imparare, ordinate per livello di difficoltà in ordine crescente.

Nel 2008 è scoppiata una crisi, tutti sono stati licenziati, programmatori compresi, ma meno di altri, e sono stati portati ad altri lavori. Qualcuno (come l'autore) ha ottenuto un lavoro quasi subito dopo la riduzione. Qualcuno in un mese o due, ma anche durante la crisi i tastieristi erano pieni e persino abbastanza ben nutriti. Inoltre, il corso è cresciuto e, finalmente, i programmatori hanno iniziato a guadagnare seriamente di più anche le ragazze più tettone delle concessionarie di automobili. Di conseguenza, anche il flusso di candidati e, di conseguenza, i loro requisiti hanno iniziato a crescere, e questa crescita continua ancora oggi. Inoltre, se nel 2008 era necessario avere conoscenze teoriche per un impiego di successo, ora un principiante deve avere una sorta di esperienza. Cioè, per ottenere un lavoro, un programmatore deve avere esperienza nella scrittura di programmi reali, almeno piccoli e non commerciali. Tester: comprovata esperienza nel testing di applicazioni.

Da dove iniziare o scegliere un percorso

Il fatto che un linguaggio di programmazione costringa i programmatori a tornare indietro rispetto al codice costringe i programmi a organizzarsi e possono determinare immediatamente quale set di istruzioni è indipendente da un altro set di istruzioni. Un'altra filosofia di Python è che idealmente dovrebbe esserci un solo modo per fare le cose. Questo è un grande vantaggio per i principianti in quanto non c'è spazio per ambiguità linguistiche. È un linguaggio incredibilmente compatibile con il suo design, che solo investendo qualche giorno con la lingua, ti accorgerai subito di ricordare già un numero significativo di caratteristiche e parole speciali della lingua senza guardare la documentazione. È un linguaggio molto naturale e amichevole per i principianti. Ciò significa che sin dalla sua nascita è stato concepito come un linguaggio di programmazione destinato a persone che già sapevano programmare. Pertanto, in un tempo relativamente breve, puoi iniziare a creare progetti interessanti e iniziare a risolvere problemi reali, quasi immediatamente. Ci sono momenti in cui hai due blocchi di codice contigui, ma il secondo blocco viene eseguito prima del primo o semplicemente e semplicemente non viene mai eseguito. Così frustrante per i principianti, non capiscono esattamente cosa sta succedendo nei loro programmi. Questo scenario può causare molta confusione ai principianti e può portare all'abbandono della programmazione per frustrazione. Node non è un linguaggio di programmazione. Sebbene la curva di apprendimento sia relativamente bassa ed è anche uno di quei linguaggi che soddisfano immediatamente, la sintassi del linguaggio tende ad essere alquanto complessa e talvolta confusa per coloro che stanno iniziando con la programmazione. Usare le virgolette singole non è la stessa cosa che usare le virgolette doppie. Se vuoi unire due righe di testo devi usare un punto, ma se vuoi aggiungere due numeri devi usare il segno più. L'incoerenza nella nomenclatura delle funzioni rende il linguaggio poco intuitivo. Finora, abbiamo visto deboli linguaggi di immissione del testo; ciò significa che l'interprete del linguaggio di programmazione non obbliga il programmatore a dichiarare se una variabile è un numero o una stringa di testo. La lingua in sé non è difficile da capire, è una lingua molto matura ed è un altro dei linguaggi di gratificazione immediata. Puoi iniziare immediatamente a scrivere programmi portatili che possono essere eseguiti su quasi tutti i computer nel mondo, dispositivi mobili o incorporati. Puoi creare applicazioni desktop relativamente veloci e molto altro. Entrambi i linguaggi hanno ispirato la progettazione e lo sviluppo di numerosi linguaggi di programmazione. Ad esempio, utilizzando un punto e virgola per delimitare la fine delle istruzioni o utilizzando le chiavi per delimitare blocchi di codice. Per eseguire entrambi i linguaggi, sono fortemente tipizzati, quindi i compilatori obbligano i programmatori a dichiarare i tipi di variabili che utilizzeranno nei loro programmi. Riepilogo: quale lingua sia la più appropriata per l'insegnamento della programmazione è una questione di discussione irrisolta.

Quindi vediamo: i requisiti sono aumentati di un ordine di grandezza. Che ne consegue: studia, studia e studia ancora! Ogni giorno, per tre o quattro ore, almeno un anno. Dopodiché, devi acquisire esperienza, scrivere programmi gratuitamente. Quindi dall'inizio della formazione all'occupazione, nella migliore delle ipotesi, passeranno due anni. Hai l'opportunità e la motivazione per lavorare sodo (in effetti, mezza giornata) per due anni dopo il lavoro? Se c'è, bene, ma ho una sorpresa per te: nessuno garantisce che durerai più di una settimana al tuo primo lavoro! Junior, in particolare un tirocinante, sono le posizioni più vulnerabili.

Un'altra cosa importante è l'inglese. I clienti in Ucraina sono completamente stranieri, il mercato interno è morto. Pensi che impareranno il russo/ucraino per il bene di un apprendista di talento, ma finora poco abile? Chi parla inglese, ovviamente, lo trova più facile. Per coloro che non lo fanno, impariamo. E come volevi?

Questo porta a una conclusione inquietante:

Per ottenere il tuo primo lavoro, all'inizio devi essere preparato per anni di duro lavoro e instabilità finanziaria.

Pensa bene, te lo puoi permettere?

Per non impazzire, studiare dovrebbe diventare il tuo hobby.

Credimi, fare ogni giorno ciò che ti fa ammalare è la strada per lo sciocco e lì, ovviamente, non guadagnerai soldi. D'altra parte, nessuno ha cancellato la motivazione finanziaria, e se prevale in te, non c'è nulla di criminale in questo. Una buona tecnica è scrivere i tuoi obiettivi su un pezzo di carta, appenderlo davanti ai tuoi occhi e leggerlo ogni giorno. Ancora meglio è andare da uno psicologo, inserirà rapidamente cervelli per quanto riguarda la motivazione. Chi ne ha bisogno, scriva in un personale.

Manda via i demotivatori

C'è chi dirà: “fi, è andato a programmare non al richiamo del cuore, ma perché voleva mangiare” Oppure: “è già vecchio - dove studi?” Oppure: "questo non è per il tuo cervello" - sentiti libero di inviarli. In casi trascurati separatamente, i consulenti non invitati possono anche essere picchiati. Come mai? Quindi un occhio nero si calma molto più velocemente di uno stomaco vuoto! Anche perché questi consiglieri non vogliono davvero aiutarti - ti scalciano solo il senso di importanza personale, spingendoti contemporaneamente in una pozzanghera. Non avere soldi, negare ciò che è necessario non solo a te stesso, ma anche a chi ti è vicino, vegetare essendo capace di più - questo è volgare, disgustoso e disgustoso.

È abbastanza buono e giusto guadagnare onestamente per te stesso e la tua famiglia.

Da dove iniziare o scegliere un percorso

I miei anni stanno crescendo
avrà diciassette anni.
Dove dovrei lavorare allora?
Cosa fare?
© Majakovskij

Bene, abbiamo capito la motivazione: cosa fare dopo? Prima di tutto, impara l'inglese, proprio adesso! Come ho scritto prima, senza di essa, purtroppo, non c'è niente da fare in IT!

In secondo luogo, scegliamo per cosa saremo pagati da libri verdi dall'aspetto gradevole. Hai bisogno di qualcosa da imparare abbastanza velocemente, ma anche pagato bene. La prima cosa che mi viene in mente è il test manuale. Per cominciare, sembra che tu non abbia bisogno di conoscenze speciali, dalle qualità generali, solo attenzione e perseveranza. Imparerò le specifiche dei programmi testati lungo la strada. Andrò ai corsi, finirò e cercherò un lavoro. Purtroppo, la soglia di ingresso eccessivamente bassa ha giocato uno scherzo crudele su più di un nuovo arrivato. Il fatto è che fino a poco tempo fa, fino a mille (!) curriculum erano vacanti come tester junior. Perché fino a poco tempo fa? Sì, perché tali posti vacanti hanno cessato di apparire nel pubblico dominio! Le aziende preferiscono prendere tester con istruzione specializzata e dopo i propri corsi. E solo posti vacanti per il controllo qualità livello base sul due ordini meno quantità candidati.

Ed ecco un altro consiglio: non entrare nei tester manuali!

Tuttavia, non devi essere un programmatore.

Per alcuni basta semplicemente cambiare il settore, affidandosi alle competenze pregresse. Ad esempio, invece di un contabile in un'azienda di produzione di salsicce, diventa lo stesso in un ufficio di programmazione. Se sai come lavorare con le persone (camerieri, assistenti di volo, hostess) - una strada diretta per i direttori d'ufficio. Se tu fossi un capo - vai dai manager, uno psicologo - dai reclutatori e dalle risorse umane. Ma cosa succede se vuoi ancora diventare un programmatore? Diventa, cos'altro! Ma cosa studiare, questo è il problema? La risposta è nel prossimo paragrafo.

Cosa e come imparare per diventare un programmatore

I bambini hanno bisogno di imparare cosa sarà loro utile da grandi.
© Aristippo

Cosa studiare per ottenere più velocemente un lavoro tanto atteso: Java, C# o forse C++? Sì, queste lingue sono, ovviamente, molto richieste e ben pagate, ma ci sono due problemi.

Il primo problema: qualsiasi linguaggio non esiste da solo, ma insieme a strumenti: compilatori o interpreti, che possono essere diversi, librerie e framework (in framework inglese) e approcci tipici utilizzati all'interno dell'area disciplinare. Quindi, il punto è quello per le lingue specificate, una delle possibili specializzazioni(forse diverso da Android) implica un'elevata barriera all'ingresso. In altre parole, dovrai studiare particolarmente a lungo. Per questo consiglio specializzazioni con un tempo di ingresso basso per chi si sta riqualificando: prima di tutto si tratta di programmazione front-end con JavaScript e linguaggi correlati, poi sviluppo di siti web su linguaggio PHP o Python, ulteriore sviluppo applicazioni mobili per Android o iOS. Ma nello sviluppo di applicazioni aziendali sulla piattaforma JavaEE o .NET, in particolare nella programmazione di sistema, nei bigdata o nell'analisi dei dati, è meglio che gli switcher non vengano coinvolti. Ci vorrà troppo tempo per studiare.

Il secondo problema: la programmazione non si limita allo studio degli strumenti, prima di tutto si tratta di algoritmi.

Lascia che siano abbastanza semplici, ma se una persona non è in grado di invertire una linea o scrivere un ordinamento a bolle, sarà difficile per lui lavorare su un progetto reale.

Quindi un altro consiglio: devi imparare le tecniche di programmazione - risolvere i problemi.

Come studiare

Il primo passo è imparare la lingua stessa, la sua sintassi. Per fare ciò, prendiamo un libro in una delle lingue selezionate, lo leggiamo e ci assicuriamo di fare gli esercizi. Quindi si procede allo studio delle librerie di uso comune, in parallelo si risolvono problemi algoritmici: array, stringhe e così via. Dopo aver più o meno padroneggiato il linguaggio e la quantità minima di algoritmi, si procede allo studio delle librerie e dei framework (framework) comunemente usati per questo linguaggio. Il fatto è che la conoscenza iniziale di socket, servizi web, librerie per unit test, richieste HTTP sono obbligatorie per qualsiasi programmatore, indipendentemente dalla specializzazione.

Il prossimo passo è studiare i modelli di progettazione. Successivamente, si passa alla padronanza dei sistemi di controllo della versione e dei database, come MySQL. E infine, passiamo alla padronanza della specializzazione desiderata. Ma non è tutto: alla fine della formazione, devi creare diversi progetti di lavoro e metterli su github e assicurarti di trovarli da qualche parte nello store o nel server in modo che le persone possano vedere non solo il codice, ma anche i risultati del tuo lavoro.

Solo allora puoi iniziare a cercare un lavoro.

Elenco di lettura per la specializzazione in programmazione Java per Android

  • Per una prima introduzione al linguaggio, consiglio Java Programming per bambini, genitori e nonni di Jacob Fine.
  • Dopo aver letto il libro, puoi passare al libro di Bruce Eckel "Java Philosophy". Basta non prendere la versione in lingua russa in brossura: è abbreviata, non ci sono esercizi.
  • Trova un'edizione più recente o una inglese chiamata "Thinking in java". Le attività di programmazione cercano stupidamente su google sulla questione delle "attività algoritmiche per le interviste".
  • O il libro di zio Jacob "Java Programming 24-Hour Trainer" o il libro di Eckel "Thinking in java enterprise".
  • Per padroneggiare i modelli di progettazione, prendiamo il libro di Eckel "Thinking java in patterns".

Per padroneggiare MySQL e git, puoi semplicemente usare la documentazione ufficiale. Dopodiché, puoi già iniziare a conoscere Android stesso, ad esempio, secondo il libro "Sviluppo di applicazioni Android per manichini" di Donn Felker. Dopodiché, ti consiglio di scrivere due o tre giochi, metterli nello store. Allora puoi cercare un lavoro.

Mentore, come trovare e non annoiarsi

Spesso un principiante ha domande che lui stesso non è in grado di risolvere. Sarebbe bello chiedere a qualcuno che capisca, ma dove posso trovarlo? Contatta chi scrive articoli, blog (p.s. NON è necessario contattare l'autore, io già aiuto diversi, e il tempo non è di gomma). Perché a loro? Semplicemente, se una persona dà consigli di propria iniziativa, molto probabilmente accetterà di aiutare quando gli viene chiesto. Inoltre, il mentore deve avere le capacità di un insegnante, in una certa misura un guru, non tutti nemmeno gli anziani super-duper-duper le hanno.

Le domande dovrebbero essere poste in questo ordine:

  1. All'inizio, cerchiamo di trovare una soluzione da soli.
  2. Se non funziona, vai su google.
  3. Se dopo ciò continua a non funzionare, fai una domanda su Stackowerflow o su un altro forum, ma è meglio su più di una volta. Fatta una domanda, la leggiamo, forse dopo averla letta capirete come risolvere il problema.
  4. E solo se i punti 1-3 non hanno funzionato, ci rivolgiamo al mentore.

Allo stesso tempo, devi ricordare: non sei obbligato a nulla, tranne nei casi in cui paghi per un aiuto. Cioè, se non ti è stata data risposta o risposta insufficiente nei dettagli, o il mentore non conosce la risposta, il massimo che puoi fare è chiedere molto educatamente, dicono, hai avuto il tempo di rispondere alla mia domanda? Questo non è affatto perché il mentore si considera l'ombelico della terra. È la tua stessa persona, con una famiglia, hobby, i suoi problemi. E, ahimè, i suoi compiti sono molto più importanti per lui del fastidioso Padawan, che ancora una volta ha letto distratto il manuale

In generale, è meglio contattare un mentore per risolvere domande fondamentali: cosa leggere dalla letteratura, quali framework padroneggiare, cosa c'è di sbagliato nel mio codice e come migliorarlo, quale compito prendere per la formazione, ecc.

Cos'altro fa? Se chiedi a un mentore e lui ti dà un consiglio, usalo! Se non lo usi, non preoccuparti, non funzionerà. Ho un amico che chiede circa una volta al mese: “cosa devo fare?”. Le dico in dettaglio, arriva tra un mese, non avendo fatto assolutamente nulla dei miei consigli! Il ciclo si ripete ancora. Inutile dire che i suoi risultati sono tristi?

Corsi, possono aiutare?

Dipende cosa ti aspetti da loro. Se l'introduzione alla specialità, sicuramente - sì. I buoni corsi ti aiuteranno in questo. Ma, sottolineo, bene. Come trovarli? Pensiamoci: quanto guadagna all'ora un programmatore capace di insegnare corsi? Esatto, da 20 dollari, piuttosto superiore. Diciamo che ci sono 10 persone in un gruppo. Lezioni frontali due volte a settimana + compiti pratici, che richiedono anche tempo per essere controllati. Cioè, un insegnante dovrebbe dedicare almeno 15 ore a settimana alla tua formazione, piuttosto 20 (perché devi prepararti per le lezioni) 20 * 20 = 400 dollari - lo stipendio minimo di un docente. Ne aggiungiamo almeno altri 200 (affitto di locali, materiali di consumo, profitto dell'ufficio). Ci sono quattro settimane con una coda in un mese. Cioè, il costo di un mese di buoni corsi per un gruppo di 10 persone dovrebbe costare 600 * 4 + coda (200) = 2600 dollari. Dividi per 10 e ottieni $ 260 a persona al mese. Al ritmo attuale di trenta dollari, questo sarà 7800 grivna. Comprensibilmente?

I buoni corsi possono essere più economici? Sì, se il controllo dei compiti è automatizzato (come in un corso) e ci sono molti studenti, allora risulterà essere preso in volume. Oppure, se l'obiettivo principale dei corsi non è fare soldi, ma PR. Posso consigliare i corsi di Yakov Fine o quelli condotti dai proprietari del sito javascript.ru.

Ma tagliati il ​​naso: nessun corso ti darà tutte le conoscenze. Un'altra esca è la promessa di occupazione al 100%.

Persino corsi gratuiti le grandi aziende IT, dopo un grave abbandono, non promettono lavoro per tutti. Questo è comprensibile, i corsi vanno avanti a lungo. D'altra parte, non ci sono oracoli nel centro di formazione, non possono prevedere di quanti stagisti avrà bisogno l'ufficio in sei mesi. Dove allora posto di lavoro l'organizzazione di formazione prenderà per te? Non ha nemmeno il suo design. La domanda è retorica!

Come ottenere il tuo primo lavoro e cosa fare lì

Il lavoro più difficile è non averlo!
© Ruben Bagautdinov

Bene, le informazioni iniziali dalla programmazione sono state ricevute. E sei ispirato a iniziare a inviare curriculum. Pensi che Google e Microsoft combatteranno con i flagelli per te? Guarda la situazione dal punto di vista del datore di lavoro: arriva un tipo sconosciuto, ha una formazione legale, ha 27 anni, l'inglese è nella media. Dice che sa qualcosa, onestamente, onestamente, ma purtroppo non ci sono prove di ciò. Lo assumerai?

Cosa si può fare? Esatto, mostra le prove che puoi fare qualcosa! ma come farlo? Creare Lavorando un progetto degno di attenzione, e preferibilmente due o tre, e metterlo in libero accesso. Consenti alle persone di vedere il prodotto faccia a faccia. Credi che dopo ti abbiano preso r-r-time? No, non l'hanno fatto, ma senza progetti implementati non c'è alcuna possibilità. Il fatto è che qualcosa potrebbe non piacere al datore di lavoro, perché sei ancora un principiante. Come essere? Esatto, devi chiedere molto educatamente le carenze, grazie per il tuo tempo ed eliminare queste carenze. Quindi vai al prossimo datore di lavoro e così via fino a ottenere la posizione desiderata. E, naturalmente, in parallelo, leggi la teoria in modo che voli via dai denti. Tuttavia, il progetto in produzione è ancora il più importante: è la tua guida per il mondo dei grandi guadagni.

Conoscevo ragazzi che insegnavano schemi di programmazione parallela, orientati agli aspetti, dinamici e chissà cos'altro, mentre mi chiedevo: "perché non mi assumono?". Sì, perché non c'è niente da mostrare! Puoi parlare a lungo della qualità del codice, ma che senso ha se non hai mai fatto un vero lavoro?

Vantaggi del commutatore

Laureato all'università con una laurea in Software"o" analisi dei sistemi "durante l'intera giornata lavorativa per cinque anni studiando ciò che hai imparato durante l'anno la sera, a singhiozzo. Ha studiato sotto la guida di mentori esperti, ha svolto attività di laboratorio, praticato. Certo, conosce meglio la teoria! Certo, puoi dire che conosciamo queste università post-sovietiche, ma ti assicuro: uno studente della KPI o della Shevchenko University che vuole acquisire conoscenze, sì, ha questa opportunità. Ma hai anche dei vantaggi. Il fatto è che un laureato è un “giovane ishsho”, spesso-densamente (ma non per tutti) ha un vento in testa. Non è perché è cattivo, è solo che l'esperienza di vita arriva con l'età.

Tu, come persona adulta e formata, in teoria, dovresti essere in grado di negoziare con altre persone, valutare sobriamente i termini di qualsiasi lavoro, essere in grado di dire la parola "no", ammettere i tuoi errori e adottare un approccio pragmatico a qualsiasi situazione di vita.

Non sai come, beh... come hai vissuto fino alla tua età?

Ad esempio, dove un laureato chiama le scadenze piacevoli all'orecchio del manager, tu, da adulto, dici educatamente ma con fermezza: non puoi fare questo lavoro più velocemente, non puoi. È meglio per il capo vivere qualche minuto spiacevole ora, ma informarsi in anticipo sul problema, piuttosto che avere la falsa fiducia che tutto andrà bene fino alla scadenza.

Cosa fare se l'offerta viene ricevuta

Inutile dire che l'importo dello stipendio al primo posto di lavoro non è la cosa più importante? Sì, deve provvedere almeno al minimo necessario, beh, affittare un letto lì, vestirsi con abiti di seconda mano e mangiare non solo pasta, ma non cercare di contrattare! Ci sono molti giovani sul mercato, ci sono anche quelli con un'istruzione specializzata. E ho scritto sopra che hanno dei vantaggi. Così, ricevuto un'offerta - annuisci felicemente e vai al lavoro. Su di esso, a proposito, ho ancora bisogno di resistere. Non è raro che un tirocinante junior venga licenziato, anche se è perfetto per il suo livello. È solo che c'è relativamente poco senso da parte di una persona del genere: fa il lavoro più semplice. Questo è finito o solo il cliente ha deciso di ridurre il personale: "grazie, caro amico, ci ricorderemo di te". Cosa fare? Come ho detto, preparati all'instabilità finanziaria e non perderti d'animo: cerca rapidamente un altro lavoro. Di più buon modo: prendi una vacanza dal tuo attuale lavoro e fai un periodo di tirocinio/prova. E solo se viene completato con successo, esci da quello vecchio. È difficile, sono d'accordo, ma forse la tua famiglia, altre persone care sono nelle tue mani - non puoi rischiare il loro futuro.

Ma può sorgere una situazione in cui devi lasciare il tuo primo lavoro? Sì, se offendono o non pagano lo stipendio. Il tuo ancora piccolo valore per il datore di lavoro non significa affatto che non sei una persona!

Anche al primo lavoro, non è necessario arrampicarsi nella bottiglia. Come so che un capogruppo ha detto: "Il problema degli studenti non è tanto che non conoscono le biblioteche, ma che non sanno come lavorare in una squadra". Ad esempio, se il tuo lavoro viene criticato, in realtà è un favore. Non c'è bisogno di trovare scuse, per non parlare di giurare: il massimo è molto corretto per chiedere una spiegazione di cosa esattamente non va. Bene, corri a correggere gli errori. D'altra parte, non dovrebbero nemmeno avere paura. Alla fine, sei un principiante, hai il diritto di sbagliare.

Ci sono momenti in cui incontri problemi sul lavoro. Va bene chiedere? Certo che si! Ma devi comportarti esattamente allo stesso modo di un mentore: all'inizio da solo, poi su Google, poi sul forum e solo dopo fai domande.

Quanto tempo hai bisogno di lavorare al tuo primo lavoro? Se non ci sono altri accordi con il datore di lavoro, almeno sei mesi, ma anno migliore. Per tutto questo tempo, studia duramente: padroneggia modelli, modelli, strutture, metriche. E dopo, guardati intorno e prova a parlare di aumento degli stipendi. Una persona che ha lavorato per un anno si trasforma, no, non in un mezzo, ma in un giovane fiducioso - è già braccato dalle risorse umane, ha dimostrato di poterlo fare!

Allo stesso tempo, gli accordi devono essere rispettati. D'accordo sul fatto che lavorerai per almeno due anni - fallo. Hai accettato di finire il progetto? Finiscilo! Il karma, dopotutto, è così: con quale misura misuri, ti sarà misurato.

Tuttavia, l'attuazione degli accordi non deve essere confusa con la colpa. Lascia che lo spieghi con un esempio. Quindi hai lavorato per un anno, hai alzato il tuo livello e ora ti viene offerto un altro lavoro. Vale la pena essere tormentato, dicono, com'è, me lo hanno insegnato, e sono un tale bastardo che se ne va? Se hai adempiuto a tutto ciò che hai concordato, no, non dovresti. Ecco perché: un dipendente viene accettato non per grande gentilezza, ma in attesa di guadagni. Se hai lavorato per un anno, il tuo reddito ha superato la spesa, altrimenti saresti stato licenziato molto tempo fa. E questo significa che tutto è in ordine. Io stesso ero preoccupato, dicono, com'è possibile che il progetto si trovi in ​​una situazione difficile senza di me. Hai ancora smesso e non è successo nulla, quindi non sopravvalutare la tua stessa importanza.

Se una società IT non viene assunta o un lavoro alternativo

Succede. Bene, sederti e aspettare in riva al mare per il tempo? Per niente: contatta un'organizzazione governativa, preferibilmente un istituto di ricerca. L'ufficio statale di solito ha pochi soldi, ma i compiti di programmazione sorgono e sono spesso piuttosto complessi. Ad esempio, il mio primo lavoro è stato il Nikolaev Astronomical Observatory (NII NAO). Cosa non ho fatto lì: elaborare i risultati di osservazioni astronomiche, statistiche matematiche, sviluppo web, database. Ora parlano molto di big data, quindi nel 2005 ho svolto attività con gli stessi big data. Chi non crede può ricordare il vecchio adagio “ce ne sono tante quante stelle nel cielo” o la frase “numeri astronomici”. È vero, ho dovuto portare delle scatole, ma non è così spaventoso.

C'è un "ma", che è sia un più che un meno. Negli istituti di ricerca il cui oggetto di studio non è la programmazione, ci sono professionisti: è importante per loro che i programmi funzionino senza errori fondamentali e siano creati a una velocità accettabile. Pertanto, nessuno si concentrerà sul seguire le migliori pratiche, utilizzando unit test, corretta scomposizione, presenza di commenti e così via. Devi occupartene tu stesso, se non per motivi di lavoro, almeno ai fini dello studio da solo. Un insegnante che ficca il naso negli stipiti è, ovviamente, conveniente, ma se prestassero attenzione alla pulizia del codice, molto probabilmente il nuovo arrivato non verrebbe assunto.

Dopo un anno di lavoro, anche in un'organizzazione non core e con tecnologie superate, ti guarderanno con occhi diversi. Hai una marginalità, ma esperienza. Non sottovalutarlo, ma è chiaramente meglio di niente.

Hai più di 40 anni, ovvero la lotta alla discriminazione

La società post-sovietica, purtroppo, è molto inerte e prevenuta. Ad esempio, si ritiene che un subordinato debba essere necessariamente più giovane del capo, si dice, il leader non sarà rispettato altrimenti. Inoltre, il tirocinante non può essere uno zio rispettabile di quarant'anni. C'è anche un'opinione secondo cui una volta raggiunta la maturità, è generalmente vergognoso lavorare in una posizione ordinaria, indipendentemente dalla retribuzione. Ci sono anche altri stereotipi. Ebbene, lì il programmatore deve essere necessariamente un maniaco del lavoro che vive solo per lavoro, una bella donna è necessariamente stupida (il che significa che non può svolgere compiti più complicati del fare il caffè). Alla fine, questo si traduce in una frase fastidiosa: "Le tue capacità tecniche sono buone, ma, purtroppo, non ti inserirai nella squadra". Poiché non esiste una ricetta per l'eterna giovinezza, bisogna fare qualcosa.

  • In primo luogo, puoi cercare lavoro con la gestione occidentale. Di norma, in Europa e negli USA, l'approccio alle differenze di genere ed età è più semplice: se una persona ha conoscenze e può lavorare per motivi di salute, è adatta. In generale, in Occidente, per quanto ne so, ci sono altre tradizioni che ricorrono, da un lato, per la lotta legislativa contro le discriminazioni (basta cercare di rifiutare per età, nazionalità o sesso - le multe saranno " rinfrescanti”), d'altra parte, sono principalmente focalizzati sul fare soldi. Al contrario, in alcuni uffici domestici il motto è ancora: “non ariamo, non seminiamo, non costruiamo, siamo orgogliosi del sistema sociale” e chiunque non condivida convinzioni politiche, sociali o di altro genere è un nemico, non vale la pena assumerlo.
  • In secondo luogo, il freelance resta una salvezza per coloro che sono anziani o, per una serie di motivi, che non possono lavorare in ufficio. Ho scritto che è difficile e non adatto a tutti, ma lo switcher ha una serie di vantaggi di cui sopra. In ogni caso, se non ci provi, non ci riuscirai di sicuro! Al cliente di un libero professionista non importa che aspetto abbia la persona dall'altra parte, è importante che il lavoro sia completato in tempo e con una qualità accettabile. Quindi, se non lo portano da nessuna parte, puoi pensare a questo tipo di reddito.

Storia di una persona su sedia a rotelle

In conclusione, voglio parlare di uno switcher dalla Siberia: un utente su sedia a rotelle. L'uomo, un ex uomo d'affari, ha avuto un incidente con il suo SUV: una frattura da compressione della colonna vertebrale + problemi alle mani + il diavolo sa cos'altro.

Per scrivere il codice doveva alzare i palmi delle mani e premere i tasti con le nocche, non funzionava in nessun altro modo.

Nella mia memoria, si è rivolto a una delle personalità più note nel mondo della programmazione con una richiesta di aiuto negli studi, la sua motivazione non era nemmeno la sopravvivenza personale, voleva aiutare le sue figlie.

L'uomo ha frequentato corsi a distanza e dopo pochi mesi ha ottenuto il suo primo lavoro: scrivere XML e creare Xpath. Ora lavora con successo in remoto, riceve lo stipendio di un programmatore in dollari. Sasha, se leggi questo, ti mando un grande saluto e invio raggi di bontà, sei grande!

Ricorda questa persona quando giustifichi di non fare nulla, dice che è difficile per te. È stato facile per una persona paralizzata con un mucchio di problemi fisici e psicologici? Sì, lo hanno aiutato, ma se non avesse lavorato nessuno lo avrebbe pagato così. Quindi se ha funzionato per lui, non vedo perché non ha funzionato per te.

Buona fortuna per il tuo apprendimento!

Un po' di motivazione



"Con quale linguaggio di programmazione iniziare?" - questa è una domanda che spesso si pongono le persone che decidono di provare ad imparare a programmare. Cinque anni fa, si sarebbe potuto consigliare di imparare a programmare in BASIC, ma questo momento questa è una completa idiozia, poiché il BASIC è già un fossile antico. Sì, ora molti possono consigliarti di imparare a programmare in Visual Basic. Una versione semplificata di questo linguaggio, VBA (Visual Basic for Application), è integrata in tutte le applicazioni Microsoft Office. Per chi scrive macro per applicazioni per ufficio Microsoft non può fare a meno di VBA. Tuttavia, non posso raccomandare né BASIC né Visual Basic come linguaggio per l'apprendimento della programmazione.
Propongo di considerare due casi:

1. Tutto è fantastico con te in matematica e fisica, puoi facilmente memorizzare formule piuttosto complesse, non hai paura di vari simboli incomprensibili.
In questo caso, dovresti iniziare a imparare a programmare dal linguaggio C. Il fatto è che il C è un linguaggio molto potente, sulla base del quale sono stati creati molti altri linguaggi ancora più potenti, come C++, Java, C#, PHP e altri. A proposito, scritto in questa lingua sistema operativo Windows e quasi tutto giochi per computer che stai giocando.

Se scegli C, o meglio C++, ci sono informazioni più che sufficienti su questo linguaggio su Internet. Tuttavia, ti consiglio di acquistare un buon riferimento C++. Consiglio vivamente di acquistare il libro di riferimento di Herbert Schildt.

Riferimento C++

Il riferimento C++ completo. Il libro è un bestseller ed è alla sua quarta edizione. 4a edizione. La quarta edizione di questo libro descrive e illustra tutto in modo completo parole chiave, funzioni, classi e proprietà del linguaggio C++ conforme allo standard ANSI/ISO. Le informazioni presentate nel libro possono essere utilizzate in tutti i moderni ambienti di programmazione. Vengono trattati tutti gli aspetti del linguaggio C++, comprese le sue basi: il linguaggio C. Il libro di riferimento è composto da cinque parti: 1) un sottoinsieme di C; 2) linguaggio C++; 3) libreria di funzioni standard; 4) libreria di classi standard; 5) applicazioni in C++. Il libro è destinato a una vasta gamma di programmatori.
Ordina libro >>

2. Hai problemi con la matematica, formule e icone incomprensibili che non digerisci, ma vuoi comunque imparare a programmare.
Bene, qualunque cosa tu dica, è meglio provare Pascal. Sì, anche questo è un fossile, ma comunque sia, il linguaggio di programmazione Pascal è stato originariamente concepito come un linguaggio per l'insegnamento della programmazione.
Per lo studio indipendente della programmazione in Pascal, puoi acquistare un libro. Posso consigliare quanto segue:

Esercitazione Pascal

Programmazione in Pascal.
Scritto da Sam Abolrus. Il titolo originale del libro, tradotto dall'inglese, è “Learning Pascal in Three Days”. In effetti, puoi imparare le basi della programmazione in Pascal con l'aiuto di questo libro in un paio di giorni. L'autore è un programmatore presso Microsoft.
Ordina libro >>

In ogni caso, se vuoi imparare a programmare, devi scrivere programmi tutto il tempo. È impossibile imparare a programmare solo leggendo libri intelligenti. Buona fortuna a tutti i programmatori principianti.