Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • OS
  • Za što su programski jezici ukratko. Kako stvoriti vlastiti programski jezik: teorija, alati i savjeti praktičara

Za što su programski jezici ukratko. Kako stvoriti vlastiti programski jezik: teorija, alati i savjeti praktičara

    Popis programskih jezika po kategorijama Kronološki genealoški Popisuje programske jezike grupirane po kategorijama. Neki jezici su svrstani u nekoliko kategorija. Sadržaj ... Wikipedia

    Popisi programskih jezika po kategorijama Kronološki genealoški Dat je genealoški popis programskih jezika. Jezici su razvrstani prema prethodnim jezicima koji su imali snažan utjecaj na formiranje... Wikipedije

    Sadržaj 1 Po proizvođaču ili platformi 1.1 Flash 1.2 Java 1.3 Microsof ... Wikipedia

    Popisi programskih jezika Po kategoriji Kronološki Genealoški Kronologija programskih jezika Kronološki popis programskih jezika. Sadržaj ... Wikipedia

    Ovaj članak treba wikicirati. Molimo da ga ispunite u skladu s pravilima oblikovanja članka. Konvencije ... Wikipedia

    Ova stranica je informativni popis. Programski jezici .NET (CLI ili CLI-Enabled Languages) su računalni programski jezici koji se koriste za stvaranje knjižnica i programa koji su u skladu s Comm… Wikipedia

    Glavni članak: Uređivač teksta Popis Windows uređivača teksta i usporedna tablica. Sadržaj 1 Tablica usporedbe poznatih uređivača teksta ... Wikipedia

    Programski jezik C# jedan je od najpopularnijih programskih jezika danas. Paint.NET open source softver za obradu rasterske grafike SharpDevelop open source IDE za C #, Visual Basic .NET (VB.NET), Boo ... Wikipedia

    Ovo je popis softvera koji je razvila Zaklada za slobodni softver kao dio GNU UNIX projekta, sličnog operacijskog sustava koji se u potpunosti sastoji od slobodnog softvera. Većina ovih paketa su također ... ... Wikipedia

    Ovaj članak ili odjeljak treba revidirati. Molimo poboljšajte članak prema pravilima za pisanje članaka... Wikipedia

knjige

  • Python za djecu. Samoučenje o programiranju, Briggs Jason. O knjizi Ova knjiga je vodič za samostalno učenje jednog od najpopularnijih programskih jezika danas - Python. Počevši od najjednostavnijih koraka, korak po korak pisat ćete svoje ...
  • JavaScript za djecu. Samoučenje o programiranju, Morgan Nick. O knjizi Ova će vam knjiga omogućiti da se s lakoćom uronite u programiranje i savladate JavaScipt. Napisat ćete neke prave igre - lov na blago na karti, Hangman and Snake. Na svaki ...

Koliko god računalo bilo savršeno, bez softvera ono je samo hrpa metala i plastike. Programi su ti koji određuju što i kako, kojim redoslijedom izvodi određene operacije. Prvi Jezici programiranje počeli su se pojavljivati ​​ranih pedesetih godina i korišteni su za pretvaranje jednostavnih aritmetičkih izraza u strojni kod. Strojni kod je sustav računalnih uputa koje izravno tumači mikroprocesor. Ali za osobu je vrlo nezgodno pisati program u strojnim kodovima. Kako bi se olakšao rad programera, počeo je stvarati Jezici programiranje.Jezici programiranje dijele se na Jezici visoka i niska razina. Što je viši nivo jezika, programeru je lakše pisati na njemu. Takav jezik je razumljiviji za osobu, jer omogućuje korištenje jednostavnih semantičkih konstrukcija za postavljanje potrebnog slijeda radnji. Nakon što je program stvoren, on se kompilira – odnosno automatski u jezik strojnih kodova koje procesor razumije. Jezici niske razine mnogo su bliži strojnom jeziku i stoga ih je teže pisati. Ali oni imaju svoju prednost - programi napisani na takvom jeziku vrlo su brzi i kompaktni. Najpopularniji jezik niske razine je Assembler. Neke od njegovih prednosti su toliko očite da se čak i u složenim programima napisanim na jezicima visoke razine često koriste umetanja Assemblera. programiranje, koji su postali rašireni mogu se prebrojati na jednu ruku. Jedan od najraširenijih jezika je C++. Ovo je vrlo zgodan i dovoljno jednostavan jezik za programera, koji vam omogućuje stvaranje programa bilo koje složenosti. Ne tako davno, Microsoft je razvio jezik C # (čitaj kao "si oštro"), koji ima niz novih značajki i namijenjen je pisanju programa za operacijski sustav Windows. Microsoft je objavio vrlo popularan medij programiranje Microsoft Visual Studio, koji vam omogućuje programiranje u C++, C# i nekim drugim jezicima. Vrlo poznat jezik je programiranje Delphi. Potječe iz nekoć poznatog Pascala, ali je zahvaljujući trudu Borlanda dobio niz novih kvaliteta, postavši, zapravo, novi jezik. Pisanje na ovom jeziku je prilično jednostavno i praktično, a zahvaljujući okruženju programiranje Borland Delphi je postao vrlo raširen.Bez jezika programiranje postojanje interneta bilo bi nemoguće. Takav Jezici kako vam Perl i PHP omogućuju stvaranje skripti koje određuju izvršenje potrebnih radnji na stranicama stranice. Čak je i stvaranje najjednostavnije internetske stranice nemoguće bez poznavanja HTML-a – standardnog jezika za označavanje dokumenata. Računalni uređaji sada su posvuda: u mobitelima i bankomatima, u strojevima za numeričko upravljanje i televizorima. Teško je pronaći sferu života u koju ne bi bili uključeni na ovaj ili onaj način. A svi ti uređaji rade zahvaljujući programima napisanim na raznim jezicima. programiranje.

