Computer finestre Internet

Il linguaggio di programmazione più facile da imparare. Il linguaggio di programmazione più semplice per un principiante

La programmazione sta gradualmente schiacciando un settore dopo l'altro: non molto tempo fa, chiamare un taxi sembrava un processo completamente offline, e ora ci sono molti sviluppatori che lavorano in Uber. Guardando questo (oltre che al livello degli stipendi degli specialisti), anche le persone lontane dalla programmazione pensano: "Devo provarci anch'io?"

Spesso un pensiero del genere viene subito spaventato dalla varietà dei linguaggi di programmazione: bisogna scegliere tra una varietà di opzioni non del tutto chiare. Qual è la differenza tra le lingue e perché non esiste una migliore e universale, quale prendere in primo luogo e per quali compiti?

Corsi come "" ti aiutano a capire questo, dove puoi decidere con quali prospettive IT i tuoi interessi sono maggiormente correlati.

Materiale preparato con il supporto di.

Tweet

Ai preferiti

Preferito

La scelta della lingua dipende in gran parte da ciò che dovrebbe essere fatto con essa. Le applicazioni più popolari delle lingue ora sono lo sviluppo web, mobile e lo sviluppo di giochi. Lo sviluppo web, a sua volta, è diviso in un frontend (qualcosa con cui l'utente interagisce direttamente) e un backend (invisibile all'utente, ma necessaria parte "tecnica").

Fine frontale

HTML e CSS: il volto del sito

Usati insieme, HTML e CSS non sono, di fatto, linguaggi di programmazione. Non determinano come funzionerà il sito, ma solo come apparirà. Se scrivi un sito web utilizzando solo HTML e CSS, risulta essere un insieme di pagine statiche, dove l'unico elementi interattivi ci saranno collegamenti.

Tuttavia, i siti Web non sono completi senza HTML, quindi la sua conoscenza di base è necessaria per chiunque abbia intenzione di fare sviluppo web. E padroneggiare i CSS può essere un'abilità piuttosto preziosa: il compito di "posizionare correttamente gli elementi" non è sempre banale.



JavaScript - per insegnare al sito a capirti

Il linguaggio JavaScript è responsabile dell'interattività e delle informazioni che cambiano dinamicamente nelle pagine del sito. Ad esempio, quando si immette un numero di telefono nel formato sbagliato in un modulo del sito o si dimentica il segno @ quando si immette indirizzo email JavaScript consente al sito di saperlo immediatamente ed evidenziare il campo in rosso. Ed ecco il contatore delle visualizzazioni di questa pagina, che cambia in tempo reale: su un sito HTML, sarebbe possibile mostrare solo un numero statico.

...

JavaScript è diventato il principale linguaggio di frontend e sta vivendo un vero e proprio picco di popolarità: l'interesse per esso è in crescita e nuovi strumenti appaiono costantemente nel mondo JavaScript. La sfumatura è che per uno sviluppatore, la costante comparsa di qualcosa di nuovo non è sempre un vantaggio: spesso devi riqualificarti e il nuovo non funziona sempre stabilmente, causando spiacevoli sorprese. Tuttavia, nessuno vieta l'uso di strumenti stabili e popolari.

Inoltre, c'è il framework Node.js, che ha permesso di utilizzare JavaScript anche nel backend. A differenza del frontend, non è un leader e compete con un certo numero di altre lingue.

Sviluppo web: backend

Java è affidabile come il cappotto del nonno

Sebbene il nome venga a volte confuso con JavaScript, Java non è solo un altro linguaggio, ma quasi l'opposto di JavaScript: è una scelta più conservativa, dimostrata negli anni. Si preferisce utilizzare nel backend di quei progetti per i quali l'affidabilità è molto più importante delle tendenze della moda, come i sistemi bancari. TIOBE Java è al primo posto nella classifica di popolarità delle lingue, il che significa che ci sono milioni di posti di lavoro per sviluppatori Java nel mondo.



I giovani sviluppatori spesso trovano Java noioso e obsoleto e i suoi sostenitori rispondono, ad esempio, a questa GIF che nessun Node.js può eguagliare la sua potenza:

Python - progressivo e popolare

Se confronti Python con Java, vincerà nella quantità di codice, ma perderà nella velocità di esecuzione. Per un grande progetto ad alto carico in cui le prestazioni sono importanti, Python non lo sarà la scelta migliore... Il linguaggio è perfetto per una startup: ad esempio, per mostrare a un investitore un prototipo prima che finiscano tutti i soldi dell'investimento.

Nel 2016, la lingua ha ricevuto inaspettatamente un altro vantaggio: è conveniente scrivere bot per i messaggeri al suo interno.

PHP è popolare e relativamente semplice

La popolarità di PHP è innegabile: è utilizzato da Facebook, VKontakte, Wikipedia e, tra l'altro, dal sito. Si basa anche su Sistema WordPress, che gestisce circa un quarto di tutti i siti.

PHP è facile da imparare ma ha una reputazione controversa e i due sono correlati. A causa della semplicità del linguaggio, molti nuovi arrivati ​​sono apparsi nel settore con un desiderio irresistibile di sviluppare professionalmente PHP senza entrare nei dettagli. Ecco come è apparso un sacco di cattivo codice PHP. È per questo che alcune persone criticano PHP, mentre altri sostengono che in mani capaci si mostra solo dal suo lato migliore.

Ci sono anche alcune alternative meno popolari nell'elenco delle opzioni, da Ruby al sempre più popolare Go.

Naturalmente, l'elenco delle lingue non si limita a quelle menzionate: alcuni preferiscono il giovane Kotlin, creato a San Pietroburgo, mentre altri si sono abituati a Smalltalk dagli anni '80. E anche la gamma di attività non è limitata a quelle elencate: ci sono anche attività "di basso livello", come la scrittura di driver.

Tuttavia, tutto ciò che non è incluso nell'elenco è di solito ristretto e di nicchia (i posti vacanti di Smalltalk scarseggiano) o poco adatto ai principianti (un livello basso richiede una preparazione seria). Pertanto, prima di tutto, dovresti prestare attenzione alle lingue elencate, quindi non sarà difficile capire il resto.

Ai nostri tempi, la programmazione è diventata uno dei campi di attività più impegnativi e altamente pagati. Le persone che lavorano in questo campo possono facilmente guadagnare più di cento dollari senza nemmeno alzarsi a causa della loro computer di casa... La maggior parte delle aziende che forniscono beni o servizi stanno cercando di andare online con le loro offerte e quindi ottenere più clienti. Stanno aprendo costantemente posizioni molto interessanti per i programmatori. Inoltre, un buon programmatore può facilmente emigrare all'estero, da qualche parte in paesi sviluppati: Stati Uniti, Europa o persino in Cina.

