Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • OS
  • Čemu ukratko služe programski jezici? Kako kreirati vlastiti programski jezik: teorija, alati i savjeti praktičara

Čemu ukratko služe programski jezici? Kako kreirati vlastiti programski jezik: teorija, alati i savjeti praktičara

    Liste programskih jezika po kategorijama Hronološki genealoški Dat je spisak programskih jezika grupisanih po kategorijama. Neki jezici spadaju u više od jedne kategorije. Sadržaj... Wikipedia

    Liste programskih jezika po kategorijama Hronološki genealoški Pruža se genealoška lista programskih jezika. Jezici su klasifikovani prema prethodnim jezicima koji su imali snažan uticaj na formiranje ... Wikipedia

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

    Liste programskih jezika po kategorijama Hronološka genealoška hronologija programskih jezika je hronološki organizovana lista programskih jezika. Sadržaj... Wikipedia

    Ovaj članak bi trebao biti vikifikovan. Formatirajte ga u skladu s pravilima oblikovanja članka. Konvencije... Wikipedia

    Ova stranica je informativna lista. Programski jezici .NET (CLI-enabled languages ​​ili CLI jezici) kompjuterski programski jezici koji se koriste za kreiranje biblioteka i programa koji zadovoljavaju zahtjeve Comm ... Wikipedia

    Glavni članak: Uređivač teksta Lista Windows uređivača teksta i tabela za upoređivanje. Sadržaj 1 Tabela poređenja poznatih urednika teksta ... Wikipedia

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

    Ovo je lista softvera koju je razvila Fondacija za slobodni softver kao dio GNU UNIX projekta, sličnog operativnog sistema koji se u potpunosti sastoji od slobodnog softvera. Većina ovih paketa također... ... Wikipedia

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

Knjige

  • Python za djecu. Vodič za programiranje Jasona Briggsa. O knjizi Ova knjiga je vodič o jednom od najpopularnijih programskih jezika danas - Python-u. Počevši od najjednostavnijih koraka, korak po korak ćete pisati svoje...
  • JavaScript za djecu. Vodič za programiranje, Morgan Nick. O knjizi Ova knjiga će vam omogućiti da zaronite u programiranje i savladate JavaScipt sa lakoćom. Napisat ćete nekoliko pravih igara - traženje blaga na mapi, "Vješala" i "Zmija". Na svakom...

