Limbaje de programare la nivel înalt și la nivel scăzut: pe care ar trebui să le înveți?

27.09.2019 Interesant

Programarea este o întreagă știință care vă permite să creați programe de calculator. Include un număr mare de operații și algoritmi diferiți care formează un singur limbaj de programare. Deci, ce este și care sunt diferitele limbaje de programare? Articolul oferă răspunsuri și oferă, de asemenea, o listă generală a limbajelor de programare.

Istoria apariției și schimbărilor limbajelor de program ar trebui studiată împreună cu istoria dezvoltării tehnologia calculatoarelor, deoarece aceste concepte sunt direct legate între ele. Fără limbaje de programare, ar fi imposibil să se creeze vreun program pentru ca un computer să funcționeze, ceea ce înseamnă că crearea computerelor ar deveni un exercițiu inutil.

Primul limbaj de mașină a fost inventat în 1941 de Konrad Zuse, care este inventatorul motorului analitic. Puțin mai târziu, în 1943, Howard Aiken a creat mașina Mark 1, capabilă să citească instrucțiuni la nivelul codului mașinii.

În anii 1950, a început cererea activă de dezvoltare software, iar limbajul mașină nu a putut gestiona cantități mari de cod, așa că a fost creat Metoda noua comunicarea cu calculatoarele. „Assembler” este primul limbaj mnemonic care înlocuiește instrucțiunile mașinii. De-a lungul anilor, lista limbajelor de programare crește doar, deoarece domeniul de aplicare al tehnologiei informatice devine mai larg.

Clasificarea limbajelor de programare

Pe acest moment Există peste 300 de limbaje de programare. Fiecare dintre ele are propriile caracteristici și este potrivit pentru o anumită sarcină. Toate limbajele de programare pot fi împărțite în mai multe grupuri:

  • Orientat pe aspect (ideea principală este separarea funcționalității pentru a crește eficiența modulelor software).
  • Structural (bazat pe ideea de a crea structura ierarhica blocuri de program individuale).
  • Logic (bazat pe teoria aparatului logicii matematice și a regulilor de rezoluție).
  • Orientat pe obiecte (în astfel de programare nu mai sunt folosiți algoritmi, ci obiecte care aparțin unei anumite clase).
  • Multi-paradigmă (combină mai multe paradigme, iar programatorul însuși decide ce limbaj să folosească într-un caz dat).
  • Funcțional (elementele principale sunt funcții care își modifică valoarea în funcție de rezultatele calculelor datelor sursă).

Programare pentru începători

Mulți oameni se întreabă ce este programarea? În esență, este o modalitate de a comunica cu un computer. Datorită limbajelor de programare, putem pune înainte diverse dispozitive sarcini specifice, crearea aplicatii speciale sau programe. Când studiezi această știință în stadiul inițial, cel mai important lucru este să alegi limbaje de programare potrivite (interesante pentru tine). O listă pentru începători este prezentată mai jos:

  • Basic a fost inventat în 1964, aparține familiei de limbaje de nivel înalt și este folosit pentru scrierea de programe de aplicație.
  • Python este destul de ușor de învățat datorită sintaxei sale simple și lizibile, dar avantajul este că poate fi folosit pentru a crea atât programe desktop obișnuite, cât și aplicații web.
  • Pascal este una dintre cele mai vechi limbi (1969) creată pentru predarea studenților. Modificarea sa modernă este strict tipificată și structurată, dar Pascal este un limbaj complet logic, care este de înțeles la nivel intuitiv.

Nu este lista plina limbaje de programare pentru începători. Există un număr mare de sintaxe care sunt ușor de înțeles și cu siguranță vor fi solicitate în următorii ani. Fiecare are dreptul să aleagă în mod independent direcția care va fi interesantă pentru el.

Începătorii au ocazia să-și accelereze învățarea programării și a bazelor acesteia datorită instrumentelor speciale. Asistentul principal este un mediu de dezvoltare integrat pentru programe și aplicații Visual Basic(„Visual BASIC” este, de asemenea, un limbaj de programare care moștenește stilul limbajului Basic al anilor 1970).

Nivelurile limbajelor de programare

Toate limbajele formalizate destinate creării, descrierii de programe și algoritmi pentru rezolvarea problemelor pe computere sunt împărțite în două categorii principale: limbaje de programare de nivel scăzut (lista este prezentată mai jos) și de nivel înalt. Să vorbim despre fiecare dintre ele separat.

Limbile de nivel scăzut sunt concepute pentru a crea instrucțiuni de mașină pentru procesoare. Principalul lor avantaj este că folosesc notații mnemonice, adică, în loc de o secvență de zerouri și unu (din sistemul de numere binar), computerul își amintește un cuvânt abreviat semnificativ din limba engleză. Cel mai limbi cunoscute nivelul scăzut este „Assembler” (există mai multe subtipuri ale acestui limbaj, fiecare dintre ele având multe în comun, dar diferă doar printr-un set de directive și macro-uri suplimentare), CIL (disponibil în platforma .Net) și JAVA Bytecode.

Limbaje de programare la nivel înalt: listă

Limbile de nivel înalt sunt create pentru confort și eficiență mai mare a aplicațiilor, ele sunt exact opusul limbilor de nivel scăzut. Al lor trăsătură distinctivă- prezența constructelor semantice care descriu succint și concis structurile și algoritmii programelor. În limbile de nivel scăzut, descrierea lor în codul mașinii ar fi prea lungă și de neînțeles. Limbile de nivel înalt sunt independente de platformă. În schimb, compilatorii îndeplinesc funcția de traducător: traduc textul programului în instrucțiuni elementare ale mașinii.

Următoarea listă de limbaje de programare: C ("C"), C# ("C-sharp"), "Fortran", "Pascal", Java ("Java") - se numără printre cele mai utilizate sintaxe de nivel înalt. Are următoarele proprietăți: aceste limbaje funcționează cu structuri complexe, acceptă tipuri de date și operațiuni cu informații despre fișiere I/O și au, de asemenea, avantajul de a fi mult mai ușor de lucrat datorită lizibilității și sintaxei ușor de înțeles.

Cele mai utilizate limbaje de programare

În principiu, puteți scrie un program în orice limbă. Întrebarea este: va funcționa eficient și fără eșec? De aceea sa rezolvi diverse sarcini ar trebui să alegeți cele mai potrivite limbaje de programare. Lista după popularitate poate fi descrisă după cum urmează:

  • Limbaje OOP: Java, C++, Python, PHP, VisualBasic și JavaScript;
  • grup de limbaje structurale: Basic, Fortran și Pascal;
  • multi-paradigmă: C#, Delphi, Curry și Scala.

Domeniul de aplicare al programelor și aplicațiilor

Alegerea limbii în care este scris un anumit program depinde în mare măsură de zona de aplicare a acestuia. Deci, de exemplu, pentru lucrul cu hardware-ul computerului în sine (drivere de scriere și programe de suport), cea mai bună opțiune ar fi C ("C") sau C++, care sunt incluse în principalele limbaje de programare (vezi lista de mai sus) . Și pentru a dezvolta aplicații mobile, inclusiv jocuri, ar trebui să alegeți Java sau C# („C-sharp”).

Dacă nu v-ați decis încă în ce direcție să lucrați, vă recomandăm să începeți să studiați cu C sau C++. Au o sintaxă foarte clară și o împărțire structurală clară în clase și funcții. În plus, cunoscând C sau C++, puteți învăța cu ușurință orice alt limbaj de programare.

De la programatorii începători, sună așa: „Cu ce ​​limbă ar trebui să încep?” Am adus experții noștri pentru a răspunde.

Totul depinde de zona pe care o alegi. Dacă doriți să lucrați direct cu hardware-ul, scrieți drivere și aplicatii diverse, pentru care se cere performanță maximă, - atunci doar C sau C++ va face. Dacă scopul tău sunt aplicații pentru telefoane mobile, merită să înveți Java sau Objective C, C#. Serverele web necesită go, python și php; pentru aplicații web - JavaScript.

Daca inca nu te-ai hotarat asupra zonei, poti alege in siguranta C/C++, pentru ca, cunoscand acest limbaj, poti invata cu usurinta oricare altul. Există un singur lucru care este important de reținut: ca un limbaj vorbit, un limbaj de programare este uitat dacă nu este utilizat în mod constant, așa că este mai bine să fii fluent în una sau două limbi decât să ai o cunoaștere superficială a unui un numar mare.

După părerea mea, un programator adevărat nu se limitează niciodată la a cunoaște o singură limbă. Și chiar dacă în viitor vei scrie drivere și aplicații de sistem, veți avea nevoie în continuare de unul dintre limbajele de scripting, cum ar fi perl sau python. Mai mult, cunoașterea limbajelor de scripting este acum pur și simplu necesară pentru orice programator, în ciuda specializării sale.

Promovați retrogradarea

Python este destul de potrivit pentru a învăța concepte generale de programare. Este un limbaj foarte popular, are multe biblioteci, sintaxa este ușor de citit și codul este destul de îngrijit. Principalele avantaje ale Python pentru începători sunt că este destul de comun și ușor de învățat. Puteți scrie cu ușurință atât aplicații web, cât și aplicații desktop obișnuite pe el. Depinzând de domeniul subiectului, trebuie să alegeți un limbaj orientat pe obiecte. De exemplu, dacă faceți programare de sisteme, atunci C++ este cel mai bun. Dacă dezvoltați o aplicație pentru întreprinderi ( Sisteme de informareîntreprinderi), atunci acesta este C# sau Java.

Promovați retrogradarea

La un moment dat am început cu Fortran și Pascal, de când îi aveam la institut. Apoi a fost C/C++, Visual Basic Script, PHP și Visual Basic, apoi C#, apoi puțin F#.