Tutto ciò sta incoraggiando sempre più persone a iniziare a imparare a programmare. Avanzando diligentemente nel livello delle tue abilità in questo settore, puoi, dopo diversi anni di duro lavoro, assicurarti un buon "posto al sole" e guadagnare denaro decente, lavorando in un'azienda nota e rispettata. L'unica domanda che un principiante dovrebbe superare è quali sono i linguaggi di programmazione più facili per i principianti e a quale di essi è opportuno prestare attenzione? Vale la pena imparare il Pascal per principianti o dovresti iniziare subito qualcosa di più serio? È a queste domande che cercheremo di rispondere qui.

Quali sono le aree di programmazione e con quali linguaggi lavorano

La programmazione moderna è un'area di conoscenza molto vasta che una persona difficilmente può comprendere anche in tutta la sua vita. La differenziazione della programmazione in diverse aree di applicazione aiuta i professionisti a imparare meglio la propria attività, a scrivere programmi migliori e a migliorarli costantemente. Quasi tutto dipende da quale area di attività andrà un programmatore alle prime armi: quanto tempo dovrà studiare a un livello decente di competenza linguistica, se sarà in grado di trovare un lavoro dignitoso, avrà prospettive di crescita professionale o emigrazione (se questa rientra anche nelle mansioni persona). Ecco perché la domanda: quale linguaggio di programmazione è il migliore per iniziare è molto importante e non dovrebbe essere affrontata alla leggera.

Ora si distinguono le seguenti principali aree di programmazione.

Programmazione di basso livello

Questa area di attività include la creazione di software per eventuali controller fisici, microprocessori che funzionano direttamente con vari dispositivi e dispositivi collegati esternamente. È nei linguaggi di basso livello che vengono impostati i modelli di comportamento per vari hardware, vengono programmate le possibilità di input e output di informazioni da esso e in generale vengono eseguite tutte le azioni che alla fine controlleranno il comportamento di un determinato dispositivo fisico.
Grazie ai linguaggi di basso livello, una base Software per la maggior parte diversi dispositivi, ad esempio, vengono creati driver per microschede e controller, schede video, stampanti, ecc., kernel per sistemi operativi e vengono risolti altri compiti importanti di questo tipo. I linguaggi più comunemente utilizzati in quest'area di attività sono C, C++ e Assembler. Anche le lingue di questo tipo includono Forth, CIL e altre. Con quale iniziare a imparare? Questo problema sarà discusso di seguito.

Programmazione web

La programmazione focalizzata sulla tecnologia web è oggigiorno una delle più impegnative e pagate. Vari siti, servizi online, risorse di intrattenimento e notizie, social networks, la parte del leone delle applicazioni mobili orientate al web - tutto questo è incluso nel campo della programmazione web e richiede che il programmatore conosca diversi linguaggi importanti.
In quest'area si possono distinguere le lingue che sono responsabili del design aspetto esteriore siti e servizi online, per le loro prestazioni e funzioni, per opportunità interattive e plug-in aggiuntivi utilizzati e altri punti importanti. Quando vai sul sito, vedrai il suo design, un'immagine statica, che è scritta in una lingua (anche se, anche qui, ce ne sono spesso molte), quando passi il cursore su qualsiasi elemento e vedi un pop -up window - questo è già organizzato grazie a un'altra lingua quando fai clic sul pulsante di navigazione e sali automaticamente ai vecchi tempi - questo potrebbe essere già il terzo linguaggio di programmazione.

Quali linguaggi vengono utilizzati nella programmazione web? Prima di tutto, questi sono:

  • HTML. Grazie a questo linguaggio viene scritta la "spina dorsale" di base del futuro sito, è suddivisa in diverse parti funzionali (ma le funzioni stesse non sono impostate), vengono evidenziate le componenti più importanti della struttura generale del sito (header, nome, corpo del sito, eventuali elementi laterali e blocchi);
  • CSS. Questo linguaggio è usato in tandem con il precedente e svolge il ruolo di tale strumento che decora l'aspetto del sito. Con il suo aiuto, puoi facilmente progettare bellissimi elenchi, tabelle (questi elementi sono impostati in HTML, ma è il loro design che si svolge in CSS), aggiungere effetti di animazione, effetti luminosi e altre cose affascinanti e attraenti per gli utenti alle categorie e pulsanti del sito;
  • PHP. Il linguaggio utilizzato per creare applicazioni e programmi web. Grazie ad esso è possibile creare facilmente elementi dinamici di siti, il linguaggio e il software che ne derivano da parte degli sviluppatori sono completamente gratuiti e molto popolari;
  • javascript. Un linguaggio di scripting relativamente semplice che svolge funzioni molto simili al precedente.

Oltre a questi linguaggi, nella programmazione web vengono utilizzati attivamente ASP, Perl, XML e una serie di altre tecnologie meno note. È interessante notare che la maggior parte di quanto sopra sono lingue abbastanza facili che vengono apprese in tempi relativamente brevi.

Applicazioni mobili

Inoltre, un'area di programmazione in rapido sviluppo è lo sviluppo di applicazioni per smartphone e altri gadget (tablet, componenti intelligenti e occhiali per realtà virtuale aggiunti di recente). Quasi ogni persona moderna in ogni paese del mondo è un utente di smartphone. Questo dispositivo semplicemente non può funzionare senza un software decente e spesso la sua qualità gioca un ruolo ancora maggiore qui rispetto ai parametri fisici del dispositivo. Sviluppando software per dispositivi mobili, puoi guadagnare molto bene e scoprire le prospettive di una seria crescita professionale per gli anni a venire.
La scelta della lingua qui è relativamente piccola: se hai intenzione di programmare su Android, devi imparare attivamente Java e padroneggiare Android Studio, se stiamo parlando di iOS, allora si dovrebbe prestare attenzione ai linguaggi Objective-C e relativamente Nuova lingua di Apple Swift.

Cosa dovrebbe scegliere un principiante?