Bez obzira koliko je kompjuter savršen, bez softvera je samo gomila metala i plastike. Programi su ti koji određuju šta i kako, kojim redosledom izvršava određene operacije. Prvo jezicima programiranje Počele su se pojavljivati ​​ranih pedesetih godina i korišćene su za pretvaranje jednostavnih aritmetičkih izraza u mašinski kod. Mašinski kod je sistem kompjuterskih instrukcija koje direktno tumači mikroprocesor. Ali vrlo je nezgodno da osoba napiše program u mašinskom kodu. Kako bi olakšali rad programera, počeli su da stvaraju jezicima programiranje.Jezici programiranje se dijele na jezicima visok i nizak nivo. Što je viši nivo jezika, programeru je lakše pisati na njemu. Takav jezik je razumljiviji ljudima, jer omogućava da se specificira neophodan slijed radnji pomoću jednostavnih semantičkih konstrukcija. Nakon kreiranja programa, on se kompajlira - odnosno automatski u jezik mašinskog koda razumljiv procesoru. Jezici niskog nivoa su mnogo bliži mašinskom kodu, što ih čini težim za pisanje. Ali oni imaju svoju prednost - programi napisani na ovom jeziku su vrlo brzi i kompaktni. Najpopularniji jezik niskog nivoa je Assembler. Neke od njegovih prednosti su toliko očigledne da se čak iu složenim programima napisanim na jezicima visokog nivoa često koriste umetci u Assembly.Uprkos postojanju velikog broja jezika programiranje, koji su postali rašireni mogu se prebrojati na jednu ruku. Jedan od najčešćih je jezik C++. Ovo je vrlo zgodan i prilično jednostavan jezik za programera, koji vam omogućava da kreirate programe bilo kojeg nivoa složenosti. Ne tako davno, Microsoft je razvio C# jezik (čitaj kao “C oštro”), koji ima niz novih karakteristika i namijenjen je pisanju programa za Windows operativni sistem. Microsoft je objavio veoma popularno okruženje programiranje Microsoft Visual Studio, koji omogućava programiranje u C++, C# i nekim drugim jezicima.Jezik je veoma poznat programiranje Delphi. Potiče od nekada poznatog Pascala, ali je zahvaljujući trudu kompanije Borland stekao niz novih kvaliteta, postavši, zapravo, novi jezik. Pisanje na ovom jeziku je prilično jednostavno i zgodno, a zahvaljujući okruženju programiranje Borland Delphi je postao veoma raširen, bez jezika programiranje postojanje interneta bi takođe bilo nemoguće. Takve jezicima, kako vam Perl i PHP omogućavaju da kreirate skripte koje određuju izvršenje potrebnih radnji na stranicama sajta. Čak je i kreiranje najjednostavnije Internet stranice nemoguće bez poznavanja HTML-a, standardnog jezika za označavanje dokumenata. Računalni uređaji su sada svuda: u mobilnim telefonima i bankomatima, u CNC mašinama i na televizorima. Teško je pronaći oblast života u koju ne bi bili uključeni na ovaj ili onaj način. I svi ovi uređaji rade zahvaljujući programima napisanim na određenim jezicima programiranje.

Programski jezik je sredstvo komunikacije između programera i računara. Računar je u ovom slučaju mašina koja razumije samo elementarne komande. Koji jezik je najteži za komunikaciju između osobe i računara?

Sovjetski roman "Programer" govori o situaciji u kojoj postoji kompjuter na tehničkom institutu. Došli su šefovi i tražili da pokažu njen rad. Ali nije razumjela komande programskog jezika. Tada je talentovani inženjer započeo dijalog sa mašinom na njenom jeziku - direktno u binarnom kodu.

Mnogi programeri smatraju da je binarni kod najsloženiji programski jezik – što je paradoks, jer binarni brojevi nisu jezik. Sam koncept „programskog jezika“ podrazumijeva od jezika kompjutera do ljudskog jezika. U binarnom kodu, programer mora razgovarati sa mašinom bez pojednostavljenja.

Uprkos ogromnim poteškoćama direktnog rada sa binarnim kodom, binarna logika vam omogućava da najekonomičnije koristite mašinsku memoriju. Može se koristiti za jednostavne električne uređaje (mikrotalasne pećnice, kotlići), kao i za uređaje koji zahtevaju posebnu brzinu (precizni satovi, medicinska oprema, sportska oprema za suđenje).

Asembler

Asemblerski jezik je grupa instrukcija binarnog koda grupisanih u sekcije. Ovaj jezik se koristi prilikom rastavljanja programa. Možda će biti potrebno saznati kod programa iz njegovih izvršnih datoteka. Da biste to učinili, morate dešifrirati izvršnu datoteku (rad ima mnogo sličnosti s kriptografijom). Ovaj proces dešifriranja izvršnih datoteka naziva se rastavljanje. Na izlazu, programer prima grupu asemblerskih komandi, čak i ako je program prvobitno napisan na drugom jeziku. Rad sa asemblerskim jezikom (asm) podsjeća na programiranje u binarnom kodu i predstavlja izazov čak i za jake programere.

Popularan C++

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

