Magas és alacsony szintű programozási nyelvek: melyeket érdemes megtanulni

27.09.2019 Érdekes

A programozás egy egész tudomány, amely lehetővé teszi számítógépes programok létrehozását. Számos különböző műveletet és algoritmust tartalmaz, amelyek egyetlen programozási nyelvet alkotnak. Tehát mi ez és mik a programozási nyelvek? A cikk válaszokat ad, valamint egy áttekintő listát a programozási nyelvekről.

A programozási nyelvek megjelenésének és változásának történetét a fejlődés történetével együtt kell tanulmányozni számítógépes technológia mert ezek a fogalmak közvetlenül összefüggenek. Programozási nyelvek nélkül lehetetlen lenne bármilyen programot létrehozni a számítógép működtetésére, ami azt jelenti, hogy a számítógépek létrehozása értelmetlen gyakorlattá válna.

Az első gépi nyelvet 1941-ben Konrad Zuse találta fel, aki az analitikai motor feltalálója. Kicsit később, 1943-ban Howard Aiken megalkotta a Mark-1 gépet, amely képes a gépi kód szintjén utasításokat olvasni.

Az 1950-es években aktív igény mutatkozott a fejlesztésre szoftver, és a gépi nyelv nem bírt nagy mennyiségű kóddal, ezért jött létre új út kommunikáció számítógépekkel. Az „Assembler” az első emlékezetes nyelv, amely felváltja a gépi utasításokat. Az évek során a programozási nyelvek listája csak növekszik, mivel a számítástechnika hatóköre egyre szélesebb.

A programozási nyelvek osztályozása

A Ebben a pillanatban Több mint 300 programozási nyelv létezik. Mindegyiknek megvan a maga sajátossága, és egy adott feladatra alkalmas. Minden programozási nyelv több csoportra osztható:

  • Aspektus-orientált (a fő gondolat a funkcionalitás szétválasztása a programmodulok hatékonyságának növelése érdekében).
  • Strukturális (a létrehozás ötlete alapján hierarchikus struktúra a program különálló blokkjai).
  • Logikai (a matematikai logika apparátusának elméletén és a felbontási szabályokon alapul).
  • Objektumorientált (ilyen programozásban már nem algoritmusokat használnak, hanem olyan objektumokat, amelyek egy bizonyos osztályhoz tartoznak).
  • Multi-paradigma (több paradigma kombinálása, és a programozó maga dönti el, hogy ebben vagy abban az esetben melyik nyelvet használja).
  • Funkcionális (a fő elemek olyan függvények, amelyek értéket változtatnak a kiindulási adatok számítási eredményeitől függően).

Programozás kezdőknek

Sokan kérdezik, hogy mi az a programozás? Alapvetően ez a számítógéppel való kommunikáció egyik módja. A programozási nyelveknek köszönhetően különféle eszközök elé tehetünk bizonyos feladatokat, létrehozása speciális alkalmazások vagy programokat. Ennek a tudománynak a kezdeti szakaszban történő tanulmányozásakor a legfontosabb a megfelelő (az Ön számára érdekes) programozási nyelvek kiválasztása. A kezdőknek szóló lista az alábbi:

  • A Basic-et 1964-ben találták fel, a magas szintű nyelvek családjába tartozik, és alkalmazási programok írására használják.
  • A Python ("Python") egyszerű, olvasható szintaxisa miatt meglehetősen könnyen megtanulható, de előnye, hogy mind hétköznapi asztali programok, mind webes alkalmazások készítésére használható.
  • Pascal ("Pascal") - az egyik legrégebbi nyelv (1969), amelyet a diákok tanítására hoztak létre. Modern módosítása szigorú gépelést és szerkezetet tartalmaz, de a "Pascal" egy teljesen logikus nyelv, amely intuitív szinten érthető.

Nem teljes lista programozási nyelvek kezdőknek. Rengeteg olyan szintaxis létezik, amelyek könnyen érthetők, és az elkövetkező években mindenképpen keresletre fognak számítani. Mindenkinek joga van önállóan kiválasztani azt az irányt, amely érdekes lesz számára.

A kezdőknek lehetőségük van a speciális eszközöknek köszönhetően felgyorsítani a programozás és annak alapjainak elsajátítását. A fő asszisztens a programok és alkalmazások integrált fejlesztői környezete Visual Basic(A „Visual Basic” egy olyan programozási nyelv is, amely az 1970-es évek Basic nyelvének stílusát örökölte).

Programozási nyelvi szintek

Az összes formalizált nyelv, amelyet a számítógépes problémák megoldására szolgáló programok és algoritmusok létrehozására, leírására és algoritmusaira terveztek, két fő kategóriába sorolhatók: alacsony szintű programozási nyelvek (a lista lent található) és magas szintű programozási nyelvek. Beszéljünk mindegyikről külön-külön.

Az alacsony szintű nyelvek gépi utasítások létrehozására szolgálnak a processzorok számára. Legfőbb előnyük, hogy mnemonikus jelölést használnak, vagyis a nullák és egyesek sorozata helyett (a kettes számrendszerből) a számítógép egy értelmes rövidített szót jegyez meg az angol nyelvből. A legtöbb ismert nyelvek alacsony szintű az "Assembler" (ennek a nyelvnek több alfaja is van, amelyek mindegyikében sok a közös, de csak egy sor további direktívában és makróban különbözik), a CIL (elérhető a .Net platformon) és a JAVA Bytecode.

Magas szintű programozási nyelvek: lista

A magas szintű nyelveket az alkalmazások kényelmére és hatékonyságára tervezték, pontosan ellentétesek az alacsony szintű nyelvekkel. Őket megkülönböztető vonás- a programok szerkezetét, algoritmusait tömören és röviden leíró szemantikai konstrukciók jelenléte. Alacsony szintű nyelveken a gépi kódban történő leírásuk túl hosszú és érthetetlen lenne. A magas szintű nyelvek viszont platformfüggetlenek. Ehelyett a fordítók a fordító funkciót látják el: lefordítják a program szövegét elemi gépi utasításokká.

A programozási nyelvek alábbi listája: C ("C"), C# ("C-sharp"), "Fortran", "Pascal", Java ("Java") - a leggyakrabban használt magas szintű szintaxisok közé tartozik. A következő tulajdonságokkal rendelkezik: ezek a nyelvek bonyolult struktúrákkal dolgoznak, támogatják a karakterlánc-adattípusokat és a fájl I/O műveleteket, valamint megvan az az előnyük, hogy az olvashatóság és az érthető szintaxis miatt sokkal könnyebben kezelhetők.

Leggyakrabban használt programozási nyelvek

Elvileg bármilyen nyelven lehet programot írni. A kérdés az, hogy hatékonyan és hiba nélkül fog működni? Éppen ezért a legmegfelelőbb programozási nyelveket kell kiválasztani a különböző problémák megoldásához. A népszerűségi lista a következőképpen foglalható össze:

  • OOP nyelvek: Java, C++, Python, PHP, VisualBasic és JavaScript;
  • szerkezeti nyelvek csoportja: Basic, Fortran és Pascal;
  • több paradigma: C#, Delphi, Curry és Scala.

A programok és alkalmazások köre

Annak a nyelvnek a megválasztása, amelyen ezt vagy azt a programot írják, nagyban függ az alkalmazási területtől. Tehát például magával a számítógépes hardverrel (illesztőprogramok írása és támogató programok) a legjobb megoldás a C ("C") vagy a C ++, amelyek a fő programozási nyelvek közé tartoznak (lásd a listát felett). A mobilalkalmazások fejlesztéséhez, beleértve a játékokat is, válassza a Java vagy a C # ("C-sharp") lehetőséget.

Ha még nem döntötte el, melyik irányba fog dolgozni, javasoljuk, hogy kezdje el a tanulást C vagy C ++ nyelven. Nagyon világos szintaxisuk van, világos szerkezeti felosztásuk osztályokra és funkciókra. Ezen kívül a C vagy C ++ ismeretében könnyedén megtanulhat bármilyen más programozási nyelvet.

Kezdő programozóktól ez így hangzik: "Milyen nyelvvel kezdjem?" Meghívtuk szakértőinket, hogy válaszoljanak.

Minden attól függ, hogy melyik területet választja. Ha közvetlenül hardverrel szeretne dolgozni, írjon illesztőprogramokat és különféle alkalmazások, amelyek megkövetelik maximális teljesítmény, - akkor csak a C vagy a C++ alkalmas. Ha a mobilalkalmazások a célod, tanuld meg a Java-t vagy az Objective C-t, C#-t. A webszerverekhez go, python és php szükséges; webes alkalmazásokhoz - JavaScript.

Ha még nem döntött a terület mellett, nyugodtan választhatja a C / C ++ nyelvet, mert ennek a nyelvnek a ismeretében könnyedén megtanulhat bármilyen más nyelvet. Csak egy dologra kell emlékezni: a beszélt nyelvhez hasonlóan a programozási nyelvet is elfelejtik, ha nem használják folyamatosan, ezért jobb egy vagy két nyelven folyékonyan beszélni, mint felületesen ismerni a nagy számokat.

Véleményem szerint egy igazi programozó soha nem korlátozódik csak egy nyelv ismeretére. És még akkor is, ha a jövőben illesztőprogramokat fog írni és rendszeralkalmazások, akkor is szüksége van néhány szkriptnyelvre, mint például a perl vagy a python. Ezenkívül a szkriptnyelvek ismerete ma már egyszerűen szükséges minden programozó számára, függetlenül a szakterületétől.

Frissítés Downgrade

A Python jó az általános programozási fogalmak megtanulására. Nagyon népszerű nyelv, sok könyvtára van, a szintaxis könnyen olvasható, a kód pedig elég ügyes. A Python fő előnye a kezdők számára, hogy meglehetősen gyakori és könnyen megtanulható. Könnyedén írhat rá webalkalmazásokat és normál asztali alkalmazásokat is. Attól függően, hogy a tárgykörben, akkor ki kell választania egy objektumorientált nyelvet. Például, ha rendszerprogramozással foglalkozik, akkor a C++ a legjobb választás. Ha vállalati alkalmazást fejleszt ( Információs rendszerek vállalkozások), akkor C# vagy Java.

Frissítés Downgrade