Bene, ora è il momento di rispondere alla domanda: con quale linguaggio di programmazione dovresti iniziare per approfondire il più possibile il campo di attività prescelto e iniziare in tempi relativamente brevi a raccogliere i frutti delle tue fatiche? Ci sono molte persone in questa domanda e quante opinioni, ma è meglio prestare attenzione a:

  • Giava. Un linguaggio di programmazione universale che può essere utilizzato per scrivere con la stessa facilità sia su applicazioni mobili che su vari sistemi operativi di sistemi informatici. Ha una sintassi semplice e rapidamente memorizzata, ha molte librerie e strumenti aggiuntivi ed è in grado di organizzare modalità operative multi-thread. Nelle mani giuste, Java può sostituire altri linguaggi, lo stesso C++, e Java è molto facile da percepire per i principianti;
  • C, C++. Se il tuo obiettivo è lo sviluppo serio del software o addirittura la scrittura del tuo sistema operativo in futuro, allora C e C ++ sono perfetti per questo. È meglio seguire prima il corso C per principianti e, dopo un po' di comprensione, studiare C++, che ha ereditato molti punti dal C;
  • Se una persona ha intenzione di dedicarsi al lavoro nel campo delle tecnologie web, allora le migliori lingue per un principiante da imparare, ci saranno HTML (HTML 5 è altamente desiderabile), CSS e PHP. Con un tale set, il programmatore sarà in grado di creare da solo progetti di qualità straordinaria. Per quanto riguarda l'inizio della programmazione, è meglio prestare attenzione a HTML e CSS.

Ecco come appare la risposta alla domanda su dove iniziare a programmare. Ognuna delle lingue menzionate è buona a modo suo e se la usi correttamente, puoi ottenere un buon risultato, ma alcune sono più semplici e comprensibili per i principianti. Pertanto, se stai appena iniziando a imparare una lingua, è meglio prestare attenzione alle opzioni di cui sopra. Con una tale base, sarà facile andare avanti e sarà facile percepire nuove informazioni.

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

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

Un semplice linguaggio di programmazione deve soddisfare alcuni requisiti di base, quali:

  • un linguaggio di programmazione può essere appreso da zero, senza conoscere la programmazione in generale.
  • un linguaggio di programmazione deve supportare ampie funzionalità, ma allo stesso tempo avere una sintassi e un insieme di regole semplici.
  • il tempo per imparare un linguaggio di programmazione non dovrebbe superare le due settimane - questo è generalmente il caso.
  • dal linguaggio di programmazione dovrebbe derivare un vantaggio pratico.
0beron /

Appare subito chiaro che i linguaggi web-based non possono essere considerati autosufficienti, poiché si basano su una base di server e piattaforme di difficile apprendimento. Rimangono quelli utilizzati per gli scopi generali della creazione di programmi.

I linguaggi di programmazione più facili da imparare

  • Fortran
  • Di base
  • Pascal
  • 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.

Ma molti esperti sono convinti che per imparare un linguaggio di programmazione non si debba andare direttamente alla sua implementazione visuale. In poche parole, se vuoi imparare il Pascal, imparalo, non Delphi XE, impara C invece di VC ++ con MFC / QT e così via.

Come linguaggio più facile, meno evidenti sono le caratteristiche del linguaggio in esso contenute, ma le caratteristiche algoritmiche sono più pronunciate - e questo è l'approccio migliore all'apprendimento della programmazione.

Senza tempo

Si potrebbe obiettare che Pascal, C e BASIC sono entrambe lingue antiche e non degne di nota. E questo sarà un errore, dal momento che un linguaggio di programmazione non ha stagioni della 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 per l'apprendimento si adattano molto meglio, poiché consentono all'utente di sviluppare autonomamente la funzionalità della libreria mancante, mentre i linguaggi orientati agli oggetti (OOP) con un ricco set di funzioni solo cool idee creative programmatori alle prime armi: prova a convincerli a reinventare l'uscita audio attraverso scheda audio, formati di impacchettamento dei dati o nuovi DBMS.

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

Accedi a IT: partire da zero o switcher

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

Da dove viene la legna da ardere?

Oh, hai pensato? Quindi a volte pensi? Sei un pensatore. Come ti chiami, pensatore?
Spinoza? Jean-Jacques Rousseau? Marco Aurelio?
© vitello d'oro

Sono nel settore dal 2005, e in questo periodo tante 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 a lavorare con successo, alcuni sono già al secondo o terzo lavoro. Ma nemmeno questa è la cosa principale. È molto prezioso che Ho esempi di coloro che hanno fallito... Prezioso perché a volte sapere cosa fare è molto meno importante che sapere cosa fare. 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 Stati Uniti, quindi se vuoi emigrare, cerca un'altra fonte di informazioni (ad esempio, il meraviglioso podcast "America" ​​di Jacob Fine, o " Silicon ValleyVoce"Michail Portnov).

Ritratto socio-psicologico di un maglione

Un romanzo è, dopotutto, uno specchio con cui si cammina lungo la strada maestra.
O ti riflette l'azzurro del cielo, poi le pozzanghere fangose ​​e le protuberanze.
© Stendhal. rosso e nero

Chi vuole nell'ai-ti. È chiaro: studenti di università specializzate e switch (quale parola capiscono nel corso) da altre specialità. Entrambi hanno un problema che si morde la coda, come l'eterno serpente-Ouroboros - non c'è esperienza commerciale. Non assumono persone senza esperienza, non possono ottenere esperienza senza lavoro. Tuttavia, ci sono molti vantaggi per l'istruzione, quindi i problemi che devono affrontare coloro che non ce l'hanno meritano un discorso a parte.

C'era una volta un uomo che faceva un lavoro lontano da un ai-ti, forse ha avuto successo, ma la crisi del 2008 è arrivata, la vita è diventata più dura. Poi c'è stato il Maidan del 2013, l'annessione della Crimea, la guerra in Donbass, il dollaro schizzato alle stelle e la vita è diventata molto difficile. E all'improvviso il nostro eroe ricorda che all'istituto (scuola / asilo) ha programmato bene in Pascal (ha ottenuto cinque all'esame / ha risposto con successo alla domanda / ha saputo accendere il computer). "Eureka, vado all'IT, pagano molto e il lavoro è interessante."

Se uno studente-programmatore non ha esperienza e il compito è solo (!) Per ottenerlo, l'interruttore è sette miglia prima e tutto è nel bosco: devi determinare cosa fare e acquisire conoscenze. La faccenda, devo dirlo subito, non è facile, quindi le persone sono giustamente sopraffatte dai dubbi: ci riuscirò, ne vale la candela, o forse bene, nafig? Cominciamo con questo.

Ci riuscirò?

Destino è una parola molto comoda per chi non prende mai decisioni!
© Jodie Foster