Programski jezik je sredstvo komunikacije između programera i računala. Računalo je u ovom slučaju stroj koji razumije samo elementarne naredbe. Na kojem jeziku je čovjeku najteže razgovarati s računalom?

Sovjetski roman "Programer" govori o situaciji kada postoji računalo na tehničkom institutu. Došli su šefovi i tražili da pokažu njezin rad. Ali nije razumjela naredbe programskog jezika. Tada je talentirani inženjer započeo dijalog sa strojem na njegovom jeziku - upravo u binarnom kodu.

Mnogi programeri smatraju binarni kod najtežim programskim jezikom – što je paradoks, jer binarni brojevi nisu jezik. Sam koncept "programskog jezika" podrazumijeva od jezika računala do ljudskog jezika. U binarnom smislu, programer mora raspravljati sa strojem bez pretjeranog pojednostavljivanja.

Unatoč ogromnim poteškoćama izravnog rada s binarnim kodom, binarna logika omogućuje najekonomičniju upotrebu strojne memorije. Može se koristiti za jednostavne električne uređaje (mikrovalne pećnice, kuhalo za vodu), kao i za uređaje koji zahtijevaju posebnu brzinu (precizni satovi, medicinska oprema, sportska oprema za suđenje).

Asembler

Asembler je skupina instrukcija binarnog koda grupiranih u odjeljke. Ovaj jezik se koristi prilikom rastavljanja programa. Ponekad je potrebno saznati programski kod po njegovim izvršnim datotekama. Da biste to učinili, morate dešifrirati izvršnu datoteku (rad ima mnogo zajedničkog s kriptografijom). Ovaj proces dešifriranja izvršnih datoteka naziva se rastavljanje. Na izlazu programer prima grupu asemblerskih uputa, čak i ako je program izvorno napisan na drugom jeziku. Rad s asemblerom (asm) je poput programiranja u binarnom obliku, izazov čak i najnaprednijeg programera.

Popularni C++

Ogroman broj programa i ljuski u svijetu napisan je na jezicima grupe C. Sam jezik C stvoren je 1970. za rad s procesorima. Ovaj jezik je bio vrlo jednostavan.

U "" "" razvijen je jezik C ++, koji je naslijedio većinu mogućnosti svog prethodnika, ali je dodao dodatni princip - paradigmu nasljeđivanja. Unatoč prividnoj jednostavnosti naredbi, upravo je ovaj jezik najmoćniji programski alat. Ogroman broj knjižnica trećih strana daje programeru puno slobode za kreativni proces. Međutim, jezik ima složenu logičku strukturu. Morate koristiti objektno orijentirani pristup koji smanjuje broj redaka koda (zbog nasljeđivanja), ali komplicira logiku. Od programera se traži da zna maštati, što samo po sebi nije lako.

Novi jezici