U """" je razvijen jezik C++, koji je naslijedio većinu mogućnosti svog prethodnika, ali je dodao dodatni princip - paradigmu nasljeđivanja. Uprkos očiglednoj jednostavnosti komandi, ovaj jezik je moćan programski alat. Ogroman broj biblioteka trećih strana daje programeru puno prostora za kreativni proces. Međutim, jezik ima složenu logičku strukturu. Morate koristiti objektno orijentirani pristup, koji smanjuje broj linija koda (zbog nasljeđivanja), ali povećava složenost logike. Od programera se traži da bude u stanju da zamisli, što samo po sebi nije lako.

Novi jezici

Trenutno su veoma popularni besplatni „apstraktni“ programski jezici: NOSQL, Erlang, Python. Nije ih lako savladati, ali stručnjaci za rijetke jezike su vrlo popularni. U pravilu se novi jezici kreiraju za rješavanje specifičnih problema: rad s web sučeljima, kreiranje aplikacija ili upravljanje serverskim procesima. Posebna poteškoća programiranja na najnovijim jezicima leži u nedostatku istraživanja - postoji malo komponenti i biblioteka, specifikacija i udžbenika.

Programiranje je čitava nauka koja vam omogućava da kreirate kompjuterske programe. Uključuje ogroman broj različitih operacija i algoritama koji čine jedan programski jezik. Dakle, šta je to i koji su različiti programski jezici? Članak daje odgovore, a također pruža preglednu listu programskih jezika.

Istoriju nastanka i promjene programskih jezika treba proučavati zajedno s istorijom razvoja kompjuterskih tehnologija, jer su ti koncepti direktno povezani jedni s drugima. Bez programskih jezika bilo bi nemoguće kreirati bilo koji program za rad računara, što znači da bi kreiranje računara postalo besmislena vežba.

Prvi mašinski jezik izumio je 1941. Konrad Zuse, koji je izumitelj analitičke mašine. Nešto kasnije, 1943. godine, Howard Aiken je stvorio Mark 1 mašinu, sposobnu da čita uputstva na nivou mašinskog koda.

Pedesetih godina prošlog veka počela je potražnja za razvojem softvera, a mašinski jezik nije mogao da obradi velike količine koda, pa je stvoren novi način komunikacije sa računarima. "Assembler" je prvi mnemonički jezik koji je zamijenio strojne upute. S godinama se lista programskih jezika samo povećava, jer opseg računarske tehnologije postaje širi.

Klasifikacija programskih jezika

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

  • Aspektno orijentisan (glavna ideja je odvajanje funkcionalnosti za povećanje efikasnosti softverskih modula).
  • Strukturno (bazirano na ideji stvaranja hijerarhijske strukture pojedinačnih programskih blokova).
  • Logički (zasnovan na teoriji aparata matematičke logike i pravilima rezolucije).
  • Objektno orijentisan (u takvom programiranju više se ne koriste algoritmi, već objekti koji pripadaju određenoj klasi).
  • Multi-paradigma (kombinujte nekoliko paradigmi, a programer sam odlučuje koji jezik će koristiti u datom slučaju).
  • Funkcionalni (glavni elementi su funkcije koje mijenjaju svoju vrijednost u zavisnosti od rezultata proračuna izvornih podataka).

Programiranje za početnike

Mnogi se pitaju šta je programiranje? U suštini, to je način komunikacije sa računarom. Zahvaljujući programskim jezicima, možemo dodijeliti određene zadatke različitim uređajima kreiranjem posebnih aplikacija ili programa. Prilikom proučavanja ove nauke u početnoj fazi, najvažnije je odabrati odgovarajuće (za vas interesantne) programske jezike. Spisak za početnike je dat u nastavku:

  • Basic je izmišljen 1964. godine, pripada porodici jezika visokog nivoa i koristi se za pisanje aplikativnih programa.
  • Python je prilično jednostavan za naučiti zbog svoje jednostavne, čitljive sintakse, ali prednost je u tome što se može koristiti za kreiranje i običnih desktop programa i web aplikacija.
  • Pascal je jedan od najstarijih jezika (1969) stvoren za podučavanje učenika. Njegova moderna modifikacija je strogo tipizirana i strukturirana, ali Pascal je potpuno logičan jezik koji je razumljiv na intuitivnom nivou.

Ovo nije potpuna lista programskih jezika za početnike. Postoji ogroman broj sintaksa koje je lako razumjeti i koje će sigurno biti tražene u narednim godinama. Svako ima pravo da samostalno odabere pravac koji će mu biti zanimljiv.

Početnici imaju priliku da ubrzaju svoje učenje programiranja i njegovih osnova zahvaljujući posebnim alatima. Glavni pomoćnik je integrisano razvojno okruženje za programe i aplikacije Visual Basic (“Visual Basic” je takođe programski jezik koji je naslijedio stil Basic jezika iz 1970-ih).

Nivoi programskih jezika

Svi formalizirani jezici namijenjeni kreiranju, opisivanju programa i algoritama za rješavanje problema na računarima podijeljeni su u dvije glavne kategorije: programski jezici niskog nivoa (lista je data u nastavku) i visokog nivoa. Razgovarajmo o svakom od njih posebno.

Jezici niskog nivoa su dizajnirani da kreiraju mašinske instrukcije za procesore. Njihova glavna prednost je u tome što koriste mnemoničke zapise, odnosno umjesto niza nula i jedinica (iz binarnog brojevnog sistema), kompjuter pamti značajnu skraćenu riječ iz engleskog jezika. Najpoznatiji jezici niskog nivoa su „Assembler“ (postoji nekoliko podtipova ovog jezika, od kojih svaki ima mnogo zajedničkog, ali se razlikuje samo po skupu dodatnih direktiva i makroa), CIL (dostupan na .Net-u). platforma) i JAVA bytecode.

Programski jezici visokog nivoa: lista

Jezici visokog nivoa stvoreni su za praktičnost i veću efikasnost aplikacija, oni su sušta suprotnost jezicima niskog nivoa. Njihova karakteristična karakteristika je prisustvo semantičkih konstrukcija koje sažeto i koncizno opisuju strukture i algoritme programa. U jezicima niskog nivoa njihov opis u mašinskom kodu bio bi predugačak i nerazumljiv. Jezici visokog nivoa su nezavisni od platforme. Umjesto toga, prevodioci obavljaju funkciju prevodioca: prevode tekst programa u elementarne strojne instrukcije.

Sljedeća lista programskih jezika: C ("C"), C# ("C-sharp"), "Fortran", "Pascal", Java ("Java") - spada među najčešće korištene sintakse visokog nivoa. Ima sljedeća svojstva: ovi jezici rade sa složenim strukturama, podržavaju nizove tipova podataka i operacije sa I/O informacijama datoteke, a također imaju prednost što je mnogo lakši za rad zbog čitljivosti i razumljive sintakse.

Najčešće korišteni programski jezici

U principu, možete napisati program na bilo kojem jeziku. Pitanje je: da li će raditi efikasno i bez greške? Zato biste trebali odabrati najprikladnije programske jezike za rješavanje raznih problema. Lista po popularnosti može se opisati 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 određeni program u velikoj mjeri ovisi o području njegove primjene. Tako, na primjer, za rad sa samim hardverom računala (pisanje drajvera i pratećih programa), najbolja opcija bi bila C (“C”) ili C++, koji su uključeni u glavne programske jezike (pogledajte listu iznad) . A da biste razvili mobilne aplikacije, uključujući igre, trebali biste odabrati Java ili C# (“C-sharp”).

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

PROGRAMSKI JEZIK I NJEGOVE VRSTE

Programski jezik je formalni znakovni sistem dizajniran za pisanje kompjuterskih programa. Programski jezik definira skup leksičkih, sintaksičkih i semantičkih pravila koja definiraju izgled programa i radnje koje će izvođač (računar) izvoditi pod njegovom kontrolom.

Programski jezik visokog nivoa je programski jezik dizajniran da bude brz i lak za upotrebu od strane programera. Glavna karakteristika jezika visokog nivoa je apstrakcija, odnosno uvođenje semantičkih konstrukcija koje ukratko opisuju takve strukture podataka i operacije na njima, čiji su opisi u mašinskom kodu (ili drugom programskom jeziku niskog nivoa) veoma dugo i teško razumljivo.

Programski jezik niskog nivoa (programski jezik niskog nivoa) je programski jezik koji je blizak programiranju direktno u mašinskim kodovima stvarnog ili virtuelnog (na primer, Java, Microsoft .NET) procesora koji se koristi. Za označavanje mašinskih instrukcija obično se koristi mnemonička notacija. Ovo omogućava da se komande pamte ne kao niz binarnih jedinica i nula, već kao smislene skraćenice riječi na ljudskom jeziku (obično engleskom).

PROGRAMSKI JEZICI NISKOG NIVOA

Rani računari su morali biti programirani pomoću binarnih mašinskih kodova. Međutim, programiranje na ovaj način je prilično dugotrajan i složen zadatak. Da bi se ovaj zadatak pojednostavio, počeli su se pojavljivati ​​programski jezici niskog nivoa, koji su omogućili određivanje strojnih naredbi u obliku koji je ljudima razumljiviji. Za njihovo pretvaranje u binarni kod stvoreni su posebni programi - prevodioci.

Fig.1. Primjer strojnog koda i njegova reprezentacija u asembleru

Prevodioci se dijele na:

    kompajleri - pretvaraju programski tekst u mašinski kod, koji se može sačuvati i potom koristiti bez kompajlera (primer su izvršne datoteke sa ekstenzijom *.exe);

    interpretatori - pretvaraju dio programa u mašinski kod, izvršavaju ga i zatim pređu na sljedeći dio. U ovom slučaju, interpreter se koristi svaki put kada se program izvršava.

Primjer jezika niskog nivoa je asemblerski jezik. Jezici niskog nivoa fokusirani su na određenu vrstu procesora i uzimaju u obzir njegove karakteristike, tako da se program asemblerskog jezika prebacuje na drugu hardversku platformu, mora se gotovo potpuno prepisati. Postoje i određene razlike u sintaksi programa za različite kompajlere. Istina, centralni procesori za računare AMD-a i Intel-a su praktično kompatibilni i razlikuju se samo po nekim specifičnim komandama. Ali specijalizirani procesori za druge uređaje, na primjer, video kartice i telefone, sadrže značajne razlike.

Prednosti

Jezici niskog nivoa stvaraju efikasne i kompaktne programe jer programer ima pristup svim mogućnostima procesora.

Nedostaci

    Programer koji radi sa jezicima niskog nivoa mora biti visoko kvalifikovan i dobro razumjeti strukturu mikroprocesorskog sistema za koji se program kreira. Dakle, ako se program kreira za računar, potrebno je da poznajete uređaj računara i, posebno, uređaj i radne karakteristike njegovog procesora;

    rezultirajući program ne može se prenijeti na računar ili uređaj s drugim tipom procesora;

    značajno vreme za razvoj velikih i složenih programa.

Jezici niskog nivoa obično se koriste za pisanje malih sistemskih programa, drajvera uređaja, modula interfejsa sa nestandardnom opremom, programiranje specijalizovanih mikroprocesora, kada su najvažniji zahtevi kompaktnost, brzina i mogućnost direktnog pristupa hardverskim resursima.

Asembler je jezik niskog nivoa koji se i danas široko koristi.

PROGRAMSKI JEZICI VISOKOG NIVOA

Prvim programskim jezikom visokog nivoa smatra se kompjuterski jezik Plankalkül, koji je razvio njemački inženjer Konrad Zuse još u periodu 1942-1946. Međutim, prevodilac za njega nije postojao sve do 2000. godine. Prvi svjetski prevodilac visokog nivoa je PP (Programski program), također poznat kao PP-1, uspješno testiran 1954. Prevodilac PP-2 (1955., 4. u svijetu translator) je već bio optimizovan i sadržao je sopstveni loader i debuger, biblioteku standardnih procedura, a PP translator za računar Strela-4 je već sadržao linker modula. Međutim, široka upotreba jezika visokog nivoa počela je pojavom Fortrana i stvaranjem kompajlera za ovaj jezik (1957).

Jezici visokog nivoa nastoje ne samo da olakšaju rješavanje složenih programskih problema, već i da olakšaju prijenos softvera. Upotreba raznih prevodilaca i tumača osigurava da programi napisani na jezicima visokog nivoa komuniciraju s različitim operativnim sistemima i hardverom, dok njihov izvorni kod idealno ostaje nepromijenjen.

Ovakva izolacija jezika visokog nivoa od hardverske implementacije računara, pored mnogih prednosti, ima i nedostatke. Konkretno, ne dozvoljava vam kreiranje jednostavnih i preciznih uputstava za opremu koja se koristi. Programe napisane na jezicima visokog nivoa programeru je lakše razumjeti, ali su manje efikasni od svojih kolega kreiranih korištenjem jezika niskog nivoa. Jedna od posljedica ovoga je bilo dodavanje podrške za jedan ili drugi jezik niskog nivoa (jezik za sklapanje) brojnim modernim profesionalnim programskim jezicima visokog nivoa.

primjeri: C, C++, C#, Java, Python, PHP, Ruby, Perl, Pascal, Delphi, Lisp. Jezike visokog nivoa karakteriše sposobnost rada sa složenim strukturama podataka. Većina njih ima integrisanu podršku za tipove stringova, objekte, I/O operacije datoteka itd. Nedostatak jezika visokog nivoa je veća veličina programa u poređenju sa programima na jeziku niskog nivoa. Stoga se jezici visokog nivoa uglavnom koriste za razvoj softvera za računare i uređaje koji imaju veliku količinu memorije. Različiti podtipovi asemblera se koriste za programiranje drugih uređaja gdje je veličina programa kritična.

Imperativni jezici su zasnovani na nekoliko važnih ideja, uključujući reprezentaciju radnji kao matematičke formule, koncept tipa podataka i teoremu strukturne transformacije.

Program na imperativnom jeziku je izgrađen od funkcija (potprograma). Programi asemblerskog jezika također se mogu sastojati od potprograma i to nije ništa novo, ali jezici visokog nivoa vam dopuštaju da ne razmišljate o takvim pitanjima kao što su organiziranje poziva, prijenos izvornih podataka i vraćanje rezultata. Opis funkcije sastoji se od imena, liste parametara (početnih podataka), tipa rezultata i radnji koje vode do dobijanja ovog rezultata. Jedna od funkcija programa je glavna, njeno izvršenje je rad programa.

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

Skup akcija koje se mogu izvesti unutar funkcije je vrlo ograničen. Sastoji se od vrednovanja izraza formule, pozivanja drugih funkcija (što nije zasebna radnja – poziv funkcije je često uključen u izraz), dodeljivanja, grananja (grupa akcija koje se izvode samo ako je neki uslov tačan) i petlje ( grupa radnji koje se izvode više puta, broj ponavljanja zavisi od nekog uslova). Akcije mogu biti ugniježđene jedna u drugu. Možda se čini da je skup grana i petlji premali, ali to nije tako. Dokazano je da se bilo koji algoritam sastavljen od funkcionalnih blokova (na niskom nivou - aritmetičke naredbe i naredbe za prijenos podataka), uslovnih i bezuslovnih prijelaza može pretvoriti u ekvivalentan algoritam sastavljen samo od strukturnih blokova - funkcionalnih blokova, grana i petlji sa uslovom. provera na kraju. Ovu izjavu formulirali su u radu Corrado Bohm i Giuseppe Jacopini, “Dijagrami toka, Turingove mašine i jezici sa samo dva pravila formiranja” (Saopćenje ACM-a, Tom 9/Broj 5/Maj, 1965.).

Ako se međurezultati moraju negdje pohraniti da bi se izvršile potrebne radnje, posebne deklaracije koje sadrže nazive varijabli i eventualno druge informacije stavljaju se unutar funkcije. Adrese RAM ćelija će im biti dodijeljene automatski. U nekim jezicima funkcije mogu sadržavati i definicije konstante i tipa. 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 lista imenovanih objekata. Ovi objekti se 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 ona može učestvovati. Ali to nije nužno slučaj; postoje jezici u kojima tip varijable nije određen i može se promijeniti tokom izvršavanja programa.

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

    prirodni i cjelobrojni brojevi različitih veličina;

    realni brojevi;

    simboli - slova, brojevi, aritmetički znaci, itd.;

    znakovni nizovi;

    boolean vrijednosti;

    pokazivači

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

U jeziku C, na primjer, simboli, stringovi i logičke vrijednosti nisu definirani. Njegov tip char je zapravo kratak cijeli broj i dozvoljava aritmetičke operacije.

Novi tipovi se formiraju kombinovanjem u jednu celinu nekoliko elemenata istog tipa (niz, svaki element ima redni broj) ili elemenata različitih tipova (struktura, svaki element ima svoje ime). Na primjer, kompleksni brojevi nisu definirani u većini jezika, ali se mogu definirati:

U nekim jezicima (na primjer, C++), operatori se također mogu definirati za kreirane tipove, što vam omogućava da koristite varijable ovih tipova na isti način kao varijable unaprijed definiranih tipova.

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

    tipovi opsega (navođenjem raspona vrijednosti);

    tipovi nabrajanja (nabrajanjem mogućih vrijednosti);

    vrste skupova

Varijable tipova skupova mogu se koristiti za pohranjivanje informacija o skupu svojstava bilo kojeg objekta. Nešto slično se može učiniti korištenjem varijabli cjelobrojnog tipa, čiji postavljeni bitovi ukazuju na prisustvo odgovarajućih svojstava. Očigledno je korištenje skupova otpornije na greške programera.

Mašina ne razume ljudski jezik. Naravno, ne govorimo o Siri i drugim prepoznavačima glasa – govorimo o stvaranju novog softvera. Da bi se napravio kalkulator, mašini treba dati zadatak na isti način kao što predradnik objašnjava radnicima kako se postavlja cigla. Ali "Vasja, dođavola, moraš biti ujednačeniji!" treba opisati programskim jezikom. Odakle su ti jezici uopće došli?

Polazna tačka modernog kompjutera je Babbageova analitička mašina, ali jezici su izmišljeni ranije: u 19. veku su izmišljeni mehanički klavir i tkalački stan, za koje su inženjeri opisali logiku rada. Ovaj skup uputstava je prototip onoga što programeri pišu danas.

Sredinom 20. veka pojavila se Tjuringova mašina, zatim prvi računari i prvi savremeni programski jezik Plankalkül. Prvi skok u razvoju dogodio se kada je vojska skrenula pažnju na kompjutere - DARPA i njima slični počeli su aktivno ulagati u mladu industriju. Drugi je došao sa širenjem interneta - što ljudi dublje zaranjaju u digitalnu eru, to su traženiji glavni kreatori okruženja ove ere - programeri. I sve više ljudi želi da im se pridruži.

Želja je razumna i razumljiva, ali prvo pitanje u glavi često postaje nepremostiva barijera - sa kojim jezikom da počnem da učim programiranje? Strah od pogrešnog izbora zasnovan je na strahu od gubljenja vremena. Kao rezultat toga, programer početnik nekoliko godina traži "svoj" jezik, bez ikakvog pomaka prema svom željenom cilju. Pa, dođavola, koji jezik izabrati?

Kriterijumi za izbor prvog programskog jezika

Izbor jezika zavisi od problema koje programer želi da reši. Za internet projekte popularan je Python koji Google i Facebook koriste u svojim projektima, 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 tek kada ste u okruženju, možete shvatiti šta tačno želite da radite. Stoga stručnjaci preporučuju da kao svoj prvi jezik uzmete onaj kojim možete riješiti najširi spektar problema.

Naravno, visokospecijalizirani jezici bolje rješavaju probleme za koje su dizajnirani, ali ovo je sljedeći korak. Početniku je i dalje potrebna sloboda izbora.

Osim toga svestranost, postoje i kriterijumi:

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

Jezici koji najbolje odgovaraju ova tri opisa su Python, C#, Java i Ruby.

Razvijen 80-ih od strane holandskog programera Guida van Rosuma. Velike tehnološke kompanije rade sa Pythonom: Yandex, Google, Facebook i YouTube. Ovo je takozvani skript jezik - ono što je napisano ispod haube programa je napisano u njemu. Koristi se za web aplikacije, razvoj igara, serverski softver...

Jednostavnost Popularnost Svestranost

Kod je lak za čitanje i ima jasnu strukturu. Standardni alati su dovoljni za početak učenja.

Na prvom mjestu u programima za početnike na američkim univerzitetima.

Ažurira se redovno—svake 2,5 godine. Jedan je od pet najpopularnijih jezika prema analitičkoj kompaniji TIOBE Software za januar 2016.

Gotovo sve je napisano u Pythonu: skripte za upravljanje sistemom, web stranice, sistemi za mašinsko učenje, igre.

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

Jednostavnost Popularnost Svestranost

Strukturno blizak C++ i Javi - sintaksa (struktura programskog koda) je složenija od Pythona i Rubyja, ali će učenje srodnih jezika trajati manje vremena. Bibliotečki interfejsi se dobro uklapaju u obrasce dizajna, što ih čini lakim za učenje.

Posljednje ažuriranje je bilo 2015.

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

Jezik su izmislili programeri iz Microsofta za razvoj Windows aplikacija. Uprkos tome, koristi se i u drugim sistemima. Također radi na ugrađenim, desktop i serverskim platformama.


Ruby

Kreirao japanski programer pod uticajem Perl jezika. Lansiran 1995. godine. Ruby su napisali: Shopify, Github, Groupon, Yellow Pages, Twitter i Slideshare. On postaje sve popularniji, ali je češći u startapima nego u velikim kompanijama. Pogodno za kreiranje jednostavnog internet projekta.

Jednostavnost Popularnost Svestranost

Kao i kod Pythona, kod se lako čita. Struktura je takođe identična Python-u. U poređenju sa drugim jezicima, izbor standardnih biblioteka je lošiji - potrebno je da potrošite vreme na pretragu.

Velika i lojalna zajednica programera - svrstava se u prvih deset najpopularnijih jezika prema TIOBE Software-u. Mnoge biblioteke su besplatno dostupne.

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


Java

Prva verzija jezika objavljena je u maju 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 - kada jednom naučite jednu, gotovo znate drugu. Ali kao iu 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 po popularnosti prema TIOBE Software-u.

Najčešće se koristi za poslovni razvoj i Android aplikacije.


Rezultat pripreme

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

Sumnjali smo u to i otišli smo da razgovaramo sa iskusnim programerima - oni su nas ipak savetovali da se držimo Pythona. Evo šta kaže Grigory Petrov, profesionalni programer i VoxImplant evanđelista:

„Programski jezik Python se često naziva „izvršni pseudokod“ jer sintaksa jezika i standardne biblioteke naglašavaju čitljivost i razumljivost. Dodajte ovome najširi izbor razvojnih alata, biblioteka, materijala za obuku - i dobićemo jedan od najboljih programskih jezika za početnike.”

zaključak: Iako nema jasnih zadataka i jasnih ciljeva, već 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 složenijim i dužim od Ruby kursa, ali sloboda u odabiru smjera je vrijedna toga .

Najbolji članci na ovu temu