C'era una volta, quando un programmatore con esperienza guadagnava meno di una segretaria da un istituto di ricerca post-sovietico, la programmazione era il destino dei nerd in maglioni allungati. La tendenza "ad entrare nell'IT" è stata quindi assente. Ma a poco a poco, l'outsourcing è arrivato nel paese. I guadagni dei fondatori degli uffici IT erano proibitivi: i bassi stipendi ucraini erano combinati con uno spreco, ma ancora un tasso esterno. Ad esempio, nel 2004, un programmatore è stato pagato $ 2 per un'ora di lavoro e ha venduto quest'ora per $ 15. Pertanto, i programmatori hanno iniziato a prendere tutti coloro che sono in grado di scrivere un programma "ciao mondo", ai tester - chi può accendere il computer. Più di sei volte la differenza tra le tariffe interne ed esterne ha coperto i costi. Questo periodo benedetto è durato fino al 2008 circa. C'erano poche persone che desideravano entrare nell'IT da altre specialità, perché i guadagni del programmatore, sebbene fossero cresciuti, non arrivavano, ahimè, a un installatore di condizionatori.

Nel 2008 è scoppiata una crisi, tutti sono stati licenziati, programmatori compresi, ma meno degli altri e hanno assunto altri lavori. Qualcuno (come l'autore) ha ottenuto un lavoro quasi subito dopo il licenziamento. Qualcuno tra un mese o due, ma durante la crisi gli operai delle tastiere erano ben nutriti e anche abbastanza ben nutriti. Inoltre, il corso è cresciuto e finalmente i programmatori hanno iniziato a guadagnare seriamente più delle ragazze più prosperose dei concessionari di automobili. Di conseguenza, anche il flusso di coloro che lo desiderano e, di conseguenza, i requisiti per loro hanno iniziato a crescere, e questa crescita continua fino ad oggi. Inoltre, se nel 2008 era necessario disporre di conoscenze teoriche per un impiego di successo, ora è necessario che un principiante abbia un qualche tipo di esperienza. Cioè, per ottenere un lavoro, un programmatore deve avere esperienza nella scrittura di programmi reali, almeno piccoli e non commerciali. Per il tester: comprovata esperienza nelle applicazioni di test.

Quindi vediamo: i requisiti sono aumentati di un ordine di grandezza. 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, nella migliore delle ipotesi, passeranno due anni dall'inizio della formazione all'occupazione. Hai l'opportunità e la motivazione per lavorare sodo per due anni dopo il lavoro (anzi, mezza giornata)? Se c'è, va bene, ma ho una sorpresa per te: nessuno ti garantisce che durerai più di una settimana al tuo primo lavoro! Junior, soprattutto un tirocinante, sono le posizioni più vulnerabili.

Un'altra cosa importante è l'inglese. I clienti in Ucraina sono interamente stranieri, il mercato interno è morto. Pensi che impareranno il russo/ucraino per il bene di un tirocinante di talento, ma ancora molto poco capace? Coloro che hanno l'inglese, ovviamente, lo trovano più facile. Chi non ha - impariamo. Come vuoi?

Da qui l'allarmante conclusione:

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

Pesalo bene, te lo puoi permettere?

Per non impazzire, lo studio dovrebbe diventare il tuo hobby.

Credimi, fare ogni giorno qualcosa che ti fa star male è la strada per il durke, 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 essa. Una buona pratica è scrivere i tuoi obiettivi su un pezzo di carta, appenderlo davanti agli occhi e leggerlo ogni giorno. Ancora meglio è andare da uno psicologo, si metterà presto in mente per quanto riguarda la motivazione. Chi ha bisogno di questo, scriva in un personale.

Mandiamo via i demotivatori

Ci sarà qualcuno che dirà: "fi, è andato a programmare non per il richiamo del suo cuore, ma perché voleva mangiare" Oppure: "già vecchio - dove dovresti studiare?" Oppure: "questo non è per il tuo cervello" - sentiti libero di inviarli. In casi trascurati separatamente, i consulenti non invitati possono persino essere battuti. Come mai? Quindi un occhio nero si calma molto più velocemente di uno stomaco vuoto! Inoltre, poiché questi consulenti non vogliono davvero aiutarti, basta grattare il tuo senso di auto-importanza su di te, spingendoti in una pozzanghera lungo la strada. Non avere soldi, negare ciò che è necessario non solo a te stesso, ma anche a chi ti è vicino, vegetare di essere capace di più: questo è volgare, disgustoso e disgustoso.

Guadagnare onestamente per te e la tua famiglia è abbastanza buono e corretto.

Da dove iniziare, o scegliere un percorso

I miei anni stanno crescendo
saranno diciassette.
Dove lavoro allora
Cosa fare?
© Majakovskij

Bene, abbiamo capito la motivazione: cosa facciamo dopo? All'inizio, imparare l'inglese, proprio adesso! Come ho scritto prima, senza di esso, purtroppo, non c'è niente da fare nell'IT!

In secondo luogo, scegliamo per cosa saremo pagati dai bei pezzi di carta verdi. Hai bisogno di qualcosa da padroneggiare abbastanza velocemente, ma ha anche pagato bene per questo. La prima cosa che viene in mente è il test manuale. Sembra che non ci sia bisogno di una conoscenza speciale per cominciare, delle qualità generali solo attenzione e perseveranza. Imparerò le specifiche dei programmi testati lungo la strada. Andrò ai corsi, finirò e cercherò lavoro. Ahimè, la soglia di ingresso eccessivamente bassa ha giocato uno scherzo crudele con più di un nuovo arrivato. Il fatto è che fino a poco tempo fa fino a mille (!) CV arrivavano a un posto vacante per junior tester. Perché fino a poco tempo fa? Sì, perché tali posti vacanti hanno cessato di apparire di pubblico dominio! Le aziende preferiscono assumere tester con una formazione specializzata dopo i propri corsi. E solo posti vacanti QA livello base Su due ordini meno quantità in cerca di lavoro.

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

Allo stesso tempo, non è affatto necessario diventare un programmatore.

Per alcuni basta semplicemente cambiare settore, facendo affidamento su competenze pregresse. Ad esempio, invece di un contabile in un'azienda di salsicce, diventa lo stesso nell'ufficio di un programmatore. Se sai come lavorare con le persone (camerieri, assistenti di volo, hostess) - una strada diretta per i responsabili dell'ufficio. Eri un capo - vai dal manager, uno psicologo - da reclutatori e risorse umane. Ma cosa succede se vuoi ancora diventare un programmatore? Diventa, cos'altro! Ma cosa studiare, questa è la domanda? La risposta è nel paragrafo successivo.

Cosa e come insegnare per diventare un programmatore

Ai bambini bisogna insegnare cosa sarà loro utile da grandi
© Aristippo

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

Il primo problema: un linguaggio qualsiasi non esiste da solo, ma insieme a strumenti: compilatori o interpreti, di cui possono essercene diversi, librerie e framework (in framework inglese) e approcci tipici utilizzati all'interno del dominio. Quindi, il punto è che una delle possibili specializzazioni per le lingue specificate(possibilmente diverso da Android) suggerisce una soglia di ingresso elevata... In altre parole, dovrai studiare per un tempo particolarmente lungo. Per questo consiglio a chi si sta riqualificando specializzazioni con tempi di ingresso bassi: si tratta, prima di tutto, di programmazione frontend con JavaScript e linguaggi correlati, poi sviluppo di siti web con linguaggio PHP o Python, quindi lo sviluppo di applicazioni mobili per Android o iOS. Ma nello sviluppo di applicazioni aziendali su piattaforma JavaEE o .NET, soprattutto nella programmazione di sistema, big data o analisi dei dati, è meglio che gli switch non vengano coinvolti. Ci vorrà troppo tempo per imparare.

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

Lascia che siano abbastanza semplici, ma se una persona non può capovolgere una corda o scrivere un bubble sort, sarà difficile per lui lavorare su un vero progetto.

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

Come imparare

Il primo passo è imparare la lingua stessa, la sua sintassi. Per fare questo, prendiamo un libro in una delle lingue selezionate, lo leggiamo e ci assicuriamo di fare gli esercizi. Quindi iniziamo a studiare librerie comuni, in parallelo risolviamo problemi algoritmici: array, stringhe e così via. Dopo che il linguaggio e il numero minimo di algoritmi sono più o meno padroneggiati, si procede allo studio delle librerie e dei framework (framework) comuni per questo linguaggio. Il fatto è che la conoscenza iniziale di socket, servizi web, librerie per unit test, richieste HTTP è un must per qualsiasi programmatore, indipendentemente dalla specializzazione.

Il prossimo passo è studiare i modelli di progettazione. Successivamente, passiamo alla padronanza dei sistemi di controllo della versione e dei database, ad esempio 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 sul lato o sul server, in modo che le persone possano contemplare non solo il codice, ma anche i risultati di il tuo lavoro.

Solo allora puoi iniziare a cercare un lavoro.

Referenze per la specializzazione di programmatore Java per Android

  • Per una prima conoscenza della lingua, consiglio il libro di Jacob Fine "Programmazione in Java per bambini, genitori, nonni".
  • Dopo aver letto il libro, puoi passare al libro di Bruce Eckel "La filosofia di Java". Basta non prendere la versione tascabile in lingua russa: è abbreviata, non ci sono esercizi.
  • Trova un'edizione più recente o un'edizione inglese chiamata Thinking in java. Compiti di programmazione che cercano stupidamente su Google sulla questione dei "compiti algoritmici per le interviste".
  • O il libro di Zio Yakov "Java Programming 24-Hour Trainer" o il libro di Eckel "Thinking in java enterprise".
  • Per padroneggiare i modelli di progettazione, prendi il libro di Eckel Thinking java in patterns.

Per padroneggiare MySQL e git, puoi semplicemente usare la documentazione ufficiale. Dopodiché, puoi già iniziare a studiare Android stesso, ad esempio, secondo il libro "Android Application Development for Dummies" di Donn Felker. Dopodiché, consiglio di scrivere due o tre giochi e di metterli da parte. Allora puoi cercare 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 capisce, ma dove trovarlo? Rivolgetevi a chi scrive articoli, tiene blog (p.s. NON contattare l'autore, ne aiuto già qualcuno, e il tempo non è di gomma). Perché a loro? È solo che se una persona dà consigli di propria iniziativa, molto probabilmente accetterà di aiutare quando gli viene chiesto. Inoltre, un mentore deve avere le capacità di un insegnante, in una certa misura un guru, non tutti i signori super-duper-duper le hanno.

Devi porre le domande in questo ordine:

  1. All'inizio, cerchiamo di trovare una soluzione noi stessi.
  2. Se non funziona, cercalo su Google.
  3. Se ancora non funziona, fai una domanda su Stackowerflow o su un altro forum, ma è meglio porre più domande contemporaneamente. Dopo aver fatto una domanda, l'abbiamo letta, 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 fare nulla, tranne i casi in cui paghi per l'aiuto. Cioè, se non ti hanno risposto, o non hanno risposto in modo sufficientemente dettagliato, o il mentore non conosce la risposta, il massimo che puoi fare è chiedere molto educatamente, dicono, non hai trovi accidentalmente il tempo per la mia domanda? Questo non è affatto perché il mentore si considera l'ombelico della terra. È la tua stessa persona, con una famiglia, un hobby, i suoi problemi. E, ahimè, i suoi compiti sono molto più importanti per lui del fastidioso Padawan, che ancora una volta ha letto distrattamente il manuale

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

Cos'altro fa? Se chiedi a un mentore e ti dà consigli, usalo! Se non lo usi, non lamentarti che non funziona. Ho un amico che mi chiede circa una volta al mese: “cosa devo fare?”. Le dico, in dettaglio, che arriva tra un mese senza soddisfare assolutamente nulla dai miei consigli! Il ciclo si ripete di nuovo. Inutile dire che i suoi risultati sono tristi?

Corsi, possono aiutare?

Dipende da cosa ti aspetti da loro. Se l'introduzione alla specialità, sicuramente - sì. Buoni corsi ti aiuteranno in questo. Ma, sottolineo, sono buoni. Come li trovi? Pensiamo: quanto guadagna un programmatore in grado di tenere corsi all'ora? Esatto, da $ 20, un po' più in alto. Diciamo che ci sono 10 persone in un gruppo. Lezioni bisettimanali + attività pratiche, che richiedono anche del tempo per essere verificate. Cioè, l'insegnante dovrebbe dedicare almeno 15 ore a settimana alla tua formazione, più probabilmente 20 (devi prepararti per le lezioni) 20 * 20 = 400 dollari - lo stipendio minimo per un docente. Ad esso si aggiungono almeno altri 200 (affitto locali, materiali di consumo, utile ufficio). Ci sono quattro settimane 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 otteniamo $ 260 a persona al mese. Al cambio attuale di trenta dollari, saranno 7800 grivna. Chiaro?

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

Ma mettilo sul naso: non un singolo corso ti darà tutte le conoscenze. Un'altra lusinga è la promessa di un'occupazione al cento per cento.

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

Come ottenere il tuo primo lavoro e cosa fare lì

Il lavoro più difficile è la mancanza di esso!
© Ruben Bagautdinov

Bene, le prime informazioni dalla programmazione sono state ricevute. E sei ispirato a iniziare a inviare il tuo curriculum. Pensi che Google e Microsoft combatteranno per te con i flagelli? Guarda la situazione dal punto di vista del datore di lavoro: arriva uno sconosciuto, ha una formazione legale, ha 27 anni e il suo inglese è nella media. Dice che sa qualcosa, onestamente, onestamente, ma ahimè - non ci sono prove di ciò. Lo porterai al lavoro?

Cosa si può fare? Esatto, mostra la prova 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 con la propria faccia. Pensi che ti abbiano preso rr-time dopo? No, non l'hanno fatto, ma senza i progetti implementati, non c'è alcuna possibilità. Il fatto è che al datore di lavoro potrebbe non piacere qualcosa, sei ancora un principiante. Come essere? Esatto, devi chiedere molto educatamente di evidenziare le carenze, grazie per il tuo tempo ed eliminare queste carenze. Poi vai al datore di lavoro successivo e così via fino ad ottenere la posizione desiderata. E, naturalmente, in parallelo, leggi la teoria, in modo che i denti volino via. Tuttavia, il progetto in produzione è ancora la cosa più importante: è la tua guida al mondo dei grandi soldi.

Conoscevo ragazzi che insegnavano schemi di programmazione parallela, orientati agli aspetti, dinamici e chissà cos'altro, mentre mi chiedevo: "perché non vengo assunto per lavorare?" Perché non c'è niente da mostrare! Puoi discutere a lungo sulla qualità del codice, ma che senso ha se non hai mai fatto un vero lavoro?

I vantaggi di un maglione

Laureato in un'università con una laurea in analisi di software o sistemi, durante un'intera giornata lavorativa per cinque anni, ha studiato ciò che hai imparato durante l'anno la sera, a frammenti. Ha studiato sotto la guida di mentori esperti, ha svolto attività di laboratorio, ha praticato. Certo, conosce meglio la teoria! Ovviamente puoi dire, dicono, conosciamo queste università post-sovietiche, ma ti assicuro: uno studente di KPI o Shevchenko University che vuole acquisire conoscenze, sì, ha questa opportunità. Ma ci sono vantaggi anche per te. Il fatto è che un laureato è un "giovane ishsho", spesso (ma non tutti) ha il 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 con sobrietà i tempi di qualsiasi lavoro, essere in grado di dire la parola "no", ammettere i tuoi errori e avere un approccio pragmatico a qualsiasi situazione di vita.

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

Ad esempio, dove un laureato nominerà termini piacevoli all'orecchio del manager, tu, da adulto, dici educatamente ma con fermezza: non puoi fare questo lavoro più velocemente, semplicemente non puoi. Meglio lasciare che il capo sperimenti qualche minuto spiacevole ora, ma scopri il problema in anticipo, piuttosto che essere falsamente sicuro 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ì, dovrebbe fornire almeno il minimo necessario, beh, affittare un letto lì, vestirsi in un negozio di seconda mano e mangiare più della semplice pasta, ma non cercare di contrattare! Ci sono molti junior sul mercato, ci sono anche quelli con una formazione specializzata. E ho scritto sopra che hanno dei vantaggi. Ecco perchè, ricevuto un'offerta - annuisci felice e vai a lavorare... Su di esso, a proposito, devi ancora 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. Finito questo o semplicemente 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... Ancora buon modo: prenditi una vacanza dal tuo attuale lavoro e fai uno stage/periodo di prova. E solo se è stato completato con successo, esci da quello vecchio. È difficile, sono d'accordo, ma nelle tue mani, forse, una famiglia, altre persone vicine - non puoi rischiare il loro futuro.

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

Anche al primo lavoro, non è necessario entrare in bottiglia. Come ha detto un mio amico capogruppo: "Il problema per gli studenti non è tanto che non conoscono le biblioteche, quanto piuttosto che non sanno lavorare in squadra". Ad esempio, se il tuo lavoro viene criticato, in realtà è un favore. Non c'è bisogno di scuse, tanto più di giurare - al massimo, è molto corretto chiedere di spiegare cosa esattamente non va. Bene, corri per correggere gli errori. D'altra parte, non bisogna aver paura nemmeno di loro. Dopotutto, sei un principiante, hai il diritto di sbagliare.

Accade così che incontri difficoltà nel tuo lavoro. Va bene chiedere? Certo che si! Ma devi comportarti allo stesso modo di un mentore: prima te stesso, poi google, poi vai al forum e solo dopo fai domande.

Quanto ti serve per lavorare al tuo primo lavoro? Se non ci sono altri accordi con il datore di lavoro, allora almeno sei mesi, ma meglio un anno. Per tutto questo tempo, studio duramente: modelli principali, modelli, strutture, metriche. E dopo già guardati intorno e prova a parlare di aumentare gli stipendi. Una persona che ha lavorato per un anno si trasforma, no, non in una persona di mezzo, ma in un giovane fiducioso - è già braccato dalle cacce, ha dimostrato che può!

Allo stesso tempo, gli accordi devono essere rispettati. Ho concordato che lavorerai per almeno due anni - fallo. Hai accettato di finire il progetto? Finiscilo! Karma, è così: con quale misura misuri, questo sarà misurato per te.

Tuttavia, l'adempimento degli accordi non deve essere confuso con il senso di colpa. Mi spiego con un esempio. Hai lavorato per un anno, hai alzato il tuo livello e ora ti viene offerto un altro lavoro. Vale la pena essere tormentati, dicono, com'è, mi hanno insegnato, e sono un tale bastardo che se ne va? Se hai fatto tutto quello che eri d'accordo, no, non dovresti. Ecco perché: il dipendente viene accolto non per grande gentilezza, ma in attesa di profitto. Se hai lavorato per un anno, il tuo reddito ha superato la spesa, altrimenti saresti stato licenziato molto tempo fa. Quindi tutto è in ordine. Io stesso ero preoccupato, dicono, come può essere che il progetto senza di me si trovi in ​​una situazione difficile. Ha lasciato il lavoro e non è successo niente, quindi non sopravvalutare la tua importanza.

Se un'azienda IT non viene assunta o un luogo di lavoro alternativo

Succede. Bene, siediti e aspetta il tempo in riva al mare? Niente affatto: contatta un'agenzia governativa, preferibilmente un istituto di ricerca. Gli uffici statali di solito hanno pochi soldi, ma i compiti di programmazione sorgono e sono spesso piuttosto complessi. Ad esempio, il mio primo lavoro è stato l'Osservatorio Astronomico Nikolaev (NII NAO). Quello che non ho fatto lì: elaborazione dei risultati di osservazioni astronomiche, statistiche matematiche, sviluppo web, database. Ora parlano molto di bigdata, e quindi ho avuto problemi con questi bigdata nel 2005. Chi non crede può ricordare il vecchio adagio “ce ne sono tante come le stelle nel cielo” o la frase “numeri astronomici”. È vero, dovevo portare le scatole, ma non è così spaventoso.

C'è un "ma" che è sia un più che un meno. I professionisti siedono in istituti di ricerca il cui oggetto di ricerca non è la programmazione: è importante per loro che i programmi funzionino senza errori fondamentali e vengano creati con una velocità accettabile. Pertanto, nessuno si concentrerà sul seguire le migliori pratiche, sull'utilizzo di unit test, sulla corretta scomposizione, sulla disponibilità di commenti e così via. Devi occupartene tu stesso, se non per motivi di lavoro, almeno per motivi di studio individuale. 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 obsolete, ti guarderanno con occhi diversi. Hai, seppur marginale, esperienza. Non dovrebbe essere sopravvalutato, ma è chiaramente meglio di niente.

Hai 40 anni o combatti la discriminazione

La società post-sovietica, purtroppo, è molto inerte e votata al pregiudizio. Ad esempio, si ritiene che un subordinato debba necessariamente essere più giovane del capo, si dice, in modo diverso, il capo non sarà rispettato. Inoltre, un tirocinante non può essere un solido zio quarantenne. C'è anche un'opinione secondo cui una volta raggiunta la maturità, è generalmente imbarazzante lavorare in una posizione ordinaria, indipendentemente dalla retribuzione. Ci sono anche altri stereotipi. Ebbene, lì il programmatore deve essere necessariamente un maniaco del lavoro, vivere solo di lavoro, una bella donna è necessariamente stupida (il che significa che non può svolgere compiti più difficili che fare il caffè). Di conseguenza, questo si traduce in una frase fastidiosa: "Hai buone capacità tecniche, ma, sfortunatamente, non ti inserirai nella squadra". Poiché non esiste una ricetta per l'eterna giovinezza, bisogna fare qualcosa.

  • Innanzitutto, puoi cercare un lavoro con la leadership occidentale. Di norma, in Europa e negli Stati Uniti, l'approccio alle differenze di genere e di età è più semplice: se una persona ha conoscenze e può lavorare per motivi di salute, è adatto. In generale, in Occidente, per quanto ne so, si verificano altre tradizioni da un lato dovute alla lotta legislativa contro la discriminazione (basta cercare di rifiutare a causa dell'età, della nazionalità o del sesso - le multe saranno "rinfrescante"), dall'altro d'altra parte, l'attenzione è principalmente sul fare soldi ... Al contrario, in alcuni uffici domestici il motto è ancora: "Non ariamo, non seminiamo, non costruiamo, siamo orgogliosi del sistema sociale" e chi non condivide convinzioni politiche, sociali o di altro tipo è nemico , non dovrebbe essere assunto.
  • In secondo luogo, il freelance resta una salvezza per chi è più anziano o, per una serie di motivi, non può lavorare in ufficio. Ho scritto che è difficile e non adatto a tutti, ma il passaggio ha una serie dei vantaggi di cui sopra. In ogni caso, se non lo provi, non funzionerà di sicuro! Al cliente freelance non interessa come appare la persona dall'altra parte, è importante che il lavoro venga svolto in tempo e con una qualità accettabile. Quindi, se non portano da nessuna parte, puoi pensare a questo tipo di guadagni.

La storia di un utente su sedia a rotelle

In conclusione, voglio parlarti di un passaggio dalla Siberia: un utente su sedia a rotelle. L'uomo è un ex uomo d'affari, ha avuto un incidente sul suo SUV: frattura da compressione della colonna vertebrale + problemi alle mani + Dio sa cos'altro.

Per scrivere il codice, doveva girare le mani, i palmi verso l'alto e premere i tasti con le nocche, il che non era altrimenti.

Nella mia memoria, mi sono rivolto a una delle personalità famose nel mondo della programmazione con una richiesta di aiuto nei miei studi.La sua motivazione non era nemmeno la sopravvivenza personale: voleva aiutare le sue figlie.

Un ragazzo ha frequentato corsi a distanza e pochi mesi dopo ha ottenuto il suo primo lavoro: scrivere XML e creare XPaths. Ora lavora con successo da remoto, riceve uno stipendio da programmatore in dollari. Sasha, se leggi questo, ti saluto e ti mando raggi di bontà, sei grande!

Ricorda questa persona quando giustifichi il tuo 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 ci è riuscito, non vedo motivo per non avere successo in te.

Ti auguro successo nel mastering!

Un po' di motivazione



"Con quale linguaggio di programmazione dovrei iniziare?" - questa è la domanda che spesso si pongono le persone che decidono di provare ad imparare a programmare. Cinque anni fa era possibile consigliare di imparare a programmare in BASIC, ma questo momento questa è una totale idiozia, poiché il BASIC è già un antico fossile. Sì, ora molte persone possono consigliare 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é il BASIC né il Visual Basic come linguaggio per l'apprendimento della programmazione.
Propongo di considerare due casi:

1. Stai bene con la matematica e la fisica, puoi facilmente memorizzare formule piuttosto complesse, non hai paura di vari simboli incomprensibili.
In questo caso, vale la pena 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, la sala operatoria è scritta in questa lingua. Sistema Windows e quasi tutti giochi per computer che suoni.

Se opti per 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 manuale di Herbert Schildt.

Riferimento C++

Riferimento completo per C ++. Il libro è un bestseller ed è stato pubblicato per la quarta volta. 4a edizione. La quarta edizione di questo libro descrive e illustra completamente tutto parole chiave, funzioni, classi e proprietà del linguaggio C++, corrispondente 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++, compresa la sua base: il linguaggio C. Il manuale è composto da cinque parti: 1) un sottoinsieme di C; 2) il linguaggio C++; 3) una libreria di funzioni standard; 4) libreria di classi standard; 5) Applicazioni C++. Il libro è destinato a una vasta gamma di programmatori.
Ordina un libro >>