Pe baza experienței mele și a posibilității de a alege, am fost cel mai confortabil să dezvolt în C# și de aici aș începe. Cel mai mult, în ceea ce privește înțelegerea algoritmilor și mecanismelor de operare a sistemului de operare pentru care am scris, mi-a dat C++.

Promovați retrogradarea

Cred că cel mai bun loc pentru a începe să înveți este JavaScript. Datorită browserelor web, acest limbaj de programare este standardul de facto pentru crearea de aplicații web, una dintre zonele de dezvoltare cu cea mai rapidă creștere. Există și o carte excelentă gratuită despre el, „Elocvent JavaScript”, tradusă în rusă.

Promovați retrogradarea

Totul depinde de problema pe care vrei să o rezolvi. Cu toate acestea, dacă aceasta este prima ta limbă, aș recomanda o limbă puternic tastată scop general(C++, Java, .NET): nu veți fi pierdut cu ele în niciun caz și va fi ușor să treceți la oricare altul. Mai mult mod interesant pentru a înțelege ce limbă să studiați - accesați GitHub, căutați un subiect de interes și vedeți în ce scriu alți dezvoltatori.

Promovați retrogradarea

, evanghelist în tehnologie pentru Microsoft, conferențiar la MIPT, MAI, profesor la tabăra de copii JUNIO-R

Totul depinde de vârstă. Dacă decideți să învățați cu adevărat să programați de la o vârstă fragedă și nu aveți încă 12 ani, este mai bine să începeți cu limbaje grafice simple, cum ar fi Laboratorul de jocuri Kodu sau Zgârietură. Se crede că limbajele tradiționale de programare ar trebui să fie stăpânite după 12. Dintre limbajele tradiționale, C# a fost întotdeauna aproape de mine - are un mediu de dezvoltare bun și puteți programa totul: de la jocuri la Unitate, către site-uri web pe ASP .NET sau electronice. Pentru a învăța, puteți viziona tutoriale video sau puteți citi o carte C# pentru școlari.

Promovați retrogradarea

Aș recomanda ca începătorii să înțeleagă mai întâi că un limbaj este doar un instrument în munca unui programator. Da, desigur, este important să o mânuiți cu încredere pentru a crea programe bune, dar în primul rând ar trebui să fie priceperea dezvoltatorului, și nu limba în care scrie.

Dar din moment ce încă trebuie să începeți de undeva și studierea acelorași algoritmi și structuri de date în vid nu este foarte convenabilă, vă pot recomanda utilizarea limbajului C pentru aceasta. Este un nivel suficient de scăzut încât să nu introducă tone de zahăr sintactic și să ofere o înțelegere generală a modului în care funcționează computerul care rulează programul. Dar, în același timp, acesta nu este un limbaj de asamblare, ceea ce face posibilă concentrarea asupra lucrurilor generale fără a cheltui O Cea mai mare parte a efortului mental constă în amintirea tuturor numelor de sărituri și a valorilor înregistrate. Pentru literatură recomand clasicul

Diferite limbaje de programare și domeniile lor de aplicare. Prelegere în Yandex

Am decis să dedicăm prima noastră postare anul acesta unui subiect foarte de bază, o prelegere despre care a fost susținută la Small ShAD. La el participă liceeni care sunt interesați de tehnologie, de aici și specificul prezentării – prelegerea va fi deosebit de interesantă pentru cei care abia încep să programeze și se gândesc la ce direcție să se dezvolte. Pentru ei, Yandex are un curs „Introducere în programare (C++)”, care poate fi urmat pe platforma Stepic.org.

Lectorul Mikhail Gustokashin este curatorul programelor academice la Yandex, director al centrului pentru concursuri studențești de la Facultatea de Informatică a Școlii Superioare de Economie. Mihail a antrenat zeci de câștigători și câștigători ai olimpiadelor de programare din Rusia.

Prelecția vorbește despre ce limbaje de programare există, cum diferă, cum au apărut și care sunt mai bune și care sunt mai rele. La început, vom vorbi puțin despre istoria limbilor - cum au apărut, cum au început oamenii să programeze, cum s-a dezvoltat totul, ce se întâmplă acum. A doua parte va aborda sarcinile pentru care limba este potrivită, cum să „alegeți limba preferată și să vă bucurați de viață”. Lectorul va vorbi puțin și despre modul în care, în opinia sa, puteți învăța toate acestea și apoi obțineți un loc de muncă.

Ca întotdeauna, sub tăietură este o transcriere detaliată a prelegerii, astfel încât să puteți naviga prin conținutul acesteia.

Istoria limbajelor de programare

Să începem de la început. La început, computerele nu aveau nici măcar tastaturi! Adică totul era foarte rău – nu aveau nici tastatură, nici ecran, aveau doar cărți perforate (sunt lucruri mici cu orificii sau fără orificii). În consecință, fie au înfipt ace acolo, fie au strălucit acolo. Dacă există o gaură (sau invers nu) - asta însemna un zero sau unul. Și programele la acea vreme erau scrise folosind coduri de mașină - fiecare operație pe un computer (adunare, scădere, unele operații mai complexe) avea un fel de cod de mașină. Oamenii înșiși au ales acest cod dintr-un semn, tot felul de adrese în memorie, l-au scos totul cu mâinile și l-au pus în cititor - și totul a fost numărat. Desigur, munca unui programator nu era probabil deosebit de interesantă atunci - făcând găuri - și, odată cu dezvoltarea științei și tehnologiei, desigur, au început să vină cu tot felul de lucruri mai „interesante”. De exemplu, asamblator, care a făcut deja viața oarecum mai ușoară.

Ei bine, cum a făcut viața mai ușoară? În loc să ne amintim că a existat un fel de cod „magic” pentru echipă, au fost folosite tot felul de cuvinte asemănătoare cu „uman” Limba engleză- unele add sau mov - și apoi registre sau zone de memorie, variabile cu care trebuie efectuate aceste operații au fost enumerate. Dar este clar că acest lucru, în general, a necesitat și un efort mental destul de mare pentru a păstra în capul nostru în ce registru avem ce, unde sunt ce variabile și ce se întâmplă în general. De ce s-a întâmplat asta? Pentru că computerele erau „proști” și nu puteau înțelege nimic mai „inteligent”. De fapt, asamblarea codului de mașină de la asamblator necesită și timp și memorie (la vremea aceea, desigur, era puțin).

Treptat, a devenit clar că dezvoltarea unor programe atât de mari și complexe a fost foarte dificilă. Productivitatea programatorului în aceste echipe era extrem de scăzută – adică scria mai multe rânduri pe zi (semnificative), iar fiecare linie nu făcea nimic special – niște operații aritmetice simple. Și oamenii au vrut să facă limbile mult mai asemănătoare cu limba umană, în special cu engleza, pentru a face programele de scriere mai ușoare și mai convenabile. Și plecăm!

Limbi vechi și moarte

Una dintre primele limbi a fost Fortran. Apropo, a fost perforat și pe cărți perforate - existau cărți perforate speciale pentru perforarea programelor Fortran. Dar dacă iei acest Fortran acum, după părerea mea, este chiar undeva între 50-60. a aparut - si daca incerci sa scrii ceva pe el, vei fi foarte neplacut, iti garantez! Fortranul modern este încă în viață, dar este destul de diferit de ceea ce era înainte.

Alte limbi - acum voi scrie un lucru despre care probabil ați auzit doar la diferite evenimente în care se vorbește despre istoria programării - acesta este COBOL. Era un limbaj pentru scrierea aplicațiilor de afaceri. Ce sunt aplicațiile de afaceri? Unele tranzacții în bănci, altceva, toate acestea au fost scrise în Cobol. Desigur, nu este foarte popular aici. Cred că îți va fi foarte greu să găsești un programator Cobol la Moscova. Și undeva nu în Moscova - cu și mai mare dificultate. Dar, surprinzător, cu doar 10 ani în urmă, mai mult de jumătate din tot codul scris de omenire a fost scris în Cobol. Și până în prezent, o parte semnificativă a tuturor tranzacțiilor bancare sunt efectuate folosind programe scrise în el (COBOL), iar oamenii încă mai scriu ceva în el.

Există și un limbaj „amuzant”, s-a numit Algol (a 68-a versiune, care caracterizează anul creării sale). Acesta este un limbaj algoritmic. În general, au putut să facă ceva acolo, dar acum nu ne interesează prea mult ce pot face ei. Și cu aceasta putem termina excursia noastră în antichitate și în limbi relativ nefolosite și să trecem la ceea ce este încă viu (și trăiește activ).

Limbi vechi, dar vii

Algol a fost inventat în Europa, iar Fortran a fost folosit în principal în State - nu există diferențe mari. Ce tendință se observă? La început totul a fost complicat și ca să scrii trebuia să fii aproape inginer, inginer electrician, să înțelegi unde sunt conectate contactele și altceva pentru programare. Apoi trebuia să stai și cu bucățile de hârtie și să numeri amintirea, să ai grijă de ea. Și treptat totul a devenit mai simplu, mai simplu, mai simplu și apoi și mai simplu pentru programator - să gândească cât mai puțin pentru o persoană, să facă cât mai mult în mod automat. Pe la sfârșitul acestei perioade (lectorul arată către Algol și Kobol), încep să apară limbi care, într-un fel, au „supraviețuit” până în zilele noastre.

DE BAZĂ. Poate că unii oameni încă mai scriu ceva în el, cel puțin am văzut că în unele instituții predau în QBasic - există o fereastră albastră în care este scris „1989”. În general, el „trăiește cu toată puterea”! A fost inventat ca limbaj pentru non-programatori. La vremea aceea, un programator era o profesie atât de specializată. Și aici vă spun: „Avem un limbaj de bază cool și orice persoană rezonabilă poate scrie un program în el - este ușor.” Din nou, acel BASIC și BASIC modern sunt o diferență uriașă. Toate aceste rânduri numerotate după 10, tot felul de GOTO-uri și alte orori - nu mai au nimic de-a face cu BASIC-ul modern, și chiar și cu BASIC-ul din 1989 au puțin de-a face cu asta.