Trenutno su naširoko popularni besplatni "apstraktni" programski jezici: NOSQL, Erlang, Python. Nije ih lako svladati, ali stručnjaci za rijetke jezike su vrlo popularni. U pravilu se novi jezici stvaraju za rješavanje specifičnih problema: rad s web-sučeljima, stvaranje aplikacija ili upravljanje procesima poslužitelja. Posebna poteškoća u programiranju na najnovijim jezicima leži u njihovom malom istraživanju - malo je komponenti i knjižnica, specifikacija i udžbenika.

Programiranje je cijela znanost koja vam omogućuje stvaranje računalnih programa. Uključuje ogroman broj različitih operacija i algoritama koji čine jedan programski jezik. Dakle, što je to i koji su različiti programski jezici? Članak daje odgovore, a također pruža pregledni popis programskih jezika.

Povijest nastanka i promjene programskih jezika treba proučavati zajedno s poviješću razvoja računalne tehnologije, jer su ti pojmovi izravno povezani. Bez programskih jezika bilo bi nemoguće stvoriti bilo kakav program za rad računala, što znači da bi stvaranje računala postalo besmislena vježba.

Prvi strojni jezik izumio je 1941. Konrad Zuse, koji je izumitelj analitičkog motora. Nešto kasnije, 1943. godine, Howard Aiken stvorio je stroj Mark 1, sposoban čitati upute na razini strojnog koda.

Pedesetih godina prošlog stoljeća postojala je aktivna potražnja za razvojem softvera, a strojni jezik nije mogao podnijeti velike količine koda, pa je stvoren novi način komunikacije s računalima. Assembler je prvi mnemonički jezik koji je zamijenio strojne upute. S godinama popis programskih jezika samo raste, jer područje primjene računalnih tehnologija postaje sve šire.

Klasifikacija programskih jezika

Trenutno postoji više od 300 programskih jezika. Svaki od njih ima svoje karakteristike i prikladan je za jedan određeni zadatak. Svi programski jezici mogu se grubo podijeliti u nekoliko grupa:

  • Aspektno orijentiran (glavna ideja je odvajanje funkcionalnosti za povećanje učinkovitosti softverskih modula).
  • Strukturni (temeljen na ideji stvaranja hijerarhijske strukture pojedinačnih programskih blokova).
  • Logički (temeljen na teoriji aparata matematičke logike i pravilima razlučivanja).
  • Objektno orijentirani (u takvom programiranju više se ne koriste algoritmi, već objekti koji pripadaju određenoj klasi).
  • Multi-paradigma (kombinirajte nekoliko paradigmi, a programer sam odlučuje koji će jezik koristiti u određenom slučaju).
  • Funkcionalni (glavni elementi su funkcije koje mijenjaju vrijednost ovisno o rezultatima izračuna početnih podataka).

Programiranje za početnike

Mnogi ljudi postavljaju pitanje, što je programiranje? U osnovi, to je način komunikacije s računalom. Zahvaljujući programskim jezicima, možemo postaviti specifične zadatke za različite uređaje izradom posebnih aplikacija ili programa. Kada proučavate ovu znanost u početnoj fazi, najvažnije je odabrati prikladne (za vas zanimljive) programske jezike. Popis početnika je u nastavku:

  • Basic je izumljen 1964. godine, pripada obitelji jezika visoke razine i koristi se za pisanje aplikacijskih programa.
  • Python ("Python") je prilično lako naučiti zahvaljujući njegovoj jednostavnoj, čitljivoj sintaksi, ali prednost je u tome što se može koristiti za izradu i običnih desktop programa i web aplikacija.
  • Pascal ("Pascal") - jedan od najstarijih jezika (1969), stvoren za podučavanje učenika. Njegova moderna modifikacija snažno je tipkana i strukturirana, ali Pascal je sasvim logičan jezik koji je razumljiv na intuitivnoj razini.

Ovo nije potpuni popis programskih jezika za početnike. Postoji ogroman broj sintaksa koje su dostupne za razumijevanje, a koje će zasigurno biti tražene u narednim godinama. Svatko ima pravo samostalno odabrati smjer koji će mu biti zanimljiv.

Početnici imaju priliku ubrzati učenje programiranja i njegovih osnova zahvaljujući posebnim alatima. Glavni pomoćnik je integrirano razvojno okruženje za programe i aplikacije Visual Basic ("Visual Basic" je također programski jezik koji je naslijedio stil Basic jezika iz 1970-ih).

Razine programskog jezika

Svi formalizirani jezici namijenjeni stvaranju, opisivanju programa i algoritama za rješavanje problema na računalima podijeljeni su u dvije glavne kategorije: programski jezici niske razine (popis je dat u nastavku) i oni visoke razine. Razgovarajmo o svakom od njih zasebno.