2. Con la matematica hai dei problemi, non riesci a digerire formule e simboli incomprensibili, ma vuoi comunque imparare a programmare.
Bene, qualunque cosa tu possa dire, ma è meglio provare Pascal. Sì, anche questo è un fossile, ma sia come sia, il linguaggio di programmazione Pascal è stato originariamente concepito come un linguaggio per insegnare la programmazione.
Per lo studio autonomo della programmazione in Pascal, puoi acquistare un libro. Posso consigliare quanto segue:

Tutorial Pascal

Programmazione Pasquale.
Scritto da Sam Abolrus. Il titolo originale del libro tradotto dall'inglese è “Learning Pascal in Three Days”. In effetti, puoi padroneggiare le basi della programmazione in Pascal con l'aiuto di questo libro in un paio di giorni. L'autore è un programmatore presso Microsoft.
Ordina un 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 alle prime armi.

La programmazione è diventata mainstream, una tendenza di moda su scala globale. Grandi e piccini scoprono questo mondo meraviglioso. Negli Stati Uniti si è arrivati ​​al punto che il presidente stesso sta parlando l'intero paese sui vantaggi dell'apprendimento della programmazione.

Internet offre a tutti molti modi per imparare l'arte della programmazione, dalla Codeacademy gratuita ai costosi corsi multi-mille come Devbootcamp che promettono di trasformare una teiera in un programmatore esperto in 9 settimane.