O altă poveste amuzantă este limba Pascal, cunoscută pe scară largă în cercurile universitare, mai ales în Rusia și în țările fostei Uniuni Sovietice. A fost și continuă să fie folosit în mod surprinzător ca limbă de predare. În restul lumii este mai puțin obișnuit, dar este și viu și bine. Există o astfel de persoană ca Wirth - este un om de știință, un teoretician. A participat la discuția Algol, nu i-a plăcut ceea ce s-a întâmplat și a venit cu propriul său limbaj - Pascal. Și apoi compania Borland (și înainte de asta multe alte companii - Apple a fost implicat, în special) a luat-o și a stricat totul. Avea o teorie frumoasă, coerentă - „totul va fi bine” - și au luat-o și au umplut-o cu ceea ce oamenii aveau nevoie pentru a lucra. Ei bine, nu a ieșit atât de frumos pe cât și-a dorit el.

Și, în sfârșit... C a fost inventat de ingineri. Dacă Pascal a fost inventat de un om de știință, atunci C a fost inventat de Kernighan și Ritchie, ei au lucrat ca ingineri la Bell. Cum sa întâmplat asta? La acea vreme, era imposibil să scrii ceva sistemic în aceste limbi (lectorul arată spre Fortran, COBOL, Algol). Ce este „sistemic”? De exemplu, un sistem de operare, niște drivere, altceva. Aceste limbi au fost destinate calculelor matematice, calculelor de afaceri, pentru toate acestea. Și totul a fost scris în Adunare. Au fost niște limbi, acum sunt morți, adică limbajul C nu a apărut imediat din Assembly, ci prin niște lucruri intermediare.

Care e ideea? Kernighan și Ritchie le plăcea să joace jucăria Asteroizi - o navă spațială zboară și sunt asteroizi, el trage în ei și se destramă. Aveau un server unde se juca, dar erau mulți oameni acolo, iar jucăria era lentă. Și au descoperit undeva în biroul lor că aveau un fel de computer pe care nimeni nu îl folosea. Dar a fost o problemă - era de altă arhitectură, iar jocul a fost scris în Assembly.

L-au rescris, desigur, chiar și au adăugat câteva funcții pentru a juca pe el. Dar acest lucru i-a condus la ideea că rescrierea pentru o nouă arhitectură de fiecare dată nu este foarte inteligentă. Și au decis să scrie un limbaj de nivel înalt care să fie potrivit pentru programarea sistemului, adică în care să fie posibilă gestionarea memoriei, în care să se poată înțelege unde se află lucrurile și cum să accesezi aceste bucăți de memorie. . Și așa a apărut limbajul C, care a avut o influență uriașă asupra a tot ce a urmat. Toate (conferențiarul arată spre Algol, Fortran și alte limbi menționate) au avut o mare influență, dar C - doar da...

În consecință, a fost limba principală în Unix, un sistem de operare care era chiar mai popular la acea vreme decât este acum. Iar în jurul anilor 80, situația era cam așa (conferențiarul arată Basic, C și alte limbaje menționate). Să spunem că toate acestea s-au stins deja încet la noi în țara noastră (conferențiarul șterge mențiunile Assembly Language, Fortran și Algol)... Și în anii 80, computerele au devenit mai mici, mai inteligente, mai ieftine, iar oamenii și-au dorit tot felul de lucruri ciudate. pentru a face viața și mai bună, pentru a trăi și mai distractiv.

Limbi din anii 80

Una dintre primele ciudățenii a fost că era un limbaj C++. Limbajul C are un număr mare de deficiențe (ei bine, în general uriașe) - poți face totul în el, inclusiv să te împuști în picior, să te împuști în picior cu ficțiune, în celălalt picior, să împuști un picior în celălalt picior, în general - orice vrei să faci. Dar, în același timp, unele lucruri arhitecturale se fac acolo destul de greu - din nou, ca și în Assembly, trebuie să ținem evidența unde suntem, ce și ce memorie am alocat; Este acolo tot timpul „curgând” undeva, această memorie - adică am alocat-o, am uitat să o ștergem, am șters lucrul greșit, am depășit limitele memoriei, în general - am creat o grămadă de probleme.

C++ a fost creat inițial ca un set de completări la limbajul C care ar facilita dezvoltarea. În acea perioadă, programarea orientată pe obiect a devenit la modă și oamenii au decis că totul poate fi descris sub forma unei ierarhii, adică ai o minge (abstract), moștenești de la ea o minge de fotbal, o minge de volei, o altă minge abstractă. . Era la modă atunci că „acum scriem totul sub forma unui fel de ierarhie, și totul va fi bine, viața se va îmbunătăți, totul va fi bine și atât.” C++, într-un fel, a implementat această abordare bazată pe obiecte - nu a fost primul limbaj de programare orientat pe obiecte, dar a devenit destul de popular și tot felul de caracteristici au început să apară în el. În același timp, C++ a păstrat compatibilitatea aproape deplină (la acea vreme) cu limbajul C; un program scris în C a fost compilat cu succes ca C++ în 99% din cazuri și chiar a funcționat în același mod. Acest lucru a fost menit să faciliteze trecerea de la C la C++.

Pe lângă abordarea obiectului (în C++), a apărut rapid o bibliotecă de șabloane standard (STL). Cred că la școală, cei care încă învățau Pascal au descoperit că, în primul rând, nu ai sortare încorporată (în vechiul Borland Pascal albastru, acum este deja în versiuni moderne) - există un exemplu (sursa cod) sortare, poate fi copiat și lipit. Dar dacă vrei să sortezi numere întregi aici, aici vrei numere reale și aici șiruri care pot fi comparate între ele, a trebuit să scrii trei feluri diferite care fac exact același lucru, doar că au tipuri diferite date. Acest lucru nu este foarte bun, iar șabloanele care nu au apărut imediat în C++ au atenuat foarte mult această problemă. Adică ai avut un program abstract care a sortat cu succes ceva ce putea fi comparat unul cu celălalt.

Limbaje de scripting din anii 90

Dar timpul nu a stat pe loc; în anii 80 s-au întâmplat multe lucruri interesante. Dar undeva pe la sfârșitul anilor 80 și 90, computerele au devenit atât de bune încât a fost posibil să se facă lucruri foarte ciudate și foarte ineficiente. În special, acestea erau limbaje de scripting care nu au fost compilate în codul mașinii, ci mai degrabă interpretate. BASIC a fost de asemenea interpretat la un moment dat, dar aceste limbaje de scripting au fost destinate în principal procesării textului - acestea sunt, de exemplu, Perl, Python (nu era foarte faimos atunci), PHP, Ruby - acestea sunt limbajele de scripting că într-una sau alta într-o măsură diferită, ei încă mai trăiesc (toți au reușit să apară înainte de 2000, chiar mult mai devreme).

Să trecem puțin peste ele, pentru că acestea sunt lucruri specifice și acum sunt folosite în multe locuri. Care este ideea? Dacă nu compilam, atunci putem permite mult mai mult. De exemplu, un program poate să se uite la codul său și să îl folosească cumva; ea știe ce se întâmplă în ea și datorită acestui lucru poate face o mulțime de lucruri interesante.

Perl a fost destinat procesării textului - în acele vremuri era atât de multă memorie în computere încât puteai să îndesezi ceva text acolo și să faci ceva util cu acest text (de exemplu, să numere cuvinte, să faci un fel de căutare). Dar, după părerea mea, a fost conceput de oameni care erau puțin nebuni, pentru că există o glumă despre asta: „Orice set de caractere scris este un program Perl valid”. După părerea mea, poți doar să scrii pe ea, nu poți să o citești. Când mă uit la codul Perl și încerc să înțeleg ceva, nu înțeleg nimic. Poate dacă l-aș cunoaște mai bine, aș înțelege ceva, dar așa cum am auzit de la acei oameni care încă știu cum, ei spun că e mai ușor să rescrie din nou. Adică, programele se dovedesc a fi scurte și este cu adevărat mai ușor să le rescrieți de la zero decât să vă dați seama ce este acolo și să o remediați.

În acea perioadă, la mijlocul anilor 90, a apărut internetul. La început a fost mail, site-uri web cu HTML static, dar oamenii au vrut să adauge un fel de dinamică acolo, astfel încât totul să se întâmple dinamic, să poată fi completate niște formulare, să poată fi făcute cărți de oaspeți și altceva. În consecință, acest lucru a necesitat un fel de interacțiune, au venit cu un protocol, cum interacționează și, cel mai important, generarea acestor pagini statice (condiționale) care vor fi „scuipat” utilizatorului ca răspuns la solicitarea acestuia.

În general, nimic altceva decât Pearl nu era potrivit în acel moment. Scrierea unui handler în C sau C++ pur a fost o idee proastă. Și în lipsă de ceva mai bun, la acea vreme (și pentru o perioadă destul de lungă) Pearl era limbajul popular pentru dezvoltarea web. Desigur, amploarea nu poate fi comparată cu ceea ce se întâmplă acum.

PHP a apărut ca... din întâmplare. O persoană a încetat să facă asta destul de repede - și-a făcut propria pagină, avea un fel de carte de oaspeți, altceva, alte lucruri. Și a scris un set de macrocomenzi pentru Perl care erau similare cu C, pentru că știa să folosească C, pur și simplu pentru că îi era atât de convenabil. Și am numit-o Personal Homepage. L-a împărtășit și a spus: „Oameni buni, uitați-vă la ce am scris, totul aici este mult mai clar decât în ​​Perl și îl puteți edita.” Și oamenilor le-a plăcut.