Jezici niske razine dizajnirani su za stvaranje strojnih instrukcija za procesore. Njihova glavna prednost je što koriste mnemoničku notaciju, odnosno umjesto niza nula i jedinica (iz binarnog brojevnog sustava), računalo pamti smislenu skraćenu riječ iz engleskog jezika. Najpoznatiji jezici niske razine su "Assembler" (postoji nekoliko podvrsta ovog jezika, od kojih svaka ima mnogo zajedničkog, ali se razlikuje samo u skupu dodatnih direktiva i makronaredbi), CIL (dostupan na .Net-u platforma) i JAVA Bytecode.

Programski jezici visoke razine: popis

Jezici visoke razine dizajnirani su za praktičnost i učinkovitost aplikacija; oni su sušta suprotnost jezicima niske razine. Njihova posebnost je prisutnost semantičkih struktura koje sažeto i sažeto opisuju strukture i algoritme programa. U jezicima niske razine njihov opis u strojnom kodu bio bi predug i nerazumljiv. Jezici visoke razine neovisni su o platformi. Umjesto toga, prevoditelji obavljaju funkciju prevoditelja: prevode tekst programa u elementarne strojne upute.

Sljedeći popis programskih jezika: C ("C"), C # ("C-sharp"), "Fortran", "Pascal", Java ("Java") - spadaju među najčešće korištene sintakse visoke razine. Ima sljedeća svojstva: ovi jezici rade sa složenim strukturama, podržavaju nizove tipova podataka i operacije s informacijskim I/O datotekama, a također imaju prednost što ih je mnogo lakše raditi zbog njihove čitljivosti i jasne sintakse.

Najviše korišteni programski jezici

U osnovi, možete napisati program na bilo kojem jeziku. Pitanje je hoće li raditi učinkovito i glatko? Zato je potrebno odabrati najprikladnije programske jezike za rješavanje različitih problema. Popis po popularnosti može se okarakterizirati na sljedeći način:

  • OOP jezici: Java, C++, Python, PHP, VisualBasic i JavaScript;
  • grupa strukturnih jezika: Basic, Fortran i Pascal;
  • multi-paradigma: C#, Delphi, Curry i Scala.

Opseg programa i aplikacija

Izbor jezika na kojem je napisan ovaj ili onaj program uvelike ovisi o području njegove primjene. Tako, na primjer, za rad s "hardverom" samog računala (pisanje upravljačkih programa i pratećih programa), najbolja opcija bi bila C ("C") ili C ++, koji su uključeni u glavne programske jezike (vidi gornji popis). A za razvoj mobilnih aplikacija, uključujući igre, trebali biste odabrati Java ili C # ("C-Sharp").

Ako još niste odlučili u kojem smjeru raditi, preporučujemo da počnete učiti iz C ili C ++ jezika. Imaju vrlo jasnu sintaksu, jasnu strukturnu podjelu na klase i funkcije. Osim toga, poznavajući C ili C ++, lako možete naučiti bilo koji drugi programski jezik.

PROGRAMSKI JEZIK I NJEGOVE VRSTE

Programski jezik je formalni znakovni sustav za pisanje računalnih programa. Programski jezik definira skup leksičkih, sintaktičkih i semantičkih pravila koja određuju izgled programa i radnje koje će izvršitelj (računalo) izvoditi pod njegovom kontrolom.

Programski jezik visoke razine je programski jezik dizajniran za brzinu i jednostavnost korištenja od strane programera. Glavna značajka jezika visoke razine je apstrakcija, odnosno uvođenje semantičkih konstrukcija koje ukratko opisuju takve strukture podataka i operacije na njima, čiji su opisi u strojnom kodu (ili drugom programskom jeziku niske razine) vrlo dugo i teško razumljivo.

Programski jezik niske razine (programski jezik niske razine) - programski jezik blizak programiranju izravno u strojnim kodovima koje koristi stvarni ili virtualni (na primjer, Java, Microsoft .NET) procesor. Za označavanje strojnih instrukcija obično se koristi mnemonički zapis. To vam omogućuje da zapamtite naredbe ne u obliku niza binarnih nula i jedinica, već u obliku smislenih skraćenica riječi na ljudskom jeziku (obično engleskom).

PROGRAMSKI JEZICI NISKIH RAZINA