Egy időben Fortrannal és Pascallal kezdtem, hiszen az intézetben voltak. Aztán volt C/C++, Visual Basic Script, PHP és Visual Basic, aztán C#, aztán valami F#.

Tapasztalataim és választási lehetőségem alapján a legkényelmesebben a C # nyelven fejlődtem, és ezzel kezdeném is. Leginkább az operációs rendszer algoritmusainak és mechanizmusainak megértése szempontjából, amely alatt írtam, a C ++ adott nekem.

Frissítés Downgrade

Szerintem a legjobb hely a tanulás megkezdéséhez a JavaScript használatával. A webböngészőknek köszönhetően ez a programozási nyelv a webes alkalmazások létrehozásának de facto szabványa, az egyik leggyorsabban növekvő fejlesztési terület. Van róla egy kiváló ingyenes könyv is, az "Eloquent JavaScript", oroszra fordítva.

Frissítés Downgrade

Minden a megoldani kívánt problémától függ. Ha azonban ez az első nyelve, akkor erősen gépelt nyelvet javaslok. Általános rendeltetésű(C++, Java, .NET): úgysem fogsz eltévedni velük és könnyen át lehet váltani bármelyik másikra. Egy másik érdekes módja annak, hogy megértsük, melyik nyelvet válasszuk a tanuláshoz, ha felkeresed a GitHub-ot, beírod az érdeklődési kört a keresésbe, és megnézed, mit írnak más fejlesztők.

Frissítés Downgrade

, Microsoft technológiai evangélista, a Moszkvai Fizikai és Technológiai Intézet docense, Moszkvai Repülési Intézet, tanár a JUNIO-R gyermektáborban

Minden az életkortól függ. Ha úgy dönt, hogy nagyon fiatalon megtanul programozni, és még nincs 12 éves, akkor jobb, ha egyszerű grafikus nyelvekkel kezdi, mint pl. Kodu Game Lab vagy Karcolás. Úgy gondolják, hogy a hagyományos programozási nyelveket 12 után kell elsajátítani. A hagyományos nyelvek közül a C # mindig is közel állt hozzám - jó fejlesztői környezet van hozzá, és minden programozható: a játékoktól a Egység, akár az ASP .NET-en vagy az elektronikán található webhelyekig. Tanuláshoz nézhet oktatóvideókat, vagy olvashat egy könyvet C# iskolásoknak.

Frissítés Downgrade

Kezdőknek azt javaslom, hogy először értsék meg, hogy a nyelv csak egy eszköz a programozó munkájában. Igen, természetesen fontos magabiztosan elsajátítani az alkotáshoz jó programok, de elsősorban a fejlesztő készsége kell, hogy legyen, és ne az a nyelv, amelyen ír.

De mivel valamit még mindig el kell kezdeni, és nem túl kényelmes ugyanazokat az algoritmusokat és adatstruktúrákat vákuumban tanulmányozni, ezért ajánlom a C nyelv használatát. Ez elég alacsony ahhoz, hogy ne szokjon hozzá a rengeteg szintaktikai cukorhoz, és hogy általános képet adjon a programot végrehajtó számítógép működéséről. De ugyanakkor ez nem egy assembly nyelv, ami lehetővé teszi a közös dolgokra való összpontosítást költekezés nélkül b ról ről a legtöbb mentális erőfeszítés, hogy emlékezzen az összes ugrásnévre és regiszterértékre. Irodalomként a klasszikust ajánlom

Különböző programozási nyelvek és alkalmazási területeik. Előadás a Yandexben

Úgy döntöttünk, hogy idei első bejegyzésünket egy nagyon alapvető témának szenteljük, amelyről előadást tartottak a Small ShaD-ben. Olyan középiskolások vesznek részt rajta, akik érdeklődnek a technika iránt, innen az előadás sajátossága - az előadás különösen azok számára lesz érdekes, akik most kezdik a programozást, és azon gondolkodnak, hogy milyen irányba fejlődjenek. Számukra a Yandex rendelkezik egy „Bevezetés a programozásba (C++)” tanfolyammal, amelyet a Stepic.org platformon lehet elvégezni.

Előadó Mikhail Gustokashin - a Yandex tudományos programok kurátora, a HSE Számítástechnikai Kar Diákolimpiák Központjának igazgatója. Mihail az összoroszországi programozási olimpiák több tucat győztesét és díjazottját készítette fel.

Az előadás arról szól, hogy melyek a programozási nyelvek, miben különböznek egymástól, hogyan jelentek meg, és melyek a jobbak és melyek a rosszabbak. Kezdetben beszélünk egy kicsit a nyelvek történetéről - hogyan jelentek meg, hogyan kezdtek el az emberek programozni, hogyan fejlődött minden, mi történik most. A második rész azt fogja érinteni, hogy melyik nyelv milyen feladatokra alkalmas, hogyan válasszuk ki a kedvenc nyelvünket és élvezzük az életet. Az előadó arról is beszél egy kicsit, hogy szerinte hogyan lehet mindezt megtanulni, majd elhelyezkedni.

Mint mindig, a vágás alatt található az előadás részletes átirata, hogy eligazodhasson a tartalmában.

A programozási nyelvek története

Kezdjük a legelejéről. Kezdetben a számítógépeknek még billentyűzetük sem volt! Vagyis minden nagyon rossz volt - nem volt se billentyűzetük, se képernyőjük, lyukkártyáik voltak (ezek ilyen lyukas vagy lyukas apróságok). Ennek megfelelően vagy oda nyomták a csapokat, vagy ott ragyogtak fénnyel. Ha van lyuk (vagy fordítva nincs), az nullát vagy egyet jelentett. És a programokat akkoriban gépi kódokkal írták - minden számítógépes művelethez (összeadás, kivonás, néhány bonyolultabb művelet) volt valamilyen gépi kód. Az emberek maguk választották ki ezt a kódot a tábláról, mindenféle címet a memóriában, mindent kiütöttek a kezükkel, és beledöfték az olvasóba - és minden megfontolt volt. Persze a programozó munkája akkoriban valószínűleg nem volt túl érdekes - lyukakat csinálni -, és a tudomány és a technika fejlődésével persze elkezdtek mindenféle „érdekesebb” dologgal előállni. Például assembler (Assembler), ami már egy kicsit megkönnyítette az életet.

Nos, hogyan tette könnyebbé az életet? Ahelyett, hogy emlékeznének arra, hogy a csapatnak volt valamilyen „mágikus” kódja, mindenféle „ember” szóhoz hasonló szót használtak. angol nyelv- néhány add vagy mov - nos, akkor listázták azokat a regisztereket vagy memóriaterületeket, változókat, amelyekkel ezeket a műveleteket végre kell hajtani. De nyilvánvaló, hogy ehhez általában véve is kellően nagy szellemi erőfeszítésre volt szükség ahhoz, hogy szem előtt tartsuk, melyik regiszterben mi rejlik, hol vannak a változók és általában mi történik. Miért történt ez? Mert a számítógépek "hülyék" voltak és semmi "okosabbat" nem tudtak megérteni. Sőt, idő és memória is kell ahhoz, hogy assemblerből összeállítsuk a gépi kódot (akkor persze nem volt elég).

Fokozatosan kiderült, hogy nagyon nehéz ekkora komplex programokat kidolgozni. A programozó produktivitása ezekben a parancsokban rendkívül alacsony volt - vagyis naponta több sort írt (értelmes), és minden sor nem csinált semmi különöset - néhány egyszerű aritmetikai műveletet. És az emberek azt akarták, hogy a nyelvek sokkal hasonlóbbak legyenek az emberi nyelvhez, különösen az angolhoz, hogy könnyebb és kényelmesebb legyen programokat írni. És indulunk!

Régi és holt nyelvek

Az egyik első nyelv a Fortran volt. Mellesleg lyukkártyákon is ki lett verve - a Fortran programok kiütésére külön lyukkártyák voltak. De ha most ezt a Fortran-t veszed - szerintem még valahol 50-60 év között van. megjelent - és próbálj rá valamit írni, nagyon kellemetlen lesz számodra, garantálom! A modern Fortran még mindig él, de már egészen más, mint azelőtt.

Más nyelvek - most egy dolgot írok, amiről valószínűleg hallottál, de csak mindenféle eseményen, ahol a programozás történetéről beszélnek - ez a COBOL. Ez egy nyelv volt az üzleti pályázatok írásához. Mik azok az üzleti alkalmazások? Néhány tranzakció bankban, valami más, mindez Cobolban volt megírva. Természetesen nem vagyunk túl népszerűek. Szerintem nagyon nehezen találsz egy Cobol programozót Moszkvában. És valahol nem Moszkvában - még nagyobb nehézségekkel. De meglepő módon még 10 évvel ezelőtt is az emberiség által írt kódok több mint fele Cobolban volt írva. És eddig a banki tranzakciók jelentős része a ráírt programok (COBOL) segítségével megy végbe, és még mindig írnak rá valamit az emberek.

Létezik egy „vicces” nyelv is, Algolnak hívták (68. változat, ami a keletkezés évét jellemzi). Ez egy algoritmikus nyelv. Általában ott tudtak valamit, de most már nem nagyon érdekel minket, hogy mit tehetnek. És ezen az ókorba és a viszonylag használaton kívüli nyelvekbe tett kirándulásunk befejezhető, és továbbléphetünk a még élő (és aktívan élő) felé.

Régi, de élő nyelvek

Az Algolt Európában találták fel, a Fortrant pedig főleg az Államokban használták – nincsenek nagy különbségek. Milyen tendencia figyelhető meg? Eleinte minden nehéz volt, és az íráshoz szinte mérnöknek, villamosmérnöknek kellett lenni, hogy megértse, hol vannak zárva az érintkezők, és valami mást a programozáshoz. Akkor is a levelekkel kellett ülni és számolni az emléket, vigyázni rá. És fokozatosan minden egyszerűbbé, egyszerűbbé, egyszerűbbé és még könnyebbé vált a programozó számára - a lehető legkevesebbet, hogy az ember gondolkodjon, a lehető legtöbbet tegye meg automatikusan. Ennek az időszaknak a vége felé (az előadó Algolra és Kobolra mutat) kezdenek megjelenni olyan nyelvek, amelyek bizonyos értelemben a mai napig „túléltek”.