Devo studiare programmazione appositamente per me?

Noi di Lifehacker crediamo che, in ogni caso, la risposta sia sì. Anche se le cose non vanno lontano e rimangono solo una specie di hobby nel nostro tempo libero, la programmazione fa comunque funzionare il nostro cervello, il che è sempre positivo.

Se guardi al campo degli affari, le capacità di programmazione saranno utili a chiunque il cui lavoro sia legato alla tecnologia.

Greg Pollack, fondatore del servizio di formazione Code School, si esprime così:

Chiunque, a causa del formato del proprio lavoro, sia costretto a comunicare con gli sviluppatori, dovrebbe conoscere le basi della programmazione.

Ciò rende più facile trovare un linguaggio comune e risolvere in modo costruttivo e competente tutte le sfumature che emergono nel processo di interazione tra persone di diverse professioni.

Sono troppo vecchio per questo?

Da dove cominciare

Impara l'inglese. Sul serio. Di seguito nel testo dell'articolo capirai perché hai bisogno dell'inglese per padroneggiare con successo la professione di programmatore. Qualcosa viene russificato, qualcosa viene adattato dagli appassionati, ma resta il fatto: devi conoscere l'inglese.

Se al momento sei interessato al concetto stesso di programmazione, allora puoi iniziare da qualsiasi luogo. Giocherai con lingue differenti e ambienti, troverai qualcosa che ti piace di più, beh, allora come va. Tuttavia, molti obiettivi vanno molto oltre l'astratto "Voglio essere in grado di programmare". Hanno un obiettivo preciso. Ad esempio, scrivi il tuo app mobile... E qui abbiamo già bisogno di strumenti di sviluppo corretti abbastanza definiti.