Prva računala morala su programirati u binarnim strojnim kodovima. Međutim, programiranje na ovaj način prilično je naporan i složen zadatak. Kako bi se pojednostavio ovaj zadatak, počeli su se pojavljivati ​​programski jezici niske razine, što je omogućilo postavljanje strojnih instrukcija u čitljivijem obliku. Za njihovo pretvaranje u binarni kod stvoreni su posebni programi - prevoditelji.

Sl. 1. Primjer strojnog koda i njegov prikaz u asembleru

Prevoditelji se dijele na:

    prevoditelji - pretvaraju tekst programa u strojni kod, koji se može spremiti i potom koristiti bez kompajlera (primjer su izvršne datoteke s nastavkom *.exe);

    interpretatori - pretvoriti dio programa u strojni kod, izvršiti ga i zatim prijeći na sljedeći dio. U ovom slučaju, interpreter se koristi svaki put kada se program izvršava.

Primjer jezika niske razine je asembler. Jezici niske razine usmjereni su na određenu vrstu procesora i uzimaju u obzir njegove osobitosti, stoga, za prijenos programa u asemblerskom jeziku na drugu hardversku platformu, potrebno ga je gotovo potpuno ponovno napisati. Također postoje određene razlike u sintaksi programa za različite prevodioce. Istina, središnji procesori za računala iz AMD-a i Intela praktički su kompatibilni i razlikuju se samo u nekim specifičnim naredbama. Ali specijalizirani procesori za druge uređaje, na primjer, video kartice, telefone, sadrže značajne razlike.

Prednosti

Jezici niske razine koriste se za stvaranje učinkovitih i kompaktnih programa dok programer dobiva pristup svim mogućnostima procesora.

Nedostaci

    Programer koji radi s jezicima niske razine mora biti visoko kvalificiran i dobro razumjeti mikroprocesorski sustav za koji se program kreira. Dakle, ako je program izrađen za računalo, morate poznavati strukturu računala i, posebno, uređaj i značajke njegovog procesora;

    rezultirajući program ne može se prenijeti na računalo ili uređaj s drugom vrstom procesora;

    značajno vrijeme razvoja za velike i složene programe.

Jezici niske razine u pravilu se koriste za pisanje malih sistemskih programa, upravljačkih programa uređaja, modula za sučelja s nestandardnom opremom, programiranja specijaliziranih mikroprocesora, kada su najvažniji zahtjevi kompaktnost, brzina i mogućnost izravnog pristupa hardverskim resursima. .

Assembler je jezik niske razine koji se i danas široko koristi.

PROGRAMSKI JEZICI VISOKE RAZINE

Prvi programski jezik visoke razine je računalni jezik Plankalkül, koji je razvio njemački inženjer Konrad Zuse u razdoblju 1942.-1946. Međutim, prevoditelj za njega nije postojao sve do 2000. godine. Prvi prevoditelj jezika visoke razine na svijetu je PP (Programski program), zvani PP-1, uspješno testiran 1954. PP-2 prevoditelj (1955., 4. u svijetu translator) je već bio optimiziran i sadržavao je vlastiti učitavač i program za ispravljanje pogrešaka, biblioteku standardnih procedura, a PP prevoditelj za računala Strela-4 već je sadržavao povezivač modula. Međutim, široka upotreba jezika visoke razine započela je pojavom Fortrana i stvaranjem kompilatora za ovaj jezik (1957.).

Jezici visoke razine nastoje ne samo olakšati rješavanje složenih softverskih problema, već i pojednostaviti prijenos softvera. Korištenje raznih prevoditelja i tumača omogućuje programima napisanim na jezicima visoke razine da komuniciraju s različitim operativnim sustavima i hardverom, dok njihov izvorni kod ostaje, idealno, nepromijenjen.

Ovakva izolacija jezika visoke razine od hardverske implementacije računala ima, osim mnogih prednosti, i nedostatke. Konkretno, ne dopušta izradu jednostavnih i preciznih uputa za opremu koja se koristi. Programe napisane na jezicima visoke razine programeru je lakše razumjeti, ali manje učinkoviti od njihovih kolega napisanih na jezicima niske razine. Jedna od posljedica toga bila je dodavanje podrške za jedan ili drugi jezik niske razine (jezik asemblera) u nizu modernih profesionalnih programskih jezika visoke razine.