Apoi a renunțat la această afacere. În general, ca urmare, acest PHP a început să trăiască și a devenit în timp mult mai popular decât Perl. Dar această „traumă la naștere” a lui (concepută ca un set de macro-uri pentru Pearl) i-a jucat o glumă destul de crudă. Limbajul s-a dovedit ciudat. Adică s-a dezvoltat pe cont propriu, nimeni nu l-a proiectat, nimeni nu a administrat procesul de dezvoltare (nici o companie, nici o persoană), dar au fost multe grupuri, fiecare dintre ele a tăiat ce-i plăcea. Ca urmare, funcțiile sunt denumite diferit, nu există nici măcar un stil, totul este subliniat, practic întâmplător, setările sunt aici și acolo și cum vor funcționa toate acestea nu este foarte clar. Dar poți să te așezi și să scrii în PHP în două ore, pentru că așa a fost intenționat.

Python și Ruby: Ruby este mai puțin popular acum, Python este cumva mai bine „planat”, să vorbim despre asta mai târziu. Este clar că în acele vremuri acestea erau (conferențiarul arată spre Perl, Python, Ruby, PHP) limbaje foarte specializate pentru scopuri foarte specializate. În general, nimeni nu a scris vreo programare de sistem, nicio logică de afaceri în ele la acel moment și acum nu prea face asta.

Limbi compilate din anii 90