ALAPVETŐ. Talán vannak, akik még mindig írnak rá valamit, legalábbis én úgy láttam, hogy néhány intézményben QBasic-ben tanítanak - egy ilyen kék ablak, ahol „1989” van írva. Általában "erővel és fő életekkel"! Nem programozóknak szánt nyelvnek szánták. Abban az időben a programozó nagyon speciális szakma volt. És itt azt mondják: "Itt van egy klassz Basic nyelvünk, és minden értelmes ember fog és ír rá egy programot - ez könnyű." Ismétlem, hogy a BASIC és a modern BASIC óriási különbség. Mindezek a sorok 10-ig vannak számozva, mindenféle GOTO-k és egyéb horrorok – már semmi közük a modern BASIC-hez, és még a 89. év BASIC-éhez sem sok közük van.

Egy másik vicces történet az egyetemi körökben, főleg Oroszországban és a volt Szovjetunió országaiban széles körben ismert Pascal nyelv. Meglepő módon tanítási nyelvként használták és használják továbbra is. A világ többi részén kevésbé elterjedt, de él és virul. Van egy ilyen személy Wirth - itt tudós, teoretikus. Részt vett Algol megbeszélésében, nem tetszett neki, ami történt, és ő találta ki a saját nyelvét - Pascalt. Aztán a Borland cég (és előtte sok más cég – különösen az Apple érintett) elvette, és mindent tönkretett. Volt egy gyönyörű elmélete, karcsú – "minden rendben lesz" -, és fogták, és megtömték azzal, ami az embereknek a munkához kell. Hát nem lett olyan szép, mint szerette volna.

És végül, . A C-t mérnökök találták fel. Ha Pascalt egy tudós találta fel, akkor a C-t Kernighan és Ritchie találta fel, ők mérnökként dolgoztak a Bellnél. Hogy történt? Akkoriban ezeken a nyelveken (az előadó Fortranra, COBOL-ra, Algolra mutat) nem lehetett rendszerszerűt írni. Mi az a „szisztémás”? Például egy operációs rendszer, néhány illesztőprogram, valami más. Ezek a nyelvek matematikai számításokhoz, üzleti számításokhoz, mindenhez készültek. És minden mást assemblerben írtak. Volt néhány nyelv, ezek mára halottak, vagyis a C nyelv nem azonnal jelent meg az Assemblerből, hanem néhány köztes dolog révén.

Mi értelme van? Kernighan és Ritchie szerettek az aszteroidákkal játszani – egy űrhajó repül, és vannak aszteroidák, rájuk lő, és szétesnek. Volt egy szerverük, ahol játszottak, de sokan voltak ott, és a játék lelassult. És valahol az irodájukban találták, hogy van valami számítógépük, amit senki sem használ. De volt egy probléma – más architektúrájú volt, és a játék assemblerben íródott.

Természetesen átírták, még néhány funkciót is hozzáadtak, hogy lejátszhassák. Ez azonban arra a gondolatra vezette őket, hogy nem túl okos dolog minden alkalommal új architektúrára átírni. És elhatározták, hogy írnak egy magas szintű nyelvet, ami alkalmas lenne a rendszerprogramozásra, vagyis amiben lehetséges lenne a memória kezelése, amiben meg lehetne érteni, hol van valami, és hogyan lehet elérni ezeket a memóriadarabokat. . És így megjelent a C nyelv, ami óriási hatással volt mindenre, ami ezután következett. Mindegyik (az előadó Algol, Fortran és más említett nyelvekre mutat) nagy hatással volt, de a C - igaz, igen...

Ennek megfelelően ez volt a fő nyelv a Unixban, egy operációs rendszerben, amely akkor még népszerűbb volt, mint most. És a 80-as évek környékén valami ilyesmi volt a helyzet (az előadó Basic, C és más említett nyelveken mutatja). Tegyük fel, hogy mindez nálunk már lassan elhalt (az előadó kitörli az Assemblerre, Fortranra és Algolra való hivatkozásokat)... A 80-as években pedig a számítógépek kisebbek, okosabbak, olcsóbbak lettek, és az emberek mindenféle furcsaságra vágytak, hogy éljenek. még jobb, hogy még szórakoztatóbban élhessünk.

Nyelvek a 80-as évektől

Az egyik első furcsaság a C++ nyelv volt. A C nyelvnek rengeteg hiányossága van (na jó, csak egy hatalmas) - mindent megtehetsz benne, beleértve a lábon való lövöldözést, a fikcióval lábon lőni, a másik lábbal, az egyik lábbal lövöldözést. a másik láb, általában -, hogy bármit is akarsz csinálni. De ugyanakkor ott néhány építészeti dolog eléggé megnehezedett - ismét, mint az Assemblerben, nyomon kell követnünk, hol vagyunk, milyen és milyen memóriát osztottunk ki; mindig ott van valahol "áramlik" ez a memória - vagyis lefoglaltuk, elfelejtettük törölni, rosszat töröltünk, kimászott a memóriából, általában - sok problémát rakott össze.

A C++ eredetileg a C nyelv kiterjesztéseinek halmazaként jött létre, amely megkönnyíti a fejlesztést. Akkoriban divat lett az objektum-orientált programozás, és az emberek úgy döntöttek, hogy mindent le lehet írni hierarchiának, vagyis van egy labdád (absztrakt), örökölsz belőle egy focilabdát, egy röplabdát, egy másik absztrakt labdát. Akkor volt divat, hogy "most mindent valamiféle hierarchia formájában írunk, és minden rendben lesz, jobb lesz az élet, minden rendben lesz és ennyi". A C++ bizonyos értelemben ezt az objektum-megközelítést valósította meg - nem ez volt az első objektum-orientált programozási nyelv, de meglehetősen népszerűvé vált, és mindenféle szolgáltatás elkezdett megjelenni benne. Ugyanakkor a C ++ megőrizte szinte teljes kompatibilitását (akkoriban) a C nyelvvel, egy C nyelven írt program az esetek 99%-ában sikeresen C ++-ként lett lefordítva, sőt ugyanúgy működött. Ennek az volt a célja, hogy megkönnyítse a C-ről C++-ra való migrációt.

Az objektum-megközelítés mellett (C++-ban) meglehetősen gyorsan megjelent a Standard Template Library (STL). Szerintem az iskolában azok, akik még Pascalt tanultak, rájöttek, hogy először nincs beépített válogatásod (az ősi, kék Borland Pascalban, most már a modern verziókban) - van rá példa (forrás) válogatás , másolható és beilleszthető. De ha itt egész számokat akarsz rendezni, itt valós számokat, itt pedig egymással összehasonlítható karakterláncokat, akkor három különböző rendezést kellett írnod, amelyek pontosan ugyanazt csinálják, csak különböző típusok adat. Ez nem túl jó, és a sablonok, amelyek nem jelentek meg azonnal a C ++-ban, nagyban megkönnyítették ezt a problémát. Vagyis volt egy absztrakt programod, amely sikeresen rendezett valamit, ami összehasonlítható volt egymással.

Szkriptnyelvek a 90-es évektől

De az idő nem állt meg, a 80-as években sok érdekes dolog történt. De valahol a 80-as és 90-es évek fordulóján a számítógépek annyira jók lettek, hogy már nagyon furcsa és nagyon nem hatékony dolgokat lehetett csinálni. Ezek különösen olyan szkriptnyelvek voltak, amelyeket nem gépi kódba fordítottak, hanem értelmeztek. A BASIC-et is értelmezték valamikor, de ezek a szkriptnyelvek elsősorban szövegszerkesztésre szolgáltak - például Perl, Python (akkor még nem volt híres), PHP, Ruby - ezek a szkriptnyelvek hogy részben vagy bizonyos mértékig még élnek (mind 2000 előtt, sőt sokkal korábban is sikerült megjelenniük).

Térjünk rá egy kicsit, mert ezek specifikus dolgok és ma már nagyon sok helyen használatosak. Mi az ötlet? Ha nem fordítunk, akkor sokkal többet engedhetünk meg. Például egy program megnézheti a kódját, és valamilyen módon használhatja azt; tudja, mi történik benne, és ennek köszönhetően sok érdekes dolgot tehet.

A Perl-t szövegszerkesztésre tervezték - akkoriban már akkora memória volt a számítógépekben, hogy oda lehetett tömni egy kis szöveget, és ezzel valami hasznosat lehetett csinálni (például szavakat számolni, keresni). De véleményem szerint kicsit őrültek tervezték, mert van egy ilyen vicc: "Bármelyik karakterkészlet helyes Perlben." Szerintem csak írni lehet rá, olvasni nem. Amikor ránézek a Perl kódra, és megpróbálok megérteni valamit, nem értek semmit. Talán ha jobban ismerném, megértenék valamit, de ahogy hallottam azoktól, akik még tudják, azt mondják, hogy könnyebb újraírni. Vagyis a programok rövidek, és tényleg könnyebb átírni, mint kitalálni, hogy mi van, és megjavítani.

Ekkortájt, a 90-es évek közepén megjelent az internet. Eleinte levél volt, statikus HTML-lel ellátott oldalak, de az emberek valamiféle dinamikát akartak ott adni, hogy minden dinamikusan történjen, néhány űrlapot ki lehessen tölteni, vendégkönyveket lehessen csinálni, valami mást. Ennek megfelelően ehhez kellett valamiféle interakció, kidolgoztak egy protokollt az interakciójára, és ami a legfontosabb, ezeknek a statikus (feltételesen) oldalaknak a generálására, amelyeket a felhasználó kérésére „kiköpnek” a felhasználónak.

Általánosságban elmondható, hogy akkoriban Pearl-en kívül semmi nem illett bele. A tiszta C vagy C++ kezelőben írni rossz ötlet volt. És jobb híján akkoriban (és elég sokáig), a Pearl volt a webfejlesztés legjobb nyelve. Természetesen a mértéket nem lehet összehasonlítani azzal, ami most történik.

A PHP véletlenül ...ként jelent meg. Egy ember nagyon hamar abbahagyta ezt – csinált valami saját oldalt, volt valami vendégkönyve, valami más, valami ilyesmi. És írt néhány makrót a Perlhez, amelyek úgy néztek ki, mint a C, mert tudta, hogyan kell használni a C-t, egyszerűen azért, mert olyan kényelmes volt számára. És személyes kezdőlapnak nevezte el. Megosztotta, és azt mondta: „Emberek, nézzék meg, mit írtam, itt minden sokkal világosabb, mint a Perlben, és szerkesztheti is.” És az embereknek tetszett.