primjeri: C, C ++, C #, Java, Python, PHP, Ruby, Perl, Pascal, Delphi, Lisp... Jezici visoke razine imaju sposobnost rada sa složenim strukturama podataka. Većina njih ima integriranu podršku za vrste stringova, objekte, I/O operacije datoteka itd. Nedostatak jezika visoke razine je što su programi veći od programa na jezicima niske razine. Stoga se jezici visoke razine uglavnom koriste za razvoj softvera računala i uređaja koji imaju veliku količinu memorije. A različite podvrste asemblera koriste se za programiranje drugih uređaja, gdje je veličina programa kritična.

Imperativni jezici temelje se na nekoliko važnih ideja, uključujući prikaz radnji u obliku matematičkih formula, koncept tipa podataka i teorem strukturalne transformacije.

Program na imperativnom jeziku izgrađen je od funkcija (potprograma). Programi asemblerskog jezika također se mogu sastojati od potprograma i to nije ništa novo, ali jezici visoke razine dopuštaju vam da ne razmišljate o pitanjima kao što su organizacija poziva, prijenos početnih podataka i vraćanje rezultata. Opis funkcije sastoji se od naziva, popisa parametara (početnih podataka), vrste rezultata i radnji koje vode do primitka ovog rezultata. Jedna od funkcija programa je glavna, njegovo je izvršenje rad programa.

Jednostavan primjer je funkcija koja izračunava sinus broja. Može se nazvati sin, njegovi se početni podaci sastoje od jednog realnog broja, rezultat je također realan broj dobiven zbrajanjem segmenta poznatog beskonačnog niza (ili izvršavanjem naredbe fsin matematičkog koprocesora).

Skup radnji koje se mogu izvesti unutar funkcije vrlo je ograničen. Sastoji se od izračunavanja izraza formula, poziva drugih funkcija (što nije zasebna radnja - poziv funkcije često je uključen u izraz), dodjele, grananja (skupine akcija koje se izvršavaju samo kada je određeni uvjet istinit) i petlje (skupina radnji koje se izvode više puta, broj ponavljanja ovisi o nekom uvjetu). Radnje mogu biti ugniježđene jedna u drugu. Možda se čini da je skup grana i petlji premali, ali nije. Dokazano je da se bilo koji algoritam sastavljen od funkcionalnih blokova (na niskoj razini - aritmetičke naredbe i naredbe za prijenos podataka), uvjetnih i bezuvjetnih prijelaza može pretvoriti u ekvivalentni algoritam sastavljen samo od strukturiranih uvjetnih blokova - funkcionalnih blokova, grananja i petlji s krajem. . Ova tvrdnja je formulirana u članku Corrada Bohma i Giuseppea Jacopinija "Dijagrami toka, turingovi strojevi i jezici sa samo dva pravila formiranja" (Communications of ACM, Volume 9 / Number 5 / May, 1965).

Ako trebate negdje pohraniti međurezultate kako biste izvršili potrebne radnje, posebni opisi koji sadrže nazive varijabli i, eventualno, druge informacije stavljaju se unutar funkcije. Adrese RAM ćelija bit će im dodijeljene automatski. Neki jezici također sadrže definicije konstante i tipa unutar funkcija. U jezicima sličnim Pascalu, funkcija je poput programa i može uključivati ​​definicije ne samo konstanti, tipova i varijabli, već i drugih funkcija.

Deklaracija podataka je popis imenovanih objekata. Ti se objekti nazivaju varijable. U brojnim jezicima mora biti specificiran tip varijable, koji određuje količinu memorije potrebne za njeno postavljanje i skup operacija u kojima može sudjelovati. Ali to nije nužno slučaj, postoje jezici u kojima tip varijable nije naveden i može se promijeniti tijekom izvršavanja programa.

Tipično, programski jezici pružaju prilično ograničen skup unaprijed definiranih tipova varijabli i sredstva za stvaranje novih tipova. Neki od sljedećih tipova su unaprijed definirani:

    prirodni i cijeli brojevi raznih veličina;

    realni brojevi;

    simboli - slova, brojevi, znakovi aritmetičkih operacija itd .;

    znakovni nizovi;

    booleove vrijednosti;

    pokazivači

Radnje na podacima mogu se izvesti pomoću funkcija i operatora.

U jeziku C, na primjer, simboli, nizovi i booleovi su nedefinirani. Njegov tip char je zapravo kratak cijeli broj i može biti aritmetički.