Vom face ocol în același timp, dar în cealaltă direcție. La acea vreme, folosim C++ pentru aproape tot ce trebuia scris, nu pentru web, nu pentru procesarea textului, ci doar pentru aplicații, pentru sisteme de operare, pentru jucării - în general, pentru orice. Dar C++ este de fapt un limbaj teribil. De ce? Pentru că, în primul rând, a moștenit toate problemele C din cauza compatibilității cu versiunea inversă. Tot ai putea să te sinucizi acolo cu un milion căi diferite, aceleași care erau în C (în mod firesc, s-au adăugat metode noi în C++). În același timp, dacă scrieți totul bine și corect, așa cum a fost intenționat de autorii lui C++, atunci, desigur, nu mai era posibil să vă sinucideți folosind vechile metode de cod C și se pare că există mai puține lor. Cu toate acestea, avea un model de obiect foarte ciudat, deosebit. Împărțirea unui program în module, în bucăți de un fel, a venit în general din C (dacă știi să scrii include în C sau C++ - de fapt, a fost conceput ca o modalitate de a introduce pur și simplu textul bibliotecii în programul tău, în la sfârșit, când scrieți o grămadă de includeri, aveți totul - dacă este „primitiv”, așa cum a fost la început - totul este inserat într-un singur fișier și apoi totul durează teribil de mult pentru a compila, pentru că merge în jur. de mai multe ori Același Pascal, Virtovsky, a fost mult mai atent în această privință, versiunile ulterioare au devenit și mai bune.

În general, C++ are o mulțime de dezavantaje. Programatorul trebuia să fie foarte calificat pentru a scrie în C++, iar astfel de programatori erau scumpi (și formarea și altceva, adică este greu să găsești programatori pe piață, trebuie plătiți mult, ei bine, în general nu este cazul...). Iar computerele noastre numără din ce în ce mai repede, devin mai ieftine, oamenii cumpără computere noi și își doresc mai multe aplicații, mai multe jucării pentru telefoanele lor, în general - mai multă bucurie.

Așa a apărut Java. Există, de asemenea, o poveste destul de amuzantă despre cum și-a primit numele această limbă. Sunt programatori acolo, ei beau cafea tot timpul și pe vremea aceea era la modă să bei cafea, care creștea pe insula Java. Limbajul a fost conceput ca un limbaj pentru dispozitivele încorporate, în special pentru o mașină de cafea. Așa a apărut numele...
Ce a început cu ea, ce a fost bun la ea și de ce a câștigat atât de multă popularitate? În primul rând, au scăpat complet de moștenirea lui Sishnoi. Nu există semne, mult mai puține moduri de a trage de pe o parte a corpului și de a rupe totul. În al doilea rând, au introdus idei mult mai recente în ceea ce privește modelul obiect - adică C++ a apărut mult mai devreme decât Java și a folosit un model obiect mai arhaic, „sălbatic”. Ei bine, aici (profesorul arată spre Java) era deja mai gândit atunci, iar în teorie oamenii s-au gândit, iar în practică au aplicat și au făcut totul mult mai cool.

Și în sfârșit, al treilea. Programele noastre Java au fost compilate nu în cod de mașină, ci în cod pentru o mașină virtuală. Adică ai avut o mașină virtuală (VM) JVM - Java. Programele dumneavoastră au fost asamblate într-un fel de reprezentare intermediară și apoi, cu ajutorul acestei mașini, au fost deja executate. Ce a dat? În primul rând, a încetinit, în al doilea rând, a mâncat memoria cu o forță teribilă, în al treilea rând, a fost portabil oriunde (teoretic) - chiar și la o filtru de cafea, chiar și la o râșniță de cafea, chiar și la un computer, chiar și la un telefon mobil. Pe de o parte, acest lucru este bun, adică tocmai ați scris o implementare a unei mașini virtuale, apoi rulați programele Java peste tot. Dar, pe de altă parte, este rău că același telefon avea atunci puțină memorie, a existat performanta scazutași toate acestea au început să se stingă și să încetinească în continuare.

Dar acesta nu este nici măcar principalul lucru pentru care limba a fost inventată în primul rând. Limbajul Java a fost inventat pentru a reduce cerințele de calificare pentru programatori. Adică, programatorii mai răi pot scrie programe bune în Java, deoarece nu vă permite să scrieți programe proaste - nu există niciun mijloc acolo pentru a scrie programe proaste. Acolo poți scrie doar programe bune. Ei bine, în înțelegerea creatorilor limbii.

Adică, dacă în C, în C++, în Python, în orice, putem crea un fel de groapă de gunoi teribilă din proiectul nostru, unde avem totul amestecat, asamblat ore în șir și altceva. În Java, puteți crea și o groapă de gunoi, dar pentru aceasta trebuie să faceți ceva efort. Adică, în mod implicit, nu este o „haldă de gunoi”, apar alte probleme, că ceva a fost moștenit și moștenit - în general, pentru o linie semnificativă, există zece nu foarte semnificative. Dar, un astfel de programator cu calificare moderată poate scrie cod de înaltă calitate.
Suntem aproape la final. Pentru noi, următorul lucru care a apărut a fost .Net (dotnet), și în special ne interesează C# (aproape același lucru [profesorul arată spre Java], adică există diferențe în detalii, dacă alegi între ele , uite unde plătesc mai mulți bani).

Și încă un lucru - JavaScript. Nu are nimic de-a face cu limbajul Java, a apărut în același an - cuvântul era la modă, au licențiat marcă a folosi.

Care este principalul lucru la care trebuie să fii atent? (Lectorul desenează săgeți din C++ la Java, .Net, C#, JavaScript și PHP). Pentru a scrie un program simplu într-una dintre aceste limbi și în multe altele - dacă cunoașteți C++, în general nu trebuie să știți nimic altceva - scrieți în C++ și apoi adăugați dolari la început, altceva face lucruri mici și începe să lucreze la orice (profesorul indică limbajele cărora le-au fost alocate săgețile din C++). Adică sunt extrem de asemănătoare în unele lucruri simple. Dacă rezolvați unele probleme școlare, probleme educaționale sau altceva (nu proiectați un proiect mare - aveți un fișier care citește numere, afișează numere în consolă și face altceva), atunci aproape că nu există nicio diferență între aceste limbi. Este clar că JavaScript și PHP sunt specializate, totul este puțin diferit pentru ei. Dar aici (profesorul arată spre Java și C#) există foarte puțină diferență.

De atunci, au apărut tot felul de alte lucruri interesante, dar nu este clar dacă vor trăi sau vor muri cu succes. Ce folosesc ei acum, în ce scopuri?

Selectarea unei limbi în funcție de sarcină

Să presupunem că vă confruntați cu sarcina de a scrie un driver pentru o placă video. Ce limbă vei folosi astăzi? (Strigă din partea publicului: Java!) De ce... Java este grozav, dar de ce nu Ruby sau PHP? (Lectorul vorbește sarcastic.)

Programare la nivel scăzut

Dacă scrieți ceva la nivel scăzut, atunci cea mai buna alegere- acesta este C, dar de fapt am auzit ceva (dar nu am văzut) că C++ este folosit pentru asta. Dar am puțină încredere în asta, pentru că în C poți controla clar - din moment ce ai dat atât de mulți octeți de memorie, asta înseamnă că vor fi atât de mulți. Și în C++ (STL) cum este implementat un șir? Ei bine, cumva a fost implementat. Și până la urmă nu știm cum și ce se întâmplă acolo; poate vom rămâne fără memorie pe placa noastră video sau se va întâmpla altceva. Prin urmare, C încă trăiește și nu moare, astfel de sarcini de programare a sistemului încă există - scrie un sistem de operare, scrie drivere, scrie altceva - C este grozav pentru asta. În plus, acum apar tot felul de dispozitive (Internetul lucrurilor se promite că va veni în curând) care funcționează cu baterii (și, firește, vor fi milioane, totul va fi acoperit cu acest Internet al lucrurilor), ar trebui să fie foarte ieftin și să consume foarte puțin energie electrică. În consecință, vor exista 2 KB de memorie, un procesor de 5 kHz și este clar că va trebui să înșurubați un fel de mașină virtuală sau un limbaj de scripting nu va funcționa în viitorul apropiat - ceea ce înseamnă că va trebui să scrieți ceva în C. Și chiar și acum, de exemplu, calculează pe o placă video (OpenCL sau altă tehnologie) - nu vin cu un nou limbaj pentru a scrie programe pentru ei - fac C cu unele restricții mari. Doar pentru că oamenii știu deja cum, de ce să învețe ceva nou? Formal, acesta este probabil și, într-un sens, C.

Programare web

Să zicem că vrei să scrii Facebook nou (rețea socială). Pe ce vei scrie asta? (Oamenii din audiență vorbesc despre HTML și CSS.) HTML și CSS sunt design și dorim să fie posibil să adăugați fotografii, prieteni și să lăsați comentarii acolo.

Pentru partea de scriptare - adică ceea ce se va întâmpla pe partea clientului - acesta este JavaScript. Mai mult, uneori JavaScript este generat într-o altă limbă și trimis (se întâmplă să fie generat scriptul... pentru că uneori este mai ușor să procesezi unele modificări ale logicii).

În mod surprinzător, este scris în PHP - și Facebook, și multe alte proiecte mari. Bineînțeles, au trebuit să scrie unele dintre propriile lor lucruri, astfel încât să funcționeze în continuare normal, și nu într-un mod „îngăduit”, dar au făcut-o. În principiu, mai mult sau mai puțin nu contează în ce scrii, dar nu recomand Perl. Aici și acum, desigur, nimeni nu scrie nimic pentru web de la zero. Toată lumea scrie un fel de cadru sau altceva. Magazin online? Am descărcat un cadru pentru un magazin online - și asta este tot, am scris un magazin online.

Programare pentru afaceri

Apoi vrei să scrii o aplicație plictisitoare pentru o bancă. Sau, de exemplu, ai pe cineva care vinde carduri SIM? Poate că ați cumpărat vreodată un telefon sau altceva și vi s-a spus: „Sistemul se blochează, nu putem face nimic”. Ce vei folosi pentru a scrie o astfel de aplicație? (strigă din public despre Python) Nu poți scrie asta în Python, ce spui?! Nu este nevoie să scrieți nimic pentru afaceri în Python. De ce? Pentru că atunci când scrieți ceva în Python, este imposibil să detectați un număr semnificativ de erori în timpul procesului de scriere. Python este tastat dinamic în toate felurile posibile și, în general, puteți ascunde un bug în așa fel încât să apară într-o astfel de situație încât nici măcar nu veți putea înțelege ce au făcut acești utilizatori strâmbi acolo, că totul este rupt pentru tine. Adică, în Python este mai bine să scrieți scripturi mici pentru dvs. - înțelegeți ce se întâmplă acolo și ce se face. Ei bine, sau ceva ce nu te deranjează să-l arunci: vrei să lansezi ceva înaintea concurenților tăi, așa că dacă se sparge din când în când. Ai scris în Python și gata - ai capturat piața. Și dacă scrii ceva mult timp, de exemplu, un fel de aplicație bancară (ca să aprobe împrumuturi, altceva) - o scrii în Java. Pentru că e o chestiune serioasă, hârtii, bani, documente, altceva, dar nu poți s-o strica atât de mult încât să se spargă totul, altfel oamenii vor fi jignit - banii lor au plecat și nu au ajuns nicăieri, pentru că într-un fel. de moment şirul s-a transformat într-un număr sau invers. Deci, înseamnă că o iei metodic în Java și scrii, scrii... Ei bine, sau pe .Net, se întâmplă și astfel de situații, în principiu. Acolo, desigur, puteți întâmpina și probleme, dar probabilitatea ca acest lucru este oarecum mai mică.

Programare pentru armată, industria aerospațială

Acum imaginați-vă că au decis să vă trimită pe Lună cu o rachetă. Cu ce ​​ai prefera să fii folosit pentru a scrie codul care controlează motoarele rachetei? Să aruncăm o privire. Acest lucru, probabil (conferențiarul arată Perl, Python, PHP, Ruby), nu merită - încetinește, se întâmplă altceva și, în general, nu aș fi de acord să zbor pe o astfel de rachetă. În C++? Sincer să fiu, nici eu nu aș avea încredere, pentru că în C++ există prea multe moduri de a te sinucide. Când ești acolo undeva în spațiu, nu e prea bine.

Poate în Java? Se pare că totul acolo este destul de fiabil, iar arhitectura este bună, fără tipuri sălbatice, fără călătorii inutile dincolo de limitele memoriei. Să presupunem că a venit cel mai crucial moment și Java nostru a decis să colecteze gunoiul pentru noi. Trebuie să aterizăm, să încetinim, iar ea spune: „Nu, gunoiul pleacă”. În general, nici nu foarte bine.

Sincer, aș prefera ca acest program să fie scris în Pascal. Desigur, nu prea îmi place Pascal, dar într-un fel în astfel de chestiuni ar fi foarte tare.

Utilizarea mai multor limbi pentru dezvoltarea de software

Ei bine, ce trebuie spus în general despre limbile moderne. Acum multe proiecte nu trăiesc într-o singură limbă, adică unele dintre ele trăiesc într-o limbă, altele într-o altă limbă, iar altele într-o a treia. De exemplu, dacă aveți un fel de aplicație web care procesează cantități sălbatice de informații, apelurile către discuri (nici măcar către baze de date, sunt atât de mari încât nici măcar o bază de date de acolo nu poate gestiona una deja scrisă) sunt probabil scrise într-un fel de apoi C la nivel scăzut, pentru a scrie foarte repede pe disc și toate astea. Desigur, nu merită să scrieți întregul proiect în C. Poate că există un fel de logică intermediară scrisă în Java care apelează funcții C pentru apeluri rapide. Ei bine, frontend-ul (la ce se uită utilizatorul), desigur, este deja scris în ceva, în unele scripturi, în ceva care este executat direct de browser (JavaScript). Și toate acestea trăiesc împreună și interacționează cu succes.

La dezvoltarea unor aplicații, chiar și a celor mari, uneori ce fac oamenii? Îl iau și scriu un prototip în Python (cum va funcționa totul), îl schițează, gândesc la un fel de arhitectură. Scrierea pe el este într-adevăr foarte rapidă - au aruncat împreună un prototip, au experimentat cu el și au spus: „Uau! E atât de tare!” Și l-au rescris complet. S-ar părea că au făcut treaba de două ori, ceea ce a făcut să dureze de două ori mai mult (bine, una și jumătate). Dar nu! Se dovedește adesea că această metodă nu este rea, deoarece dacă scrieți ceva imediat, de exemplu în Java, și apoi decideți: „Nu, hai să refactorăm, să schimbăm arhitectura complet și toate astea”, atunci vei cheltui de 10 ori mai mult timp . Astfel de lucruri există și trăiesc.

Condiții pentru succesul oricărui limbaj de programare

Acum să vorbim despre de ce unele limbi frumoase nu au supraviețuit sau trăiesc într-un spațiu foarte limitat. Când Wirth a văzut ce companii rele Apple, Borland și tot ce i-au făcut lui Pascal, a venit cu un limbaj și mai bun - Oberon. Era doar extrem de minimalist - adică erau foarte puține comenzi (Strings? De ce avem nevoie de șiruri? Vom face o serie de caractere!). Ei bine, ceva nu i-a funcționat, în măsura în care ar fi putut să funcționeze.

Inca un lucru. Armata americană le-a cerut să dezvolte un limbaj cool în care totul funcționează și totul poate fi scris. Rezultatul a fost o limbă Ada destul de monstruoasă, în care, totuși, se mai scriu ceva, dar din nou, doar pentru militari.

Care este problema? De ce unele limbi precum Python, pe care nicio companie nu le-a suportat la început, au preluat piața. PHP, care este, de asemenea, prost proiectat, a preluat, de asemenea, piața (majoritatea) pe cont propriu. Și s-au investit tot felul de miliarde de dolari (lectorul arată pe Ada) și nu s-au dus nicăieri, nu s-a întâmplat nimic. Cu ce ​​este legat asta? Acest lucru se datorează faptului că nu există infrastructură în jurul acestor limbi. Adică limbajul poate fi excelent, dar atâta timp cât nu există documentație, atâta timp cât nu există o comunitate care să poată răspunde la întrebări (pe Stack Overflow) și, în sfârșit, cel mai important, atâta timp cât nu există un număr mare de biblioteci, limba nu decolează. Adică, de exemplu, ai vrut să scrii un site web pe Oberon. Ce este, de ce nu? Și începe bătaia de cap... Nu vă puteți configura propriul server web pe Oberon pentru a-l testa ușor, nu puteți conecta nicio bibliotecă, pentru că Oberon nu le are. Și toate acestea se fac prin niște cârje, puterea dispare, și în general renunți și îți scrii site-ul în C pur în loc de Oberon. Și acele limbi care trăiesc bine sunt cele care știu să folosească biblioteci din alte limbi. Același Python în acele locuri în care încetinește. Ei bine, în general, tot felul de lucruri standard, cum ar fi sortarea și altceva, sunt scrise în C, iar acesta (Python) poate interacționa cu ele.

Java are și o interfață nativă Java. Acesta este în esență C, adică acolo (după părerea mea, vor întotdeauna să-l interzică, dar se pare că nu l-au interzis încă) aceste limbi pot interacționa cu bibliotecile deja existente (în principal C). Și din această cauză, o iau și lucrează. Ideea pe care încerc să ți-o transmit este clară, nu? Nu scrieți în limbi care nu acceptă biblioteca C. Ei bine, dacă vrei să folosești ceva cool. Ei bine, treptat ei (limbile) își dobândesc propria infrastructură. Și trăiesc cumva bine.

Limbajul de programare și orientare în carieră

Acum haideți să vorbim despre cum să înțelegeți ce doriți în viață. Care sunt cele mai tari lucruri? Puteți face niște programare de sisteme, nu? Este grozav pentru tine să numeri acești biți, vrei să lansezi quadcoptere, un fel de camere și să faci altceva. Atunci, probabil, C este alegerea ta.

Dacă vrei să scrii, poate nu cele mai interesante aplicații din viață, dar e mișto să le proiectezi, să te gândești la toate și să câștigi mulți bani pentru că stai și te plictisești de cele mai multe ori (trebuie să plătești pentru asta dacă te pricepi la dor), iată-le - Java, .Net. Te duci la muncă într-o bancă, scrii, mergi la muncă la nouă în cămașă albă, primești un salariu bun și scrii după recomandările celor mai buni dezvoltatori Java, .Net sheep și toate astea...

Dacă vrei să scrii niște aplicații, un fel de browser, un fel de jucării sau altceva, atunci C++ este grozav. Dacă doriți să scrieți site-uri web, atunci iată-le, limbi la alegere (leferul arată Perl, Python, PHP, Ruby), nu este mare diferență. Singurul lucru este că PHP va muri înainte de Python, așa că dacă ți-e lene să înveți lucruri noi, atunci învață Python. Nu vei observa o mare diferență, dar vei rezista mai mult.

De asemenea, ce se întâmplă cu Ruby nu este clar. Ei bine, poți să faci PHP dacă l-ai învățat deja, din fericire, este atât de simplu încât nu durează atât de mult să reînveți.

Și, în cele din urmă, există o altă zonă de aplicare a limbajelor de programare - atunci când un non-programator le folosește. Să presupunem că ești matematician, fizician, chimist, analist, oricine și trebuie să calculezi rapid ceva, să analizezi câteva date (pentru biologi, de exemplu, câte vulpi arctice trăiesc pe Insulele Commander). Puteți pune toate acestea într-un tabel în Excel sau le puteți analiza cu ceva. Python este bun și pentru asta, poate funcționa cu text și există o mulțime de biblioteci, statistice și toate astea. Dacă doriți să faceți un fel de învățare automată, să procesați unele date, să faceți predicții, atunci acest lucru se face și în Python în cel mai rapid mod acum. Adevărat, trebuie menționat că sarcinile sunt foarte diferite. De exemplu, dacă doriți să tranzacționați la bursă instantaneu în condițiile în care cotațiile se schimbă tot timpul, atunci oricât de cool ați scrie Machine Learning în Python, oamenii care au scris ceva mai rapid vor avea timp să cumpere totul înainte de Tot. vor fi luate în calcul pentru dvs., chiar dacă algoritmii lor sunt mai răi. Prin urmare, chiar și aceste sarcini de învățare automată (unele dintre ele) necesită performanță ridicată (și performanță extrem de ridicată) și, în consecință, alte limbi.

Singura modalitate de a înțelege ce vrei este să încerci totul. Acum o voi spune ca una dintre viziunile despre cum puteți încerca totul. Cum să devii un programator și unul fericit? Asa de. CU tabula rasaÎNCEPE. Aici studiezi matematica, limba rusă și alte discipline obligatorii și opționale la școală, iar cunoștințele tale în domeniul programarii se reflectă pe tablă (lectorul arată o tablă goală) în acest moment. Și vrei să devii o persoană fericită, să faci ceea ce îți place, să câștigi mulți bani și să nu te refuzi nimic și să fii fericit.

O modalitate de a realiza acest lucru. Există, desigur, tot felul de povești inspiratoare despre oameni care nu au mers deloc la universitate, sau au renunțat la studii și au devenit miliardari, proprietari de companii și așa mai departe. Dar trebuie remarcat faptul că majoritatea oamenilor care poate nu au devenit miliardari, dar trăiesc și bine, totuși au absolvit facultatea la un moment dat.

Care este situația cu admiterea la universitate (în prezent studiezi la școală)? În timp ce ești la școală, trebuie să înțelegi că următorul pas este să te înscrii și să ai grijă de asta. Treci examenul de stat unificat sau câștigă olimpiada. La examenul de stat unificat puteți folosi Pascal, C++ (inclusiv C pur), Python (nu le voi menționa mai departe). La olimpiadă există același Pascal, același C++, același Python (vom vorbi acum despre problemele lui) și, cel mai adesea, există Java. Există și alte lucruri care se întâmplă în funcție de Jocurile Olimpice, dar nu acesta este ideea.

Cum arată graficul distribuției limbilor la Olimpiada de informatică a Rusiei? Oamenii care participă la Jocurile Olimpice All-Russian, cele mai tari, în ce scriu? Arată așa (aici înseamnă Pascal, și aici este vorba despre 2000, și aici este aproximativ zero, aici este C++ și aici este 2015).

În 2000, aproape nimeni nu a scris C++. Au trecut 15 ani și aproape nimeni nu scrie în Pascal, în ciuda faptului că Pascal este modern. Aceasta este o limbă care poate face aproape totul la fel. Doar că toată lumea a devenit prea leneș să învețe asta, fiecare nouă tendință și continuă să scrie totul în Borland Pascal, ceea ce, desigur, nu poate face nimic. În C++, oamenii scriu niște algoritmi (STL) pentru a sorta - grozav, au scris sort() și atât. Pe Pascal, pe obișnuit, pe cel vechi - aceasta este o problemă. Am scris un fel de set (era nevoie) - grozav, l-am scris în C++, dar în Pascal a fost din nou o durere totală. Bineînțeles, puteți face acest lucru cu Pascal noi, dar în general costă bani. Poate că nu ați observat acest lucru, dar este adevărat.

Există și Java, dar Java are o mulțime de litere. Este pentru proiecte mari, dar pentru programele mici de o singură dată se dovedește foarte rău, pentru că există o mulțime de litere în plus. Dar unii scriu și ei, poți învăța să scrii pe el. Dar nu este la examenul de stat unificat și majoritatea va trebui totuși să susțină examenul de stat unificat.

Ce este cel mai bun pentru examenul de stat unificat? Pentru examenul de stat unificat, cel mai bine este (dacă nu știi nimic și nu te învață nimic la școală) să înveți Python. Unele probleme de examen pot fi rezolvate perfect pe el. La olimpiade, în general, se dovedește că se folosește C++, pentru că Python este foarte lent, acolo nu se rezolvă totul.

Astfel, ai studiat un mic subset al limbajului și niște algoritmi (eventual) și ai rezolvat multe probleme pentru a primi o diplomă de la olimpiada ta și a intra la universitate pentru a primi studii superioare.

Voi vorbi acum despre cum structurăm cursul la HSE, în ce ordine sunt predate limbile, cum sunt studiate în matematică aplicată și informatică la Facultatea de Științe Aplicate, ceea ce facem împreună cu Yandex. În primul semestru - Python (nu în întregime, aproximativ așa cum ar trebui să înveți la școală) și C++ (deja mai larg, mult mai larg decât se predă de obicei în școli). Să-ți spun imediat ca să nu te sperii, dacă dintr-o dată vrei să te înscrii, vei spune: „Ce, știu deja toate astea, de ce să merg undeva să studiez? Aș prefera să merg în altă parte.” Pentru cei care știu deja să programeze bine, există posibilitatea de a trece imediat la studierea algoritmilor și într-o pregătire destul de teoretică. Nu ne uităm la ele acum, aceasta (arată spre tablă) este pentru cei care sunt intermediari sau deloc programatori.

În primul semestru, sunt predate elementele de bază ale Python-ului, doar pentru ca oamenii să învețe să programeze și pentru ca nimeni să nu fie prea jignit. Python este rar predat în școli; majoritatea oamenilor vin cu cunoștințe de Pascal sau C++. În mare parte chiar și Pascal, dacă aceasta este o școală de masă. Ei bine, ca să nu fie jignit nimeni, toată lumea învață o limbă nouă (parcă ar fi în condiții egale). Și C++ pur și simplu pentru că din C++ poți merge oriunde.

Apoi urmează cursul de algoritmi și un proiect de curs separat. Algoritmi clasici cu implementare. Nu este că am luat ceva în teorie și am calculat complexitatea. La prelegere am luat-o, am calculat complexitatea, la seminar am luat-o și am implementat algoritmul. Un proiect este în cazul în care elevii realizează ceva complet. De exemplu, unul dintre proiecte a fost: numărați... Să presupunem că aveți multe apartamente la Moscova și înțelegeți: „Oh, am o mulțime de lucruri în plus, o să închiriez câteva. Și au stabilit un anumit preț și, dintr-un anumit motiv, nimeni nu vrea să închirieze un apartament de la tine - probabil că este prea scump. Sau au stabilit un preț, ți l-au luat imediat și te gândești: „Oh, probabil că l-am vândut ieftin” - și te superi și tu. Adică a fost necesar să se calculeze cât costă închirierea unui apartament? Introduceți datele - vă creează o estimare. Un astfel de site, care a constat din mai multe lucruri: luați propoziții, analizați-le, aplicați un fel de (probabil) algoritm simplu de învățare automată și faceți o fața web frumoasă în care puteți selecta ceva, introduceți ceva, niște metri, un număr de camere. , numărul de saune, numărul de jacuzzi din apartamentul dvs. și estimați aproximativ costul. Adică un fel de lucru terminat, nu foarte complicat. Aici înseamnă (profesorul arată cursul despre algoritmi) un astfel de nucleu C++, cu intrare-ieșire în consolă. Ei bine, aici (lectorul arată inscripția „proiect”) ceva sub îndrumarea unui mentor, poate cu baze de date, poate cu analiza textului și altceva.
Apoi este al treilea semestru - acesta este un curs numit „Sisteme informatice”. Există destul de puțin limbaj de asamblare de înțeles (foarte puțin) și apoi ceva asemănător cu C pur și interacțiune cu sistemele de operare, programarea sistemului în esență. Și proiectul pentru seminar este, de asemenea, ceva pe tema a tot felul de interacțiuni de rețea, destul de la nivel scăzut: dezvoltați un fel de utilitate, de exemplu rsync (sincronizare, poate știți. În C pur, mai mult sau mai puțin, scrieți un analog cu rsync, pe care îl veți avea prin rețea să sincronizeze folderele cu toate accesările la fișiere și așa mai departe).

Și în sfârșit, al patrulea. Nici nu știu cum să-i numesc, este o vinaigretă de tehnologii necesare dezvoltării reale, de exemplu, dezvoltarea web. Adică aceasta este aplicarea practică a bazelor de date, iarăși ceva asemănător cu ceea ce s-a făcut în proiect (lectorul arată proiectul de anul 2) dar mai aprofundat. Adică acestea sunt lucruri mai mult sau mai puțin specifice, programare practică. În paralel cu aceasta există orice teorie și aici fac și știință.

Și după două cursuri, oamenii pleacă să facă orice îi interesează, pentru că acest lucru acoperă elementele de bază ale programării destul de larg și, în acest moment, oamenii înțeleg deja că nu vor să o facă. sisteme informaticeîn niciun caz (nu le-a plăcut programarea sistemului, de exemplu), dar vor să lucreze la niște algoritmi teoretici, să calculeze dificultăți, să vină cu lucruri noi, distribuite sau altceva. Sau, dimpotrivă, cred că nu au prea multe aici ( lectorul indică linia primului curs cu Python și C++) a mers, apoi ( lectorul indică a treia linie de curs, cu programarea sistemelor) - Nu-mi place, numărarea octeților și stabilirea de tot felul de restricții privind citirea și scrierea, realizarea de fluxuri, fire și altceva. Și în conformitate cu aceasta, oamenii aleg o direcție și studiază. Adică, în principiu, pentru a nu dezvolta „sindromul rățucii” - ai fost primul care ți-a văzut Pascalul și acum ai spus „Pascal este putere”; sau mai avansat - ați văzut C++ și ați început să vorbiți despre toată lumea că C++ este puternic, dar totul în rest nu este foarte bun.

Acum trebuie să ne uităm la acest lucru (lectorul arată lista de cursuri de pe tablă) mai larg - aceasta este una dintre metodele care a fost aleasă, în special la HSE (a apărut recent, deci este destul de modernă). Există și alte modalități de a face cunoștință. În alte universități bune, ordinea este puțin diferită și se pun alte accente. Dar încearcă și să le prezinte oamenilor tot ceea ce au.

Cum să-ți cauți un loc de muncă ca programator

Tu esti ( lectorul arată lista de cursuri) a făcut totul, a studiat la universitate, a făcut altceva timp de doi ani mai productiv și trebuie să mergi la muncă. Cum să alegi ceva pentru muncă? În primul rând, te-ai familiarizat cu totul, te-ai adâncit undeva și știi deja ce iubești. Trebuie să alegi ceea ce iubești, firesc. Pentru că dacă iubești, depui efort, vei avea motivație și în general totul va fi bine. Pentru că nu este vorba doar despre bani, ci despre a face acest lucru interesant și plăcut pentru tine. Ei bine, vrei să intri într-o companie grozavă și să obții un loc de muncă. Ce fel de persoană mi-ar plăcea să văd personal? Să presupunem că vin la mine o sută de studenți - ar trebui să angajez doi sau unul. De ce vin, nu înțeleg deloc, cine sunt, ce sunt, cum sunt? În cel mai bun caz, îmi vor arăta diploma pe care au primit-o la universitate și voi spune: „Uau!” Aceasta este o diplomă grozavă, dar aceasta nu este atât de bună!” Și aș putea să mă înșel, apropo. Poate că persoana respectivă a avut mult timp liber și a învățat mult mai bine.

Ce ar fi grozav? În primul rând, un proiect open source pe care l-ați scris de la început până la sfârșit. De preferință, dacă fac un fel de infrastructură, astfel încât datele să poată fi citite rapid, sau altceva, atunci, desigur, aș fi interesat să am ceva open source scris pentru mine. Nu au făcut un site web, ci ceva pe această temă. De ce mă interesează asta? Pot să mă uit la codul tău, pot vedea cât de des te-ai comis, pot vedea cum ai reacționat la erori de la utilizatori, bug-uri de la dezvoltatorii care îl folosesc - totul este înregistrat, mă uit la tot și mă gândesc: „Uau, acest bug nu a avut loc. nu am fost acolo de doi ani acum.” închis, aici ai răspuns nepoliticos utilizatorului, iată altceva - nu o voi accepta.” Adică acesta este proiectul tău personal.

În continuare, ce altceva ar fi tare? Aș vrea să văd cum ai făcut lucru in echipa. Adică vii la mine pentru un interviu și spui: „Eu și băieții de la universitate am făcut o aplicație bună. Făceam o bază de date acolo, făceau un fel de aplicatie mobila, și am avut și un tip care lucra acolo, o fată ca designer și un băiat la suport tehnic. Eram cinci și am făcut un proiect grozav.” Ei bine, văd că este chiar proiectul tău, spun: „Ce este al tău?” Mă uit din nou la cod și înțeleg că știi să lucrezi în echipă cu oameni.

Un programator nu este cineva care stă singur (indie) într-un garaj, undeva cu luminile stinse, nu vorbește cu nimeni, își lasă barba și scrie. Există încă o anumită interacțiune cu oamenii. Cu un șef, de exemplu, care poate uneori să te înjure (șefii, așa sunt, nu sunt întotdeauna amabili). Și văd că știi să lucrezi cu oamenii și mă bucură dacă ai un fel de echipă bună. Chiar dacă nu este bine, este mai bine decât să nu ai unul.

Ce altceva mi-ar plăcea personal? Dacă te-ai dovedit în proiecte mari. De exemplu, ați introdus ceva în nucleul Linux, dacă sunteți în programarea sistemelor, și ați remediat o eroare. Adică, au arătat că știi să citești codul altcuiva și să știi să-i faci unele modificări. Mă uit: „Oh, într-adevăr, ți-ai dat seama de ceva complicat și ai remediat unele erori!” Și încep să fiu foarte fericit de asta. Pentru că am... ei bine, nu știu... programatorul meu a renunțat pentru că concurenții lui i-au oferit un salariu mai mare și am nevoie urgent de cineva care să-i ocupe locul - cu tine. Văd că ai scris doar de la zero, dar nu știi să citești și să editezi codul altcuiva și mă supăr.

Și în sfârșit, în funcție de poziția specifică, există diverse alte lucruri. Dacă obțineți un loc de muncă ca analist, aș dori să rezolvați problemele de analiză a datelor pe Kaggle. Dacă aplicați pentru unele lucruri algoritmice, aș dori să faceți niște algoritmi în programarea sportivă. Și în sfârșit, dacă te-ai gândit la profesie, citește cum se desfășoară interviurile, ai văzut că unii oameni de acolo își exprimă o mare nemulțumire: „Am venit și m-au întrebat care este hobby-ul meu. Stau ca o bufniță și nu răspund pentru că nu am un hobby”, și ei cred că HR-ul fac asta. De fapt, ei încearcă să înțeleagă cât de prietenos și adecvat ești. Dacă ești neprietenos și inadecvat, atunci oricât de geniu și de workaholic ai fi, un specialist dur, cu mari cunoștințe, îi va fi dificil pentru echipa să lucreze cu tine și nu vei putea finaliza proiectul singur. În plus, chiar dacă îl scoți, îți poți imagina care este povara pentru companie. Dacă vii mâine și spui: „Mărește-mi salariul de 10 ori, altfel te părăsesc”. Este clar că companiile nu vor să se găsească într-o astfel de situație. Prin urmare, cultivarea adecvării și bunăvoinței în sine este la fel de importantă (cel puțin) precum dezvoltarea unor abilități profesionale.

Pentru a rezuma, ce putem spune? Ce limbi sunt bune și care sunt rele? Ei bine, într-un anumit grup de limbi, de exemplu între Ruby, Python și PHP, ce ar trebui să alegeți? Desigur, răspunsul corect este Python, dar de fapt diferența dintre ele este în numărul de erori permise, în numărul de altceva - 5%, ei bine, poate 10%. Adică, dacă aveți deja un proiect gata făcut scris în PHP, atunci nimeni înțelept nu ar spune: „Să rescriem totul în Python”. Ei vor spune: „Să angajăm mai mulți dezvoltatori PHP și să continuăm să scriem în PHP.” Grozav, este o alegere bună. Este clar că, dacă decideți brusc să scrieți un fel de proiect, atunci ar putea fi înțelept să alegeți Python acum. Deși, depinde și asta. Poate că aveți pe piață o mulțime de dezvoltatori PHP ieftini, iar cei Python sunt scumpi și vă gândiți: „Da, tehnologia este mai rece, dar voi economisi bani pe dezvoltatori gata făcute.” Și totul este grozav, deja vii și lucrezi acolo.
Cum să alegi între Java și C++? Da, cam același lucru se întâmplă. Cred că până când te vei decide în ce limbă să începi un nou mare proiect, vei fi dobândit cunoștințe în domeniul tău profesional și vei putea face alegerea potrivita. Acum nu trebuie să faci încă această alegere, așa că te sfătuiesc să faci ceea ce îți place.

Elementele de bază, așa cum am spus deja, foarte, foarte bazele programării (ce este o funcție, ce sunt if'ics, for'ics, matrice, altceva) pot fi învățate în mai mult sau mai puțin orice limbaj. De exemplu, în C++, deoarece există o mulțime de asemănări cu acesta și există cele mai puține specificații în el (la acest nivel) și există cea mai mică cantitate de litere suplimentare de scris. Ei bine, atunci când înveți niște lucruri arhitecturale complexe, vei învăța și nu trebuie să-ți faci prea multe griji pentru asta. Adică, principalul lucru este să încerci, să cauți ce-ți place și când îți dai seama că este deja ora 4 dimineața și stai și scrii de distracție, pentru că îți place - probabil în acel moment e clar că l-ai găsit pe al tău.

Orice persoană care decide să stăpânească elementele de bază ale procesului de creație programe de calculator, se întreabă care sunt cele mai solicitate limbaje de programare astăzi și care sunt cele mai bune de învățat. Și dacă la prima întrebare este foarte ușor de răspuns, atunci studentul însuși va trebui să caute răspunsul la a doua, pe baza planurilor și nevoilor sale.

Să ne uităm pe scurt la cele mai populare limbaje de programare, astfel încât să îl poți alege pe cel care te atrage cel mai mult și să începi să îl înveți.

programare?

Înainte de a analiza principalele limbaje de programare și de a le descrie, este necesar să înțelegeți conceptul în sine.

Un limbaj de programare este un sistem de semne formal care este folosit pentru a scrie programe de calculator. Ca orice altă limbă, are propriile reguli lexicale, semantice și sintactice.

Există limbaje de programare de nivel scăzut și înalt. Astăzi îl folosesc în principal pe al doilea.

Limbaje de programare de nivel înalt și scăzut

Un limbaj de programare de nivel scăzut are o structură apropiată de structura lui În acest caz, comenzile nu sunt notate folosind zerouri și unu, ci folosind mnemonice. Cel mai faimos limbaj de programare scăzut este limbajul de asamblare.

Lucrul cu oricare dintre limbi necesită calificări și înțelegere înalte; în plus, scrierea programelor necesită timp considerabil. În același timp, folosind cele joase puteți crea programe mici, dar în același timp eficiente. Programatorilor începători nu li se recomandă să înceapă cunoașterea cu ei.

Limbajele de programare de nivel înalt se caracterizează prin prezența unor constructe semantice pentru a descrie operațiile. Studierea lor necesită mult timp, iar aplicarea lor în practică necesită grijă și înțelegerea structurilor de bază și a regulilor de sintaxă și vocabular. Dar, în același timp, cunoașterea limbilor de nivel înalt vă permite să creați proiecte mari, colorate, multifuncționale în timp record.

Cele de nivel înalt includ Pascal, Java, C, C++, C#, Delphi și multe altele. Sunt folosite pentru a scrie programe software și aplicații.

Cele mai populare limbaje de programare

Care sunt cele mai populare limbaje de programare astăzi?

În ultimii ani, Java, C, C++, Python, C#, care se numără printre cele mai populare limbaje de programare, sunt considerate cele mai populare și solicitate. Ei sunt cei care stau la baza programe moderneși sunt folosite la scrierea oricărui proiect mare. Peste 70% dintre programatori lucrează cu aceste limbaje. Se preconizează că în următorii 10 ani vor fi în continuare la cerere așa cum sunt astăzi.

Ruby, PHP și JavaScript sunt, de asemenea, considerate nu mai puțin populare. Majoritatea specialiștilor se concentrează asupra lor.

În general, indiferent de popularitate, orice specialist care se respectă mai mult sau mai puțin trebuie să cunoască cel puțin mai multe limbi de diferite niveluri. Acest lucru se datorează faptului că majoritatea proiectelor mari sunt dezvoltate pe limbi diferite. De exemplu, unele module sunt scrise folosind C, altele sunt dezvoltate în Java, iar altele sunt dezvoltate în Delphi.

C, C++ și C#

Mai întâi, să ne uităm la familia C.

Limbajul C este un limbaj compilat și a fost dezvoltat în anii 70. Pe baza acesteia, au fost create ulterior limbaje precum C++ și C#, Java.

C++ este un limbaj puternic conceput pentru a crea atât utilitare și drivere de nivel scăzut, cât și aplicații și pachete software foarte impresionante.

C# este un limbaj modern orientat pe obiecte bazat pe C și C++. Are sistem securizat tipuri. Una dintre caracteristicile sale distinctive este că este, de asemenea, foarte asemănătoare cu un alt limbaj de programare popular - Java.

Unul dintre dezavantajele limbajului este că vă permite doar să creați aplicații pentru sistem de operare Windows este, de asemenea, destul de greu, ceea ce înseamnă că programele scrise pe el ocupă mult spațiu.

Se poate observa că în multe privințe C, C++ și C# sunt limbaje de programare pentru începători. După ce le stăpânești, poți fi sigur că învățarea unei noi limbi va dura un minim de timp.

Puteți să vă familiarizați cu ele și să scrieți primele aplicații într-un mediu special Borland sau Visual Studio.

JavaScript

JavaScript este un limbaj cu capabilități orientate pe obiecte. Dezvoltat în 1996 și astăzi unul dintre cele mai populare. Limbajul este folosit în principal în scripturile web și rulează în browsere majore, cum ar fi Internet Explorer, Firefox, Opera. De asemenea, este strâns legat de HTML și CSS, așa că înainte de a începe să-l înveți, trebuie să stăpânești elementele de bază ale acestor limbi.

Este de remarcat faptul că, în ciuda asemănării numelui, JavaScript și Java sunt două limbi complet diferite.

Acest limbaj este potrivit pentru cei care se concentrează pe crearea de browsere și scripturi, aplicații și suplimente pentru acestea. Dacă intenționați să vă creați propriile site-uri web, trebuie, de asemenea, să le cunoașteți mai bine.

Java

Când luăm în considerare cele mai populare limbaje de programare, nu se poate să nu menționăm Java. Este un limbaj de programare orientat către obiective care a intrat în uz din 1995. Este foarte ușor și rulează pe orice mașină Java de orice arhitectură. Folosit pentru dezvoltarea de aplicații pentru Android și iOS.

Piton

Python - a cărui sarcină principală este de a crește productivitatea dezvoltatorului și de a face codul mai lizibil. El are lista mica structuri sintactice și o bibliotecă standard de funcții foarte impresionantă. Dezvoltarea limbii a început în anii 90 și continuă până în zilele noastre. Este folosit pentru a dezvolta diverse proiecte, extensii și integrarea aplicațiilor dezvoltate anterior.

Elementele de bază ale limbajului Python pot fi învățate atât ca început de programare, cât și ca un al doilea limbaj suplimentar.

Rubin

Ruby este un limbaj de programare de nivel înalt care conține părți din Perl, Smalltalk, Eiffel, Ada și Lisp. În uz din 1995. Principalele avantaje ale limbajului sunt simplitatea și flexibilitatea. Potrivit atât pentru scrierea de aplicații mici, cât și pentru dezvoltarea de programe serioase.

limbaj PHP

PHP este un limbaj de scripting destul de popular conceput pentru crearea de aplicații web. Destul de des este inclus și în lista „Limbaje de programare pentru începători” și recomandat pentru studiu.

Cu ajutorul acestuia, puteți crea aplicații web de înaltă calitate într-un timp foarte scurt. Limba are o structură simplă și de înțeles, care vă permite să o învățați în câteva zile.

Concluzie

Am analizat cele mai populare limbaje de programare, al căror studiu vă va ajuta pe viitor să vă creați cu succes propriile proiecte și să câștigați bani ca programator. Nu există un consens asupra limbii de studiat, dar, în același timp, experții notează că este indicat să cunoașteți mai multe limbaje de programare, deoarece acest lucru va extinde și mai mult domeniul de activitate și va facilita lucrul la diferite proiecte în echipă.

    Liste de limbaje de programare După categorie Cronologic Genealogic Este furnizată o listă de limbaje de programare grupate pe categorii. Unele limbi se încadrează în mai mult de o categorie. Cuprins... Wikipedia

    Liste de limbaje de programare După categorie Cronologic Genealogic Este furnizată o listă genealogică de limbaje de programare. Limbile sunt clasificate în funcție de limbile antecedente care au avut o influență puternică asupra formării ... Wikipedia

    Cuprins 1 După producător sau platformă 1.1 Flash 1.2 Java 1.3 Microsof ... Wikipedia

    Liste de limbaje de programare după categorii Cronologică Cronologia genealogică a limbajelor de programare este o listă organizată cronologic de limbaje de programare. Cuprins... Wikipedia

    Acest articol ar trebui să fie Wikified. Formatați-l conform regulilor de formatare a articolului. Convenții... Wikipedia

    Această pagină lista de informatii. Limbaje de programare .NET (CLI-enabled languages ​​sau CLI languages) limbaje de programare pentru computere utilizate pentru a crea biblioteci și programe care îndeplinesc cerințele Comm ... Wikipedia

    Articolul principal: Lista editorului de text editori de text Windows și tabel de comparație. Cuprins 1 Tabel de comparație a editorilor de text celebri... Wikipedia

    Limbajul de programare C# este unul dintre cele mai populare limbaje de programare astăzi. Software de procesare open source Paint.NET grafică raster SharpDevelop IDE deschis pentru C#, Visual Basic .NET (VB.NET), Boo ... Wikipedia

    Aceasta este o listă de software dezvoltat de Free Software Foundation ca parte a proiectului GNU UNIX, un sistem de operare similar constând în întregime din software liber. Majoritatea acestor pachete de asemenea... ... Wikipedia

    Acest articol sau secțiune necesită revizuire. Vă rugăm să îmbunătățiți articolul în conformitate cu regulile de scriere a articolelor... Wikipedia

Cărți

  • Python pentru copii. Tutorial de programare de Jason Briggs. Despre carte Această carte este un tutorial despre unul dintre cele mai populare limbaje de programare de astăzi - Python. Începând de la foarte actiuni simple, pas cu pas vei scrie...
  • JavaScript pentru copii. Tutorial de programare, Morgan Nick. Despre carte Această carte vă va permite să vă scufundați în programare și să stăpâniți JavaScipt cu ușurință. Veți scrie mai multe jocuri reale - căutând comori pe hartă, „Hangman” și „Șarpe”. La fiecare...