Aztán ejtette a dolgot. Általában ennek eredményeként ez a PHP kezdett élni, és idővel sokkal népszerűbb lett, mint a Perl. De ez a "születési traumája" (az ötlet a Pearl makrók halmazaként) meglehetősen kegyetlen viccet játszott vele. Furcsa a nyelv. Vagyis magától fejlődött, senki nem tervezte, senki nem adminisztrálta a fejlesztési folyamatot (se a cég, se senki), de sok csoport volt, mindegyik azt fűrészelte, ami neki tetszett. Ebből kifolyólag ott máshogy hívják a függvényeket, még stílus sincs, minden az aláhúzáson keresztül történik, általában egyébként a beállítások itt-ott megvannak, és nem nagyon világos, hogy mindez hogyan fog működni. De két óra múlva leülhetsz és írhatsz PHP-ben, mert ő így gondolta.

Python és Ruby: A Ruby most kevésbé népszerű, a Python valahogy jobban "gyalult", erről majd később. Nyilvánvaló, hogy akkoriban ezek (az előadó a Perl-re, Python-ra, Ruby-ra, PHP-re mutat) magasan specializált nyelvek voltak, nagyon speciális célokra. Általános esetben senki sem írt rájuk akkoriban semmiféle rendszerprogramozást, üzleti logikát, most meg nem nagyon csinálják.

Összeállított nyelvek a 90-es évekből