Novi tipovi nastaju spajanjem u jednu cjelinu više elemenata istog tipa (niz, svaki njegov element ima redni broj) ili elemenata različitih tipova (struktura, svaki njegov element ima svoje ime). Na primjer, u većini jezika kompleksni brojevi nisu definirani, ali se mogu definirati:

U nekim jezicima (na primjer, u C ++) operatori se također mogu definirati za stvorene tipove, što omogućuje korištenje varijabli ovih tipova na isti način kao i varijable unaprijed definiranih tipova.

Postoje i drugi načini za stvaranje novih vrsta. Na primjer, u Pascalu je moguće kreirati:

    vrste raspona (određivanjem raspona vrijednosti);

    vrste nabrajanja (nabrajanjem mogućih vrijednosti);

    vrste skupova

Varijable skupova tipova mogu se koristiti za pohranjivanje informacija o skupu svojstava nekih objekata. Nešto poput ovoga može se učiniti pomoću cjelobrojnih varijabli, čiji su bitovi postavljeni da ukazuju na prisutnost odgovarajućih svojstava. Očigledno je korištenje skupova otpornije na pogreške programera.

Stroj ne razumije ljudski jezik. Naravno, ne govorimo o Siri i drugim glasovnim prepoznavačima – govorimo o stvaranju novog softvera. Da bi napravio kalkulator, stroj treba postaviti zadatak na isti način kao što predradnik objašnjava radnicima kako se postavljaju cigle. Ali "Vasya, ept, pa, trebalo bi biti glađe!" potrebno je opisati programskim jezikom. Odakle su došli ovi jezici?

Polazna točka modernog računala je Babbageov analitički motor, ali jezici su izumljeni ranije: u 19. stoljeću izumljeni su mehanički klavir i tkalački stan, za koje su inženjeri opisali logiku rada. Ovaj skup uputa prototip je onoga što programeri pišu danas.

Sredinom 20. stoljeća pojavljuje se Turingov stroj, zatim prva računala i prvi moderni programski jezik Plankalkül. Prvi skok u razvoju dogodio se kada je vojska skrenula pozornost na računala - DARPA i njima slični počeli su aktivno ulagati u mladu industriju. Drugi je došao s širenjem interneta - što ljudi dublje uranjaju u digitalnu eru, to su traženiji glavni kreatori okruženja ove ere - programeri. I sve više ljudi im se želi pridružiti.

Želja je razumna i razumljiva, ali prvo pitanje u mojoj glavi često postane nepremostiva prepreka – s kojim jezikom početi učiti programiranje? Strah od pogrešnog izbora temelji se na strahu od gubljenja vremena. Kao rezultat toga, programer početnik već nekoliko godina traži svoj "vlastiti" jezik bez ikakvog pomaka prema željenom cilju. Pa koji vrag biraš svoj jezik?

Kriteriji za odabir prvog programskog jezika

Izbor jezika ovisi o zadacima koje programer želi riješiti. Za internetske projekte popularan je Python koji u svojim projektima koriste Google i Facebook, za mobilne aplikacije za Android Java je najbolji prijatelj, a za iOS Swift.

Pravi problem izbora je nedostatak određenog zadatka. To je normalno, jer možete razumjeti što želite raditi samo kada ste u okruženju. Stoga stručnjaci preporučuju da se kao prvi jezik uzme onaj koji se može koristiti za rješavanje najšireg spektra problema.

Naravno, visokospecijalizirani jezici su bolji u rješavanju problema za koje su izoštreni, ali ovo je sljedeći korak. Početniku je i dalje potrebna sloboda izbora.

Osim toga univerzalnost, postoji više kriterija:

  • Jednostavnost- spoticanje o složenu sintaksu i zaglavljivanje u džungli nečitljivog koda nije ugodan početak učenja.
  • Popularnost- jezik bi se trebao često ažurirati, imati veliku zajednicu programera, biti tražen u velikim tvrtkama. Još jedan plus je da što je jezik popularniji, lakše je pronaći odgovor na radno pitanje koje se pojavilo.

Ova tri opisa najprikladnija su za Python, C#, Javu i Ruby.

Razvio ga je 80-ih nizozemski programer Guido van Rossum. Velike tehnološke tvrtke rade s Pythonom: Yandex, Google, Facebook i YouTube. Ovo je takozvani skriptni jezik - koristi se za pisanje onoga što program ima ispod haube. Koristi se za web aplikacije, razvoj igara, poslužiteljski softver...

Jednostavnost Popularnost Svestranost

Kod se lako čita i ima jasnu strukturu. Standardni alati su dovoljni za početak učenja.