Non so nulla

Nel caso in cui non ci sia alcuna esperienza, è meglio iniziare con qualcosa di più facile da capire. Buoni esempi ci possono essere nozioni di base di HTML e CSS.

L'HTML non è un linguaggio di programmazione, è un linguaggio di markup. Grazie ad esso, sarai in grado di presentare parole, immagini, collegamenti e video in un formato comprensibile dal browser. È qui che iniziano i semplici siti e blog amatoriali. CSS è responsabile dei caratteri, delle dimensioni dei caratteri, del posizionamento degli elementi e di altre considerazioni di progettazione per la presentazione delle pagine web.

In effetti, molto probabilmente ti sei già occupato di HTML, semplicemente non lo sapevi. Se hai o hai avuto un blog, sei sicuro di imbatterti in markup. Qualsiasi editor WYSIWYG sano presenta il contenuto sia in modalità visiva che testuale. Vale la pena esaminare la modalità testo della vista e lì troverai lo stesso HTML. Una comprensione più profonda dell'HTML ti aiuterà ad andare oltre le capacità visibili dell'editor del tuo blog o sito, renderà le pagine del tuo angolo su Internet più funzionali e interessanti. In generale, l'apprendimento dell'HTML è utile, qualunque cosa si possa dire.

Voglio creare bellissime applicazioni web