Körülbelül ugyanabban az időben megyünk, de más irányba. Akkoriban nálunk szinte mindenre használták a C++-t, amit nem a webre, nem szövegfeldolgozásra kellett megírni, hanem csak alkalmazásokra, operációs rendszerekre, játékokra - általában bármire. De a C++ egy hátborzongató nyelv, tényleg. Miért? Mert először is, a visszafelé kompatibilitás miatt örökölte a C összes problémáját. Még mindig egymillióan meghalhatnak különböző utak, ugyanazok, amelyek C-ben voltak (természetesen a C ++-ban új módok kerültek be). Ugyanakkor, ha mindent jól és helyesen írsz le, ahogy azt a C ++ szerzői szándékozták, akkor természetesen már lehetetlen volt megölni magát a régi C-módokkal, és úgy tűnik, kevesebb volt belőlük. Volt azonban egy nagyon furcsa saját tárgymodellje. A program modulokra, darabokra bontása valahogy a C-ből származott (ha C-ben vagy C-ben is tudod írni az include-ot ++ - valójában csak a könyvtár szövegének beillesztése volt a programodban, ennek eredményeként, amikor írj egy csomó include-ot, minden megvan - ha "primitív", mint a legelején - minden egy fájlba van beszúrva, majd rettenetesen sokáig tart a fordítás, mert többször megy. ugyanaz a Pascal, Virtovsky, sokkal átgondoltabb volt ebből a szempontból, a későbbi verziók még jobbak.

Általában a C++-nak sok hiányossága van. A programozói végzettségnek magasnak kellett lennie ahhoz, hogy C ++-ban írhasson, és az ilyen programozók drágák voltak (mind a képzés, mind valami más, vagyis nehéz programozókat találni a piacon, sokat kell fizetni, nos, általában ez nem egy dolog ... ). A számítógépeink pedig egyre gyorsabban számolnak, egyre olcsóbbak, az emberek új számítógépeket vesznek maguknak, és több alkalmazást, több játékot szeretnének a telefonjukhoz, általában több örömet.

Így született meg a Java. Van egy meglehetősen vicces történet is arról, hogyan kapta ez a nyelv a nevét. Vannak programozók, állandóan kávéznak, és akkoriban divat volt a kávét inni, ami Jáva szigetén nőtt ki. A nyelvet a beágyazott eszközök nyelveként tervezték, különösen egy kávéfőző számára. Így jött a név...
Mi kezdődött vele általában, mi volt jó benne, és miért tett szert nagy népszerűségre? Először is teljesen megszabadultak Sishnoi örökségétől. Nincsenek mutatók, még kevésbé módja annak, hogy kilődd magad a testedből, és mindent összetörj. Másodszor, sokkal újabb ötleteket vezettek be az objektummodell tekintetében – vagyis a C ++ sokkal korábban jelent meg, mint a Java, és egy archaikusabb, "vad" objektummodellt használtak. Nos, itt (az előadó a Java-ra mutat) ez már akkor átgondoltabb volt, és elméletben az emberek gondolkodtak, a gyakorlatban pedig alkalmaztak és sokkal menőbbé tettek mindent.

És végül a harmadik. Java programjainkat nem gépi kódba, hanem virtuális gép kódjává állítottuk össze. Vagyis volt egy virtuális géped (VM) JVM - Java. A programjaidat összeállították valamiféle köztes reprezentációba, majd ennek a gépnek a segítségével már le is futottak. Mit adott? Először is lelassult, másodszor iszonyatos erővel felfalta a memóriát, harmadrészt bárhová hordozható volt (elméletileg) - még kávéfőzőhöz, kávédarálóhoz, számítógéphez, mobiltelefonhoz is. Ez egyrészt jó, vagyis csak megírtad egy virtuális gép implementációját, aztán mindenhol elindítod a Java programjaidat. De az viszont rossz, hogy akkoriban kevés memória volt ugyanabban a telefonban, volt gyenge teljesítményés mindez ráadásul tompulni és lelassulni kezdett.

De még ez sem a fő dolog, amiért a nyelvet általában kitalálták. A Java nyelvet azért találták ki, hogy csökkentsék a programozók képesítési követelményeit. Vagyis a rosszabb programozók is tudnak jó programokat írni Java-ban, mert az nem enged rossz programokat írni – nincs mód arra, hogy rossz programokat írjak. Ott csak jó programokat lehet írni. Nos, a nyelv alkotóinak megértésében.

Vagyis ha C-ben, C++-ban, Pythonban bármin valami szörnyű szeméttelepet tudunk kinevelni a projektünkből, ahol minden össze van keverve, órákig megy és van még valami. Jáván szemeteskukát is lehet tenyészteni, de ehhez már némi erőfeszítést kell tenni. Vagyis alapértelmezés szerint nem „szeméttelepnek” bizonyul, más problémákról derül ki, hogy valami öröklődött, ott öröklődött - általában tíz nem túl értelmes egy értelmes sor. De talán egy ilyen közepesen képzett programozó elég jó minőségű kódot tud írni.
Már majdnem a végére értünk. Nálunk a következőként a .Net (dotnet) jelent meg, és főleg a C # érdekel minket (majdnem ugyanaz [az előadó a Java-ra mutat], azaz részletekben is vannak eltérések, ha ezek közül választasz - nézze meg, hol fizet több pénzt).

És még egy dolog - JavaScript. Semmi köze a Java nyelvhez, ugyanabban az évben jelent meg - divatos volt a szó, engedélyezték a védjegy használatát.

Mi a legfontosabb, amire figyelni kell? (Az előadó nyilakat rajzol C++-ról Java-ra, .Net-re, C#-ra, JavaScriptre és PHP-re). Egy egyszerű program írásához ezeken a nyelveken és sok más nyelven - ha ismeri a C ++-t, akkor általában nem kell mást tudnia - vesz és ír C ++-ban, majd adjon hozzá dollárt az elején. , valami más csinálja meg az apróságokat, és bármiben elkezd működni (az előadó azokra a nyelvekre mutat, amelyekhez a C ++ nyilai hozzá vannak rendelve). Vagyis néhány egyszerű dologban rendkívül hasonlóak. Ha valamilyen iskolai problémát, oktatási problémát, valami mást old meg (nem nagy projektet tervez - van egy fájlja, amely számokat olvas, számokat jelenít meg a konzolban, valami mást csinál), akkor szinte nincs különbség ezek között a nyelvek között. . Egyértelmű, hogy a JavaScript és a PHP szakosodott, náluk minden kicsit más. És itt (az előadó a Java-ra és a C #-re mutat) nagyon kicsi a különbség.

Azóta mindenféle érdekesség megjelent, de nem világos, hogy sikeresen élnek vagy halnak meg. Most mi van, milyen feladatokra használják?

Nyelvválasztás a feladattól függően

Tegyük fel, hogy azzal a feladattal kell szembenéznie, hogy meghajtót írjon egy videokártyához. Milyen nyelvet fogsz használni ma? (Kiálts ki a közönségből: Java!) Miért… A Java nagyszerű, de miért nem Rubyban vagy PHP-ben? (Az előadó gúnyosan beszél.)

alacsony szintű programozás

Ha valami alacsony szintű írást írsz, akkor a legjobb választás- ez a C, de valójában hallottam valamit (de nem láttam), hogy a C ++-t használják erre. De ebben nem nagyon hiszek, mert a C-ben egyértelműen szabályozható - mivel annyi bájt memóriát adtál, ez azt jelenti, hogy annyi lesz. És a C++-ban (STL) hogyan valósul meg egy karakterlánc? Nos, valahogy megvalósítva. És a végén nem tudjuk, hogyan és mi történik ott, lehet, hogy elfogy a memória a videokártyánkon, vagy valami más történik. Ezért a C továbbra is él és nem hal meg, még mindig vannak ilyen rendszerprogramozási feladatok - írjon operációs rendszert, írjon illesztőprogramokat, írjon valami mást - a C nagyszerű erre. Ráadásul most már mindenféle eszköz jelenik meg (a dolgok internete azt ígéri, hogy hamarosan jön), amik akkumulátorról élnek (és persze milliók lesznek, minden lesz akasztva ezzel a dolgok internetével) , nagyon olcsónak kell lenniük, és nagyon kevés áramot fogyasztanak. Ennek megfelelően lesz 2 KB memória, processzor 5 kHz-en, és persze mit kell belecsavarni Virtuális gép vagy a szkriptnyelv nem fog működni a közeljövőben, ami azt jelenti, hogy valamit írnod ​​kell C-ben. És még most is például a videokártyán (OpenCL vagy más technológia) végzett számításokat - nem találnak ki új nyelvet, hogy programokat írjanak nekik -, nagy megszorításokkal csinálják a C-t. Csak azért, mert az emberek már tudják, hogyan, miért tanuljanak valami újat? Formálisan valószínűleg ez is bizonyos értelemben C.

Web programozás

Tegyük fel, hogy írni akarsz új facebook (közösségi háló). mire fogod írni? (A közönség részéről a HTML-ről és a CSS-ről beszélnek.) A HTML, a CSS a design, és szeretnénk, ha ott lehessen fotókat hozzáadni, barátokat kötni, kommenteket írni.

A script résznél - vagyis mi fog történni a kliens oldalon - ez a JavaScript. Sőt, előfordul, hogy a JavaScriptet más nyelven generálják és elküldik (előfordul, hogy a script generálódik... mert néha könnyebb kezelni néhány logikai változást).

Meglepő módon PHP-ben van megírva - és a Facebookon, és sok más nagy projektben. Persze meg kellett írnom a saját dolgaimat, hogy továbbra is jól működjön, és ne úgy, ahogy megcsinálták, de megcsinálták. Elvileg teljesen mindegy, hogy mit írsz be, de a Perlt nem ajánlom. Itt és most természetesen senki nem ír semmit a nulláról a webre. Mindenki ír valami keretet vagy valami mást. Online áruház? Letöltöttünk egy keretrendszert egy webáruházhoz – ennyi, írtunk egy webáruházat.

Üzleti programozás

Ezután egy unalmas banki kérelmet szeretne írni. Vagy van például valaki, aki sim kártyákat árul? Lehet, hogy vásárolt már telefont vagy ilyesmit, és azt mondták: "Itt a rendszer lóg, nem tehetünk semmit." Mire írsz egy ilyen pályázatot? (A közönség kiáltása a Pythonról) Pythonban nem lehet ilyeneket írni, mi vagy?! Pythonban semmi üzleti célt nem szabad írni. Miért? Mert amikor Pythonban írsz valamit, nem találsz jelentős számú hibát az írási folyamatban. A Python minden lehetséges módon dinamikusan van beírva, és általában úgy el lehet rejteni egy hibát, hogy olyan helyzetbe kerüljön, hogy nem is fogod megérteni, mit csináltak ott ezek a ferde felhasználók, hogy minden összetört neked. Vagyis jobb, ha Pythonban írsz magadnak, kis szkripteket - megérted, mi történik ott, és mit csinálnak. Nos, vagy valami, amit nem bánsz, ha kidobsz: szeretne valamit a versenytársak előtt kidobni, szóval mi van, ha minden máskor elromlik. Pythonban írtál, és ennyi – elfoglaltad a piacot. És ha sokáig ír valamit, például valamilyen banki alkalmazást (hogy jóváhagyja a hiteleket, valami mást) - írja meg Java nyelven. Mert ott komoly dologról van szó, papírok, pénz, okmányok, még valami, de nem lehet annyira elrontani, hogy minden tönkremenjen, különben az emberek megsértődnek - elment a pénzük és nem jutott el sehova, mert egy pillanat alatt a karakterlánc számmá változott, vagy fordítva. Szóval, ez azt jelenti, hogy módszeresen fogod és írsz Java-ban, írsz... Nos, vagy .Neten, elvileg előfordulnak ilyen helyzetek is. Természetesen ott is előfordulhatnak problémák, de ennek még mindig valamivel kisebb a valószínűsége.

Programozás a hadsereg, a repülőgépipar számára

Most képzeld el, hogy úgy döntöttek, hogy rakétán küldenek a Holdra. Mivel írnád szívesebben a rakéta hajtóműveit vezérlő kódot? Lássuk. Ez valószínűleg (az előadó Perlre, Pythonra, PHP-re, Rubyra mutat) nem éri meg - lelassul, valami más történik, nos, általában nem egyeznék bele, hogy egy ilyen rakétával repüljek. C++ nyelven? Őszintén szólva én sem tenném, mert túl sokféleképpen lehet megölni magát C++-ban. Ha kint vagy valahol az űrben, az nem túl jó.

Esetleg Java-ban? Úgy tűnik, ott minden elég megbízható, és az architektúra is jó, nincsenek vad típusok, nincs extra memóriatúllépés. Tegyük fel, hogy eljött a legfontosabb pillanat, és a mi Java úgy döntött, hogy összegyűjti nekünk a szemetet. Le kell szállnunk, le kell lassítanunk, és ő azt mondja: "Nem, a szemét megy." Általában véve sem annyira.

Őszintén szólva jobban szeretném, ha ez a program Pascal nyelven íródott volna. Pascalt persze nem igazán szeretem, de valahogy ilyen ügyekben nagyon menő lenne.

Egyszerre több nyelv használata szoftverfejlesztéshez

Nos, mit kell mondani a modern nyelvekről általában. Manapság sok projekt nem egy nyelven él, vagyis van, amelyik az egyik nyelven él, mások a másikon, mások pedig a harmadikon. Például, ha van valamilyen webalkalmazása, amely vad mennyiségű információt dolgoz fel, a lemezekhez való hozzáférések (még nem is adatbázisok, azok olyan hatalmasak, hogy még egy már odaírt adatbázis sem tud lehúzni) valószínűleg néhány akkor alacsonyan van írva. -C szintű, vadul gyorsan írni a lemezre, meg minden. Természetesen nem érdemes a teljes projektet C-ben megírni. Lehet, hogy van valami köztes logika Java-ban írva, ami C függvényeket hív meg gyors hívásokhoz. Nos, a frontend (amit a felhasználó néz), természetesen már rá van írva valamire, egyes szkriptekre, arra, amit a böngésző közvetlenül végrehajt (JavaScript). És mindez együtt él és sikeresen kölcsönhatásba lép.

Egyes alkalmazások fejlesztése során, még a nagyoknál is, néha mit csinálnak az emberek? Fogják és megírják Pythonban egy prototípust (hogyan fog működni), felvázolják, átgondolják valamiféle architektúrát. Az írás valóban nagyon gyors – dobtak egy prototípust, kísérleteztek vele, és azt mondták: „Hűha! Ez nagyon jó! És teljesen átírva. Úgy tűnik, kétszer végezték el a munkát, ami kétszer annyi ideig tartott (na jó, másfél). De nem! Gyakran kiderül, hogy ez a módszer nem rossz, mert ha egyből írsz valamibe, például Java nyelven, majd úgy döntesz: "Nem, cseréljük át teljesen az architektúrát és minden", akkor 10-et költesz. -szer több idő. Ilyen dolgok is léteznek és élnek.

Bármely programozási nyelv sikerének feltételei

Most beszéljünk arról, hogy néhány jó megjelenésű nyelv miért nem maradt fenn, vagy nagyon korlátozott helyen él. Amikor Wirth látta, hogy az Apple, a Borland és a rossz cégek mit műveltek Pascaljával, egy még jobb nyelvet talált ki – az Oberont. Csak vadul minimalista volt – vagyis nagyon kevés parancs volt (Strings? Miért van szükségünk karakterláncokra? Készítünk karaktertömböt!). Nos, valami nem ment jól vele, olyan mértékben, amennyire menni lehetett.

Még egy dolog. Az amerikai hadsereg arra kérte őket, hogy dolgozzanak ki egy klassz nyelvet, amelyen minden működik és mindent le lehet írni. Az eredmény egy meglehetősen szörnyű ada nyelv lett, amelyen azonban még mindig írnak valamit, de ismét csak a katonaság számára.

Mi a probléma? Miért vették át a piacot egyes nyelvek, például a Python, amelyet kezdetben egyetlen vállalat sem támogatott? A szintén rosszul megtervezett PHP szintén átvette és magával ragadta a piacot (nagy részét). És mindenféle dollármilliárdokat fektettek be (Adára mutat az előadó), és nem ment sehova, nem történt semmi. Mihez kapcsolódik? Ennek az az oka, hogy ezen nyelvek körül nincs infrastruktúra. Vagyis a nyelvezet lehet nagyszerű, de amíg nincs dokumentáció, amíg nincs közösség, amely válaszolni tudna a kérdésekre (a Stack Overflow-n), és végül, ami a legfontosabb, amíg nincs nagy könyvtárak száma, a nyelv nem lő. Vagyis Ön például egy weboldalt akart írni az Oberonról. És mi az, miért nem? És kezdődik a baj... Nem állíthatja be webszerverét az Oberonon, hogy könnyedén tesztelje, nem csatlakoztathat egyetlen könyvtárat sem, mert azok nincsenek az Oberonon. És mindez valamilyen mankóval történik, az erők elszállnak, és általában kiköpöd és tiszta C-vel írod az oldaladat Oberon helyett. És azok a nyelvek, amelyek képesek más nyelvű könyvtárakat használni, jól élnek. Ugyanaz a Python azokon a helyeken, ahol lelassul. Nos, általában mindenféle szabványos dolog, mint a rendezés és valami más, C-ben van írva, és ő (Python) tudja, hogyan kell velük kommunikálni.

A Java Java natív felülettel is rendelkezik. Ez lényegében a C, vagyis ott (szerintem mindig ki akarják tiltani, de úgy tűnik még nem tiltották be) ezek a nyelvek kölcsönhatásba léphetnek a meglévő könyvtárakkal (főleg a C-kkel). És ennek köszönhetően vesznek és dolgoznak. Érted az ötletet, amit megpróbálok átadni neked, igaz? Ne írjon azokon a nyelveken, amelyek nem tudják, hogyan kell csatlakoztatni a C-könyvtárat. Nos, ha valami jót akarsz használni. Nos, és fokozatosan szereznek (a nyelvek) valamilyen infrastruktúrát. És jól élnek.

Programozási nyelv és pályaválasztási tanácsadás

Most beszéljünk arról, hogyan lehet megérteni, mit akarsz az életben. Mi történik a klassz dolgokból? Tudsz programozni bizonyos rendszereket, igaz? Nagyon jó ott számolni ezeket a bájtokat, akarsz quadrocoptereket, valamiféle kamerákat indítani, valami mást csinálni. Akkor valószínűleg a C a választásod.

Ha írni akarsz, talán nem a legérdekesebb alkalmazásokat az életben, de jó, ha megtervezed őket, átgondolod az egészet, és sok pénzt keresel azzal, hogy az idő nagy részében ülsz és unatkozol (ezért fizetni kell ha jó vagy hiányozni), itt vannak - Java, .Net. Elmész valami bankba dolgozni, írsz, fehér ingben mész kilencre dolgozni, jó fizetést kapsz és a legjobb Java fejlesztők ajánlásai szerint írsz, .Net birkák meg minden...

Ha szeretne írni néhány alkalmazást, néhány böngészőt, néhány játékot, valami mást, akkor a C ++ nagyszerű. Ha weboldalakat szeretne írni, akkor itt vannak az Ön által választott nyelvek (az előadó Perl, Python, PHP, Ruby-t mutat), nincs sok különbség. Az egyetlen dolog, hogy a PHP a Python előtt meghal, tehát ha lusta vagy új dolgokat tanulni, akkor tanuld meg a Python-t. Nem fogsz észrevenni nagy különbséget, de tovább bírod.

Az sem világos, hogy mi lesz Rubyval. Nos, lehet PHP-zni is, ha már megtanultad, mert olyan egyszerűek, hogy nem tart olyan sokáig újratanulni.

És végül van egy másik alkalmazási terület a programozási nyelveknek - ez az, amikor egy nem programozó használja őket. Tegyük fel, hogy Ön matematikus, fizikus, kémikus, elemző, bárki, és gyorsan ki kell számítania valamit, elemeznie kell néhány adatot (biológusok számára például, hogy hány róka él a Parancsnok-szigeteken). Mindezt Excelben táblázatba hajthatod, vagy valamivel elemezheted. A Python is kiválóan alkalmas erre, tud szöveggel dolgozni, a könyvtárak pedig tele vannak mindenfélével, statisztikaival, meg ilyesmivel. Ha valamilyen gépi tanulást szeretne végezni, adatokat feldolgozni, előre jelezni, akkor most a Python is ezt teszi a leggyorsabban. Igaz, meg kell jegyezni, hogy a feladatok nagyon eltérőek. Például, ha azonnal kereskedni szeretne a tőzsdén olyan körülmények között, amikor az árfolyamok folyamatosan változnak, akkor bármennyire is menő Machine Learninget ír Pythonban, azoknak, akik valami gyorsabban írják, lesz idejük mindent korábban megvenni, amíg meg nem számítanak, még akkor is, ha az algoritmusuk rosszabb. Ezért még ezek a gépi tanulási feladatok (egyesek) is nagy (és rendkívül magas) teljesítményt igényelnek, és ennek megfelelően más nyelveket is.

Az egyetlen módja annak, hogy megértsd, mit akarsz, ha mindent megpróbálsz. Most az egyik vízióként mondom el, hogyan lehet mindent kipróbálni. Hogyan lehetsz programozó és boldog? Így. TÓL TŐL tiszta lap kezdődik. Itt tanulod a matematikát, az orosz nyelvet és a többi kötelező és választható tantárgyat az iskolában, programozási tudásod pedig jelen pillanatban tükröződik a táblán (az előadó egy üres táblára mutat). És boldog emberré akarsz válni, azt csinálni, amit szeretsz, sok pénzt keresni, és nem tagadni meg magadtól semmit, és boldog lenni.

Ennek elérésének egyik módja. Vannak persze mindenféle inspiráló történetek olyan emberekről, akik egyáltalán nem jártak egyetemre, vagy lemorzsolódtak és milliárdosok lettek, cégtulajdonosok stb. De meg kell jegyezni, hogy az esetleg nem milliárdossá vált, de jól is élő emberek többsége ennek ellenére valamikor végzett az egyetemen.

Mi a helyzetünk az egyetemre való belépéssel (most iskolában tanulsz)? Amíg az iskolában jársz, meg kell értened, hogy a következő lépés a beiratkozás és a gondozás. Tegye le a vizsgát vagy nyerje meg az olimpiát. A vizsgán használhatod a Pascalt, a C ++-t (beleértve a tiszta C-t is), a Pythont (ezeket nem említem tovább). Az olimpián - ugyanaz a Pascal, ugyanaz a C ++, ugyanaz a Python (a problémáiról most fogunk beszélni), és leggyakrabban van Java. Bármi más történik az olimpiától függően, de nem ez a lényeg.

Hogyan néz ki a nyelvek elosztásának ütemterve az Összoroszországi Informatikai Olimpián? Azok az emberek, akik részt vesznek az összoroszországi olimpián, a legmenőbb olimpián, mire írnak? Így néz ki (itt Pascalt jelent, itt pedig kb. 2000-et, itt pedig kb. nullát, itt C++-t, itt pedig 2015-öt).

2000-ben szinte senki nem írt C++-t. 15 év telt el, és szinte senki nem ír Pascalban, pedig Pascal modern. Ez egy olyan nyelv, amely nagyjából ugyanazt tudja csinálni. Csak mindenki lusta lett ezt megtanulni, mindenféle új irányzattal, és továbbra is mindenki Borland Pascalban ír, ami persze nem tud mit kezdeni. A C++ nyelven az emberek írnak néhány algoritmust (STL) a rendezéshez – remek, azt írták, hogy sort () és ennyi. Pascalon, a szokásoson, a régien - ez probléma. Írtak valami készletet (szükséges) - kiváló, C ++-ban írták, Pascalban megint puszta gyötrelem. Az új Pascalokon természetesen ezt megteheti, de általában pénzbe kerülnek. Lehet, hogy nem vetted észre, de ez van.

Van Java is, de a Java-ban nagyon sok betű van. Nagy projektekhez való, de kis egyszeri programokhoz elég rossznak bizonyul, mert sok a plusz levél. De egyesek írnak is, rá lehet tanulni írni. De ez nem elérhető a USE-nál, és a USE-t továbbra is nagyrészt el kell végezni.

Mi a legjobb a vizsgára? A vizsgára a legjobb (ha nem tudsz semmit és nem tanítanak semmit az iskolában), ha megtanulod a Python-t. A vizsgakérdések egy része jól meg van oldva rajta. Az olimpián általánosságban kiderül, hogy a C ++ van (használva), mert a Python nagyon lassú, nincs minden megoldva rajta.

Tehát megtanulta a nyelv egy kis részhalmazát és néhány algoritmust (talán), és sok problémát megoldott annak érdekében, hogy megszerezze a diplomáját az olimpián, és egyetemre menjen, hogy felsőfokú végzettséget szerezzen.

Most arról fogok beszélni, hogyan építjük fel a tanfolyamot a HSE-n, milyen sorrendben oktatják a nyelveket, hogyan tanulják azokat az Alkalmazott Tudományok Karának alkalmazott matematikában és számítástechnikában, amit a Yandex-szel végzünk. Az első félévben - Python (nem teljesen, arról, hogyan kell tanítani az iskolában) és C ++ (már szélesebb, sokkal szélesebb, mint az iskolákban általában tanítják). Mondjuk rögtön, nehogy megijedj, ha hirtelen meg akarod csinálni, azt mondod: „Mi, én ezt már tudom, miért menjek el valahova tanulni? Inkább elmegyek máshova." Azok számára, akik már jól tudnak programozni, lehetőség van azonnal az algoritmusok tanulmányozására, és meglehetősen elméleti felkészülésben. Ezeket most nem nézzük, ez (mutat a táblára) azoknak szól, akik átlagosan vagy egyáltalán nem programoznak.

Az első félévben megtanítjuk a Python alapjait, csak azért, hogy az emberek megtanuljanak programozni, és senki se sértődjön meg. A Python-t ritkán tanítják az iskolákban, többnyire Pascal vagy C ++ ismeretekkel jönnek az emberek. Alapvetően akár Pascal is, ha tömegiskola. Na, hogy senki ne sértődjön meg, mindenki új nyelvet tanul (mintha egyenrangú lenne). És C++, egyszerűen azért, mert a C++-ból aztán bárhová mehetsz.

Ezután jön az "Algoritmusok" tanfolyam és egy külön tanfolyami projekt. Klasszikus algoritmusok implementációval. Nem mintha elméletben vettünk volna valamit, kiszámítottuk a bonyolultságot. Az előadáson vettük, kiszámítottuk a bonyolultságot, a szemináriumon - vettük, megvalósítottuk az algoritmust. A projekt azt jelenti, hogy a diákok valami befejezett dolgot csinálnak. Például az egyik projekt a következő volt: kiszámolni... Tegyük fel, hogy sok lakásod van Moszkvában, és megérted: „Ó, van egy csomó extra dolgom, bérelek egyet. És meghatároznak bizonyos árat, és senki sem akar lakást bérelni tőled - valószínűleg túl drága. Vagy árat adtak, azonnal leszedték rólad, és azt gondolod: "Ó, valószínűleg olcsón adtam át" - és te is ideges vagy. Vagyis ki kellett számolni, hogy mennyibe kerül egy lakás bérlése? Ön vezeti be az adatokat – az értékelést készít Önnek. Egy ilyen oldal, ami több dologból állt: mondatokat szedni, elemezni, valamilyen gépi tanulási algoritmust alkalmazni (valószínűleg) egyszerű és szép webes arculatot csinálni, amiben választhat valamit, behajthat valamit, néhány méter, néhány szoba, szaunák számát, a lakásában található jakuzzik számát, és hozzávetőlegesen becsülje meg a költségeket. Vagyis valami kész, nem túl bonyolult dolog. Itt ez (az előadó egy algoritmus-tanfolyamra mutat) egy ilyen lendületes C ++-t, konzolos I / O-val. No, és itt (az előadó a „projekt” feliratra mutat) mentor irányításával valamit, esetleg adatbázisokkal, esetleg szövegelemzéssel és mással.
Aztán jön a harmadik félév – a „Számítógépes rendszerek” nevű kurzus. Elég sokat kell érteni az assemblerhez (nagyon kevés), aztán valami hasonló a tiszta C-hez és az operációs rendszerekkel való interakcióhoz, lényegében a rendszerprogramozáshoz. És a szeminárium projektje is mindenféle hálózati interakció témájával foglalkozik, meglehetősen alacsony szinten: fejlesszen ki valamilyen segédprogramot, például rsync-et (szinkronizálás, valószínűleg tudja. Tiszta C-ben többé-kevésbé írjon analógot a rsync, amely a hálózati szinkronizálási mappákon keresztül lesz elérhető minden fájl hozzáféréssel és így tovább).

És végül a negyedik. Nem is tudom, minek nevezzem, ez a valódi fejlesztéshez szükséges technológiák olyan keveréke, mint a webfejlesztés. Vagyis ez az adatbázisok gyakorlati alkalmazása, ismét valami hasonló, mint a projektben (az előadó 2 kurzust mutat a projektről), de már mélyebben. Azaz ilyen többé-kevésbé konkrét dolgok már, gyakorlati programozás. Ezzel párhuzamosan van bármilyen elmélet, hát itt még tudományt csinálnak.

És két tanfolyam után az emberek szétszélednek, hogy azt csinálják, ami érdekli őket, mert ez a dolog elég széles körben lefedi a programozás ilyen alapjait, és ebben a pillanatban az emberek már megértik, hogy nem akarnak csinálni számítógépes rendszerek semmi esetre sem (például nem szerették a rendszerprogramozást), de szeretnének valamilyen elméleti algoritmussal, a számolás nehézségeivel, új dolgok kitalálásával, elosztott vagy valami mással foglalkozni. Vagy éppen ellenkezőleg, azt hiszik, hogy nincs sok itt ( az előadó az első tanfolyam sorára mutat Python és C ++ segítségével) ment, aztán ( az előadó a harmadik kurzus sorára mutat, rendszerprogramozással) - hogy nem tetszik, számolj bájtokat és állíts be mindenféle olvasási-írási korlátozást, csinálj streameket, szálakat és még valami. És ennek megfelelően az emberek választanak valamilyen irányt és tanulnak. Ez elvileg azért, hogy ne alakuljon ki nálad a "kacsa-szindróma" – te voltál az első, aki meglátta Pascalodat, és most azt mondta, hogy "Pascal az erő"; vagy haladóbb - megláttad a C ++-t, és elkezdtél beszélni mindenkiről, hogy a C ++ az erő, és ott minden más nem túl jó.

Itt szélesebben kell nézni (az előadó a kurzusok listájára mutat a táblán) - ez az egyik módszer, amelyet választottak, különösen az EBK-n (nemrég jelent meg, tehát meglehetősen modern) . Vannak más módok is a találkozásra. Más jó egyetemeken kicsit más a sorrend és más a hangsúly. De igyekeznek mindennel megismertetni az embereket, amijük van.

Hogyan találjunk munkát programozóként

Te vagy ( az előadó a kurzusok listájára mutat) mindent megtett, az egyetemen tanult, még két évig valami eredményesebbet csinált, és mennie kell dolgozni. Hogyan választasz ki valamit, amivel dolgozni szeretnél? Először is mindent megtudtál, valahol mélyre mentél, és már tudod, mit szeretsz. Ki kell választani, hogy mit szeretsz természetesen. Mert ha szeretsz, belefekteted az erőfeszítéseidet, lesz motivációd és általában minden rendben lesz. Mert nem csak a pénzről van szó, hanem arról, hogy érdekessé és kellemessé tegyük az Ön számára. Nos, és szeretnél bekerülni egy menő társaságba, szerezz munkát. Milyen embert szeretnék személyesen látni? Tegyük fel, hogy száz diák jön hozzám – kettőt el kell vinnem dolgozni, vagy egyet. Miért jönnek, egyáltalán nem értem, kik ők, mik, hogy vannak? Legjobb esetben megmutatják az egyetemen kapott oklevelet, és azt mondom: „Hűha! Ez egy klassz diploma, de ez nem olyan menő!” És mellesleg tévedhetek. Lehet, hogy az illetőnek sok szabadideje volt, és sokkal jobban tanult.

Mi lenne jó? Először is egy nyílt forráskódú projekt, amit az elejétől a végéig írtál. Lehetőleg ha valamilyen infrastruktúrát csinálok, hogy az adatok gyorsan olvashatóak legyenek, vagy valami mást, akkor természetesen szívesen írnék valami nyílt forráskódot a számomra. Nem valami weboldalt készítettek, hanem valamit a témában. Miért érdekes ez számomra? Megnézem a kódodat, látom, hogy milyen gyakran követed el, látom, hogyan reagáltál a felhasználók hibáira, az azt használó fejlesztők hibáira – minden rögzítve van, mindent megnézek, és azt gondolom: „Hú, ez a hiba két éve nincs bezárva, akkor udvariatlanul azt válaszolta a felhasználónak, hogy van még valami - nem fogadom el. Tehát ez az Ön személyes projektje.

Következő, mi lenne még jó? Szeretném látni, hogy sikerült csapatmunka. Vagyis eljössz hozzám egy interjúra, és azt mondod: „A srácok az egyetemről lemostunk egy jó pályázatot. Én csináltam ott egy adatbázist, ők csináltak valamit mobil alkalmazás, és ott dolgozott egy srác is, egy tervező lány, egy technikai segítő fiú. Öten voltunk, és remek projektet készítettünk.” Nos, megnézem, mi is valójában a te projekted, és azt mondom: „Mi a tiéd?” Újra megnézem a kódot, és megértem, hogy tudja, hogyan kell csapatban dolgozni emberekkel.

A programozó nem az, aki egyedül ül (ilyen indie) a garázsban, valahol lekapcsolt villany mellett, nem beszél senkivel, szakállt növeszt és ír. Mindazonáltal van valamilyen interakció az emberekkel. Például egy főnökkel, aki néha szitkozódhat (főnökök, ilyenek, nem mindig kedvesek). És látom, hogy tudsz emberekkel dolgozni, és boldoggá tesz, ha van valami jó csapatod. Még ha nem is jó, de jobb, mint a semmi.

Mi mást szeretnék én személy szerint? Ha megmutatta magát nagy projektekben. Például elköteleztél valamit a Linux kernelhez, ha pedig rendszerprogramozással foglalkozol, javítottál néhány hibát. Vagyis megmutatták, hogy el tudja olvasni valaki más kódját, és tudja, hogyan kell módosítani rajta. Nézem: "Ó, tényleg, kitaláltál valami bonyolultat, és javítottál néhány hibát!" És kezdem igazán élvezni. Mert nekem... hát, nem tudom... szóval a programozóm kilépett, mert a versenytársai magasabb fizetést ajánlottak neki, és sürgősen szükségem van valakire, aki betölti a helyét – te. Úgy nézek ki, hogy csak a semmiből írtál, és nem tudod, hogyan kell elolvasni és szerkeszteni valaki más kódját, és felháborodok.

És végül, az adott pozíciótól függően, vannak más dolgok is. Ha elemzői állásra jelentkezik, szeretném, ha adatelemzési problémákat oldana meg a Kaggle-n. Ha valamilyen algoritmussal foglalkozik, akkor azt szeretném, ha a sportprogramozásban végezne algoritmusokat. És végül, ha a szakmára gondolt, elolvasta, hogyan zajlanak az interjúk, akkor azt tapasztalta, hogy ott vannak, akik nagy elégedetlenséget fejeznek ki: „Eljöttem, és megkérdezik, mi a hobbim. Ülök, mint egy bagoly, és nem válaszolok, mert nincs hobbim”, és azt hiszik, hogy a HR-esek ezt csinálják. Valójában megpróbálják megérteni, milyen barátságos és megfelelő vagy. Ha barátságtalan és alkalmatlan vagy, akkor bármennyire is zseniális és munkamániás vagy, remek szakember, nagy tudással, nehéz lesz veled együtt dolgozni a csapatnak, és egyedül nem tudod kihozni a projektet. Ráadásul ha ki is húzod, el tudod képzelni, milyen teher nehezedik a cégre. És mit jössz holnap, és azt mondod: "Növeld a fizetésemet tízszeresére, különben elhagylak." Természetesen a cégek nem akarnak ilyen helyzetbe kerülni. Ezért az adekvátság és jóindulat ápolása önmagában ugyanolyan fontos (legalább), mint bizonyos szakmai készségek fejlesztése.

Összefoglalva, mit lehet mondani? Mely nyelvek jók és melyek rosszak? Nos, bizonyos nyelvcsoportokon belül, például a Ruby, a Python és a PHP között, mit válasszunk? Természetesen a helyes válasz a Python, de valójában a különbség a megengedett hibák számában van, valami más mennyiségben - 5%, nos, talán 10%. Vagyis ha már van egy kész projektje PHP-ben, akkor ép elméjű senki sem fogja azt mondani: „Írjunk át mindent Pythonban.” Azt fogják mondani: "Felveszünk több PHP-fejlesztőt, és folytassuk a PHP-írás írását." Oké, ez egy jó választás. Természetesen, ha hirtelen elkezdesz írni valamilyen projektet, akkor bölcs dolog lehet most a Pythont választani. Bár attól is függ. Lehet, hogy sok olcsó PHP fejlesztő van a piacon, de a Pythonok drágák, és azt gondolja: „Igen, a technológia menőbb, de pénzt takarítok meg a kész fejlesztőknél.” És minden rendben van, már jössz és dolgozol ott.
Hogyan válassz a Java és a C++ között? Igen, pontosan ugyanez történik. Úgy gondolom, hogy mire eldöntöd, hogy melyik nyelven kezdj el egy új nagy projektet, addigra tudást szerezsz a szakterületeden, és jó választás. Jelenleg még nem kell választanod, ezért azt tanácsolom, hogy tedd azt, amit élvezel.

Az alapok, mint mondtam, a programozás alapjai (mi a függvény, mik az if-ek, for-ok, tömbök, valami más) többé-kevésbé bármely nyelven megtanulható. Például a C ++-ban, hiszen sok minden hasonlít rá, és a konkrétumok benne (ezen a szinten) a legkevesebb, és a legkevesebb felesleges betűt írni. Nos, ha megtanulsz néhány bonyolult építészeti dolgot, akkor megtanulod, és nem kell sokat aggódnod emiatt. Vagyis a lényeg, hogy próbáld meg, keresd meg azt, ami tetszik, és amikor rájössz, hogy már hajnali 4 óra van, és csak ülsz és írogatsz szórakozásból, mert tetszik, akkor már ez is egyértelmű. pillanat, amikor megtaláltad.

Bárki, aki úgy dönt, hogy elsajátítja az alkotási folyamat alapjait számítógépes programok, vajon melyek ma a legnépszerűbb programozási nyelvek, és melyeket a legjobb megtanulni. És ha nagyon könnyű válaszolni az első kérdésre, akkor a hallgatónak magának kell keresnie a választ a másodikra, tervei és szükségletei alapján.

Vessünk egy pillantást a legnépszerűbb programozási nyelvekre, hogy kiválaszthassa az Ön számára tetszetős nyelvet, és elkezdhesse a tanulást.

programozás?

A fő programozási nyelvek szétszerelése és leírása előtt szét kell szerelni magát a koncepciót.

A programozási nyelv egy formális jelrendszer, amelyet számítógépes programok írásához használnak. Mint minden más nyelvnek, ennek is megvannak a maga lexikai, szemantikai és szintaktikai szabályai.

Az alacsony és magas szintű programozási nyelvek kiosztása. A mai napig főleg az utóbbit használják.

Magas és alacsony szintű programozási nyelvek

Egy alacsony szintű programozási nyelv a szerkezethez közeli felépítésű, ilyenkor a parancsokat nem nullákkal és egyesekkel, hanem mnemonikus jelöléssel jelöljük. A legismertebb alacsony szintű programozási nyelv az assembly nyelv.

Bármelyik nyelven való munkavégzés magas képzettséget, megértést igényel, ráadásul a programok megírása sok időt vesz igénybe. Ugyanakkor az alacsonyak segítségével kicsi, de ugyanakkor hatékony programokat készíthet. Kezdő programozóknak nem ajánlott velük kezdeni az ismerkedést.

A magas szintű programozási nyelveket szemantikai struktúrák jelenléte jellemzi a műveletek leírására. Tanulmányozásuk sok időt vesz igénybe, gyakorlati alkalmazásuk figyelmességet, a szintaxis és szókincs alapvető szerkezeteinek, szabályainak megértését igényli. Ugyanakkor a magas szintű nyelvek ismerete lehetővé teszi nagy, színes, többfunkciós projektek létrehozását rekordidő alatt.

A magas szintű Pascal, Java, C, C++, C#, Delphi és még sokan mások. Szoftverek és alkalmazási programok írásához használják őket.

A legnépszerűbb programozási nyelvek

Melyek ma a legnépszerűbb programozási nyelvek?

Az elmúlt években a legnépszerűbb programozási nyelvek közé tartozó Java, C, C++, Python, C# a legnépszerűbb és legkeresettebb. Ők az alapok modern programokés bármilyen nagy projekt írásakor használatosak. A programozók több mint 70%-a ezekkel a nyelvekkel dolgozik. Az előrejelzések szerint a következő 10 évben továbbra is ugyanolyan kereslet lesz rájuk, mint ma.

A Ruby, a PHP, a JavaScript nem kevésbé népszerű. A legtöbb szakértő rájuk összpontosít.

Általánosságban elmondható, hogy népszerűségtől függetlenül minden többé-kevésbé önbecsülő szakembernek legalább több, különböző szintű nyelvet tudnia kell. Ez annak köszönhető, hogy a legtöbb nagy projektet továbbfejlesztik különböző nyelvek. Például egyes modulok C-vel, mások Java-val, mások Delphi-ben íródnak.

C, C++ és C#

Kezdjük a C családdal.

A C nyelvet a 70-es években állították össze és fejlesztették. Ennek alapján később olyan nyelveket hoztak létre, mint a C ++ és a C #, a Java.

A C++ egy erőteljes nyelv, amelyet alacsony szintű segédprogramok és illesztőprogramok, valamint nagyon lenyűgöző alkalmazások és szoftvercsomagok létrehozására terveztek.

A C# egy modern objektum-orientált nyelv, amely C és C++ alapú. Megvan biztonságos rendszer típusok. Egyik megkülönböztető tulajdonsága, hogy nagyon hasonlít egy másik népszerű programozási nyelvre - a Java-ra.

A nyelv egyik hiányossága, hogy csak alkalmazásokat tesz lehetővé operációs rendszer A Windows ráadásul nagyon nehéz, ami azt jelenti, hogy a ráírt programok sok helyet foglalnak el.

Megjegyzendő, hogy a C, C++ és C# sok szempontból a kezdők számára készült programozási nyelvek. Miután elsajátította őket, biztos lehet benne, hogy egy új nyelv megtanulása minimális időt vesz igénybe.

Megismerkedhet velük, és megírhatja első alkalmazásait egy speciális környezetben, a Borlandban vagy a Visual Studioban.

JavaScript

A JavaScript objektumorientált képességekkel rendelkező nyelv. 1996-ban fejlesztették ki és ma az egyik legnépszerűbb. A nyelvet elsősorban webes szkriptekben használják, és a főbb böngészőkben működik, mint pl internet böngésző Firefox, Opera. Szorosan kapcsolódik a HTML-hez és a CSS-hez is, így mielőtt elkezdené a tanulást, el kell sajátítania ezeknek a nyelveknek az alapjait.

Érdemes megjegyezni, hogy a névbeli hasonlóság ellenére a JavaScript és a Java két teljesen különböző nyelv.

Ez a nyelv azoknak való, akik böngészők és szkriptek, alkalmazások és kiegészítők létrehozására koncentrálnak. Ha saját oldalakat tervez létrehozni, akkor őt is jobban meg kell ismernie.

Jáva

Figyelembe véve a legnépszerűbb programozási nyelveket, nem szabad megemlíteni a Java-t. Ez egy objektum-orientált programozási nyelv, amelyet 1995 óta használnak. Nagyon könnyű, és bármilyen architektúrájú Java gépen fut. Android és iOS alkalmazások fejlesztésére szolgál.

Piton

Python - amelynek fő feladata a fejlesztő termelékenységének növelése, a kód olvashatóbbá tétele. Neki van kis lista szintaktikai konstrukciók és egy nagyon lenyűgöző szabványos függvénytár. A nyelv fejlődése a 90-es években kezdődött és a mai napig tart. Különböző projektek fejlesztésére, bővítésekre és korábban kifejlesztett alkalmazások integrálására szolgál.

A Python nyelv alapjai a programozás kezdeteként és egy második kiegészítő nyelvként is megtanulhatók.

rubin

A Ruby egy magas szintű programozási nyelv, amely a Perl, a Smalltalk, az Eiffel, az Ada és a Lisp részeit tartalmazza. 1995 óta használt. A nyelv fő előnye az egyszerűség és a rugalmasság. Kisebb pályázatok írására és komoly programok fejlesztésére egyaránt alkalmas.

PHP nyelv

A PHP egy meglehetősen népszerű szkriptnyelv, amelyet webes alkalmazások készítésére terveztek. Elég gyakran szerepel a "Programozási nyelvek kezdőknek" listájában is, és tanulmányozásra ajánlott.

Ezzel nagyon rövid idő alatt kiváló minőségű webes alkalmazásokat hozhat létre. A nyelv egyszerű és érthető felépítésű, amely lehetővé teszi, hogy néhány nap alatt megtanulja.

Következtetés

Áttekintettük a legnépszerűbb programozási nyelveket, amelyek tanulmányozása segít a jövőben sikeresen létrehozni projektjeit, és programozóként pénzt keresni. Nincs egyetértés abban, hogy melyik nyelvet érdemes tanulni, ugyanakkor a szakértők megjegyzik, hogy kívánatos több programozási nyelv ismerete, mivel ez tovább bővíti a tevékenységi kört és megkönnyíti a különböző csapatprojekteken való munkát.

    Programozási nyelvek listája kategóriánként Kronológiai genealógiai Programozási nyelvek listája kategóriák szerint csoportosítva. Egyes nyelvek több kategóriába is tartoznak. Tartalom ... Wikipédia

    Programozási nyelvek listái Kategóriánként kronológiai genealógiai A programozási nyelvek genealógiai listája itt található. A nyelveket az előző nyelvek szerint osztályozzák, amelyek erősen befolyásolták a ... Wikipédia kialakulását

    Tartalom 1 Gyártó vagy platform szerint 1.1 Flash 1.2 Java 1.3 Microsof ... Wikipédia

    Programozási nyelvek listája Kategóriánként A programozási nyelvek kronológiai genealógiai idővonala a programozási nyelvek kronológiai sorrendben rendezett listája. Tartalom ... Wikipédia

    Ezt a cikket wikifikálni kellene. Kérjük, formázza a cikkek formázási szabályai szerint. Konvenciók ... Wikipédia

    Ez az oldal információs lista. .NET programozási nyelvek (CLI-képes nyelvek vagy CLI nyelvek) számítógépes programozási nyelvek, amelyek a Comm ... Wikipédia követelményeinek megfelelő könyvtárak és programok létrehozására szolgálnak

    Fő cikk: Lista szövegszerkesztő szövegszerkesztők Windows és összehasonlító táblázat. Tartalom 1 Ismert szövegszerkesztők összehasonlító táblázata ... Wikipédia

    A C# programozási nyelv ma az egyik legnépszerűbb programozási nyelv. Paint.NET nyílt forráskódú renderelő szoftver raszteres grafika A SharpDevelop egy nyílt forráskódú IDE a C#, Visual Basic .NET (VB.NET), Boo ... Wikipédia számára

    Ez a Free Software Foundation által a GNU UNIX projekt részeként kifejlesztett szoftverek listája egy hasonló operációs rendszerhez, amely teljesen ingyenes szoftverekből áll. A legtöbb ilyen csomag egyben ... ... Wikipédia is

    Ez a cikk vagy szakasz felülvizsgálatra szorul. Kérjük, javítsa a cikket a cikkírás szabályai szerint ... Wikipédia

Könyvek

  • Python gyerekeknek. Programozási oktatóanyag, Jason Briggs. A könyvről Ez a könyv egy oktatóanyag a mai egyik legnépszerűbb programozási nyelvről - a Pythonról. A legegyszerűbb lépésektől kezdve, lépésről lépésre megírja a…
  • JavaScript gyerekeknek. Programozási oktatóanyag, Nick Morgan. A könyvről Ez a könyv lehetővé teszi, hogy elmerüljön a programozásban és könnyedén elsajátítsa a JavaScipt-et. Valódi játékokat fog írni - kincsvadászat a térképen, "akasztófa" és "kígyó". Minden…