Prvo mjesto u osnovnom obrazovanju programiranja na američkim sveučilištima.

Redovito se ažurira - svake 2,5 godine. Uvršten je u pet najpopularnijih jezika prema analitičkoj tvrtki TIOBE Software za siječanj 2016.

Gotovo sve je napisano na Pythonu: skripte za upravljanje sustavima, web stranice, sustavi strojnog učenja, igre.

Jezik je razvijen kasnih 90-ih na temelju C++ i Jave. Uglavnom se koristi za velike poslovne projekte, ali nije ograničeno samo na njih. Na primjer, skripte u igrici Unity su napisane na C #.

Jednostavnost Popularnost Svestranost

Strukturno blizak C ++ i Javi - sintaksa (struktura programskog koda) je kompliciranija od one kod Pythona i Rubyja, ali će trebati manje vremena za učenje srodnih jezika. Sučelja knjižnice dobro se uklapaju s obrascima dizajna, što olakšava učenje.

Posljednje ažuriranje bilo je 2015.

C # je napisan za Windows Phone, iOS i Android. Postoji velika količina dokumentacije, ali nema puno knjižnica s besplatnom licencom - to znači da programer može koristiti tuđi kod za obuku, ali morate platiti da ga koristite u komercijalnom proizvodu.

Jezik su izmislili programeri iz Microsofta za razvoj Windows aplikacija. Unatoč tome, koristi se i u drugim sustavima. Također radi na ugrađenim, desktop i poslužiteljskim platformama.


Rubin

Izradio japanski programer pod utjecajem jezika Perl. Lansiran 1995. godine. Na Rubyju su napisani Shopify, Github, Groupon, Yellow Pages, Twitter i Slideshare. Sve je sve popularniji, ali je češći u startupima nego u velikim tvrtkama. Dobro za izradu jednostavnog internetskog projekta.

Jednostavnost Popularnost Svestranost

Poput Pythona, kod se lako čita. Struktura je također identična Pythonu. U usporedbi s drugim jezicima, izbor standardnih knjižnica je lošiji - potrebno je potrošiti vrijeme na traženje.

Velika i vjerna zajednica programera - zaokružuje prvih deset najpopularnijih jezika prema TIOBE Software-u. Mnoge knjižnice su besplatno dostupne.

Najmanje svestran od četiri - uglavnom pogodan za web razvoj. S druge strane, unutar internetskih projekata možete raditi vrlo različite i vrlo cool stvari s njim.


Java

Prva verzija jezika objavljena je u svibnju 1995. godine. Javu koriste Amazon, eBay, LinkedIn i Yahoo!

Jednostavnost Popularnost Svestranost

Kao što je ranije spomenuto, Java i C # imaju vrlo sličnu sintaksu - jednu ste naučili, drugu gotovo znate. Ali kao i u prvom slučaju, sintaksa je složenija od one kod Rubyja i Pythona.

U svijetu postoji 3 milijarde Android pametnih telefona, što znači da će Java još dugo biti tražena. Prvi najpopularniji od strane TIOBE Software-a.

Najčešće se koristi za razvoj poduzeća i Android aplikacija.


Sažetak pripreme

Teško je izvući zaključak. S jedne strane, prilika da se ubije dvije muhe jednim udarcem i uzme Java ili C # mami, ali Python mami svojom svestranošću, a Ruby - svojom jednostavnošću.

Oklijevali smo i otišli razgovarati s iskusnim programerima - oni vam ipak savjetuju da ostanete na Pythonu. Evo što kaže Grigory Petrov, profesionalni programer, evanđelist VoxImplanta:

“Programski jezik Python često se naziva 'izvršni pseudokod' jer sintaksa jezika i standardne biblioteke naglašavaju čitljivost i razumljivost. Dodajte ovome najširi izbor razvojnih alata, knjižnica, materijala za obuku - i imamo jedan od najboljih programskih jezika za početnike."

Izlaz: dok nema jasnih zadataka i jasnih ciljeva, već postoji samo želja za kodiranjem, vrijedi se zaustaviti na Pythonu - jednostavan je, popularan i univerzalan. Nikita Sobolev, učitelj programiranja za početnike u #tceh, također smatra izbor ovog jezika optimalnim za početnika - obrazovni program se pokazao kompliciranijim i dužim nego na tečaju Ruby, ali sloboda u odabiru smjera vrijedi to.

Vrhunski povezani članci