In questo caso, è necessaria la conoscenza di JavaScript. È lui che ti permette di rendere i siti web più belli, efficaci e funzionali. Esistono diversi framework di sviluppo JavaScript popolari (e compatibili) come Ember, Angular e Backbone.

JavaScript esiste da 20 anni e non andrà da nessuna parte. In effetti, il suo dominio in campo è solo in aumento. Grazie alla sua popolarità, JavaScript ha molto da imparare. Ad esempio, Pollack, menzionato sopra, definisce i corsi in questa lingua i più popolari alla Code School.

Se stai facendo qualcosa sul web, allora devi imparare JavaScript.

Voglio realizzare prototipi velocemente

Se sei un designer e vuoi acquisire alcune abilità di programmazione backend per testare le applicazioni da solo, allora devi imparare Ruby o Python. Entrambe le opzioni sono abbastanza facili da imparare e aprono la strada ad alcune delle specialità più richieste del 2013. Come puoi immaginare, la loro rilevanza continuerà per il prossimo futuro.

Ruby ha un ecosistema sviluppato e una delle comunità più attive e reattive. Sviluppato nel 1995, il linguaggio ha iniziato a guadagnare particolare popolarità dal 2003, quando è apparso il framework Rails. Grazie a lui, i processi di creazione di siti web e applicazioni web sono stati notevolmente semplificati.

Python vanta anche una potente comunità, e se sei impressionato dalle sfide dello sviluppo e della costruzione di intelligenza artificiale e cose così interessanti, allora sei caro a Python.

Per un rapido avvio, consiglio Learn Python The Hard Way o la sezione Ruby di Code Academy.

Voglio creare un'applicazione Android

Lo sviluppo di applicazioni Android avviene principalmente in Java. Il bello è che sia Windows che OS X funzioneranno per te OS fornire la possibilità di installare ambienti di sviluppo per Android. Un altro vantaggio è la possibilità di testare le tue app con un budget limitato, poiché sul mercato ci sono tonnellate di smartphone e tablet Android economici.

Un altro punto molto importante: se solo un paio di anni fa la piattaforma chiave era iOS, ora gli sviluppatori preferiscono iniziare con Android.

Un corso introduttivo gratuito alla programmazione Java è disponibile su Udacity. Una volta apprese le basi, il tuo percorso sarà verso il sito ufficiale degli sviluppatori Android. Qui puoi imparare le complessità della creazione del tuo primo progetto Android.

Voglio creare un'applicazione iOS

Lo sviluppo di IOS richiede molto più strumenti. Oltre alla conoscenza di Objective-C, avrai bisogno di un Mac con OS X versione 10.7 o successiva, Xcode - strumento gratuito per la creazione di app e un kit di sviluppo iOS.