Potražnja za programskim jezicima. Moderni programski jezici i njihova upotreba

💖 Sviđa li vam se? Podijelite vezu sa svojim prijateljima

Jedan od najčešće korištenih sustava za procjenu popularnosti programskog jezika je TIOBE, čija je suština prebrojavanje broja web stranica koje sadrže naziv pojedinog jezika.

Međutim, to ne pokazuje uvijek koliko je ljudi zapravo unutra ovaj trenutakželite koristiti ili koristite programski jezik, pa je GitHub tim ovom problemu pristupio iz drugog kuta.

Njihov sustav nazvan PYPL (Popularity of Programming Languages) temelji se na broju upite za pretraživanje Udžbenici: Što više ljudi traži udžbenike o određenom programskom jeziku, to je on viši u PYPL-u.

10. Brza

Jezik nije dugo prisutan, ali Apple želi da postane ključni jezik u cijelom svijetu i na svim platformama, uključujući web i Android, u sljedećih 20 godina.

9. R

R je nastao 1993. godine i danas ga koriste velike tvrtke za strojno učenje i analizu velikih podataka.

8. Cilj-C

Iako je Swift izvorno objavljen kako bi zamijenio Objective-C, on je još uvijek popularan i najsuvremeniji jezik za razvoj iOS-a. Ali to će se vjerojatno uskoro promijeniti.

7. C++

Najpopularniji proizvodi napisani u C++ su Windows i Google Chrome.

6.C

Tata može u C. Vjerojatno je to razlog zašto se ovaj jezik koristi posvuda, a kod u njemu može se izvoditi na doslovno bilo kojoj računalnoj platformi.

5. JavaScript

Upravo je taj jezik obično prvi na raznim ljestvicama. Međutim, prema GitHubu, nije najpopularniji. JavaScript se uglavnom koristi za razvoj web aplikacija, ali zapravo nema ograničenja za njega.

4. C#

C# razvijen od strane Microsofta a koristi se uglavnom u srodnim sustavima, npr. Windows Phone. Bing tražilica također je napisana u C#.

3.PHP

Ovaj je jezik najpopularniji izbor za backend razvoj. Na njoj su ispisane stranice kao što su Facebook, VKontakte, Yahoo.

2.Python

Python je nastao 1989. godine i od tada postaje sve popularniji.

U svijetu koji se dinamično mijenja, kada se do jučer cijenjena zanimanja pretvaraju u ništa, mnogi ljudi traže nešto čime će se baviti u životu tako da im to bude zanimljivo i relevantno za današnje vrijeme, a ujedno i isplativo. Vrlo često takva pretraživanja dovode do programiranja: dobri programeri, čak i u CIS-u, zarađuju tisuće dolara, imaju puno slobodnog vremena, mogućnost rada na daljinu i imaju šanse za rast u karijeri.

Osim ovih prednosti, programiranje je drugačije i po tome što da biste ga svladali ne morate godinama brisati hlače na sveučilištima. Samoobrazovanje je ovdje sve; internet ima sve potrebne materijale za uspješno samostalno učenje bilo kojeg programskog jezika: lekcije u tekstualnom obliku, video lekcije, upute, savjete iskusnih stručnjaka i druge obrazovne materijale. Na ovaj način možete lako učiti moderne tehnologije programiranje i pronaći doista pristojan posao.

Ali prije nego što se bacite na posao, morate odgovoriti na jedno važno pitanje: koji će moderni programski jezici biti relevantni u 2017., a na koji biste trebali potrošiti svoje vrijeme i trud? Ovdje puno ovisi o točnom odgovoru - složenosti i brzini procesa učenja, minimalnom pragu za ulazak u pravi posao i daljnjim izgledima za karijeru.

Obećavajuća područja programiranja i jezika za 2017

Da biste se odlučili za određeni programski jezik za proučavanje (jedan ili više), prvo morate odgovoriti na pitanje: u kojem području programiranja bi osoba željela raditi. Najpopularnija i brzo razvijajuća područja sada su:

Tehnologije web programiranja. Izrada web stranice, online usluge i bankarstvo, online trgovine, landing stranice za tvrtke i slično – sve je to dio web programiranja. Sve više ljudi na planetu postaje korisnicima interneta, postaje sve brže i jeftinije, čak i zreli i stariji ljudi postaju aktivni korisnici interneta. U 2017. ovaj se trend samo pojačava i plafon za njegov razvoj još nije vidljiv. Stoga je vrlo korisno učiti internetske programske jezike. Popis najpopularnijih od njih bit će predstavljen u nastavku;

Programiranje za gadgete: pametni telefoni, tableti, pametni satovi, naočale virtualna stvarnost I tako dalje. Ovo je također vrlo zanimljivo i brzo razvijajuće područje djelovanja. Milijarde ljudi diljem svijeta koriste gadgete, čitaju vijesti na njima, gledaju videozapise, slušaju glazbu i rade puno drugih stvari. Sve ove elektroničke funkcije moguće su zahvaljujući dobro napisanom softveru. Često košta mnogo više od fizički uređaj. Programiranje u ovom području sada je vrlo isplativo. Vrijedno je napomenuti da se ovdje najčešće koriste programski jezici visoke razine.

Koji jezik izabrati

Nemoguće je reći koji je jezik najmoderniji. Mnogi od njih koriste se vrlo široko i aktivno. Ali ako govorimo o obećavajući jezici programiranja, onda se najbolje može nazvati sljedeće:

  • Java. Najuniverzalniji i najpopularniji programski jezik, s kojim možete razvijati i aplikacije za računala i gadgete, posebno za Android kontrola OS. Ima jasnu sintaksu, uči prilično lako i brzo, prvi programi u Javi mogu se napisati nekoliko tjedana nakon početka obuke. Glavna karakteristika koja ga čini vrlo obećavajućim je njegova upotreba za programiranje za Android, koji se sada vrlo brzo razvija;
  • C#. Izvrsna opcija za osobu koja svoju aktivnost želi posvetiti pisanju programa za računalni sustavi. Upravo je jezik SI Sharp (C#) osnova na kojoj je napisana većina programa za razne platforme i usluge tvrtke Microsoft. Uz njegovu pomoć možete razvijati web aplikacije koristeći .NET i Azure, kao i programe izravno za Windows OS, razne poslovne aplikacije i mnoge druge stvari. Za upoznavanje s C# trebat će malo rada, ali će se na kraju isplatiti;
  • PHP. Ako je vaš zadatak pisati visokokvalitetne skripte i interaktivne predloške za internetske resurse ili biti administrator bilo kojeg poslužitelja, što je danas vrlo isplativo zanimanje, onda će PHP biti najbolji način ostvariti takve težnje. Moderni jezici programiranje jednostavno ne može bez ovog predstavnika. Uči vrlo brzo i lako - ako pažljivo i redovito učite PHP, nakon 2-3 godine možete se prijaviti za vrlo dobru poziciju i odgovarajuću plaću.

Naravno, ovo je daleko od toga pune karakteristike jezika i njihovu klasifikaciju, ali čak i tako mali popis dovoljan je da odaberete dobro i obećavajuće područje djelovanja za sebe.

Kompletan pregled modernih programskih jezika mogao bi potrajati previše vremena, ali to nije toliko potrebno, jer vrijedi zapamtiti glavnu stvar - osoba koja tečno govori bilo koji jezik sigurno će moći pronaći svoje mjesto na terenu programiranja. A znanje jednog od ovih jezika sigurno će biti dovoljno da zaradite dobar novac i riješite zanimljive probleme.

1. Prilikom odabira programskog jezika za projekt, izbor je između dvije strane - odaberite stari, provjereni alat ili novi, lijepi, funkcionalni, ali malo testirani, a time i nepouzdan jezik. Što je najpametnije učiniti u ovoj situaciji? Koji su rizici svakog rješenja i kako se nositi s njima?

Igor Zilberg,Pametna glava
Potrebno je odabrati alate prema njihovoj primjerenosti zadatku i prisutnosti iskusnog tima koji je upoznat s odabranim alatima. Rizici pri radu s novim alatima minimizirani su istraživanjem, izradom dokaza koncepta i angažiranjem iskusnih konzultanata. Nove tehnologije treba neprestano proučavati, ali koristiti ih samo ako su prikladnije za rješavanje određenog problema.

Aleksandar Makarčuk, qb
Za posao koncept “lijepog jezika” ne postoji. Možete se kladiti na novi neprovjereni jezik samo ako je zajamčeno da će projektu dati neku vrstu posebnog USP-a koji će kupci moći osjetiti, i što je najvažnije, htjeti platiti za to. Ako je ovaj uvjet ispunjen, odaberite novi jezik moguće je, ali ćete u isto vrijeme morati preuzeti sve rizike povezane s tim.

Grigorij Nikonov Actis Wunderman
Naravno, ovisi o projektu i zrelosti samog jezika. Ako projekt dopušta ili je uporaba jezika preduvjet, a dostupne su potrebne knjižnice predmeta, tada je sasvim moguće dopustiti eksperiment. Rizici su očiti: "zamke" na koje možete naići na pola puta. Svođenje ovih rizika na najmanju moguću mjeru također je očito: ako je moguće, provedite istraživanje prije početka projekta i osigurajte barem da postoji aktivna podrška za jezik na forumima ili od strane proizvođača.

,ADV
U ovom slučaju, sve ovisi o vremenu i proračunu projekta. Ako su i jedno i drugo jako ograničeno, onda je svako istraživanje neopravdano i može donijeti velike probleme, pa sve do potpunog propadanja projekta.

Aleksej Fedorov, "Kolege"
Odgovor uvelike ovisi o tome koliko dugo projekt planira trajati. Ako je ovo mali prilagođeni projekt koji treba brzo napraviti, isporučiti i zaboraviti na njega, onda možete odabrati što god želite. Ako se radi o velikom projektu koji će trajati godinama, onda je bolje odabrati provjerene tehnologije za koje možete angažirati potreban broj stručnjaka. Da biste procijenili koliko stručnjaka za određenu tehnologiju postoji u vašoj regiji, dovoljno je koristiti bilo koju razumnu uslugu, na primjer, LinkedIn ili HeadHunter. Zatim trebate pogledati nefunkcionalne zahtjeve: opterećenje, sigurnost, toleranciju na greške itd.

2. Koji značajni čimbenici jamče da se jezik može i treba koristiti u proizvodnji?

Igor Zilberg,Pametna glava
Nitko i ništa ne daje garancije na ovom svijetu. Oslanjamo se na naše iskustvo i zajedničke najbolje prakse.

Aleksandar Makarčuk, qb
Postoje tri glavna znaka koji pokazuju da je korištenje određenog jezika isplativo i sigurno. Prvo, prisutnost "žive" zajednice za ovaj jezik, drugo, prisutnost uspješnih slučajeva i treće, podrška jezika od strane velikih dobavljača.

Grigorij Nikonov Actis Wunderman
Prisutnost "zrelih" tematskih knjižnica i okvira, aktivna online zajednica koja nudi savjete u rješavanju problema, odsutnost negativnih recenzija o stabilnosti i izvedbi konačne aplikacije.

Aleksej Persijanov, Mihail Parfenjuk,ADV
Čimbenici su zajednica određenog jezika, broj provedenih projekata, broj programera itd. Puštanje proizvoda u proizvodnju na novom i sirovom jeziku krije velike probleme s podrškom.

Aleksej Fedorov, "Kolege"
Formalno jamstvo može biti podržano samo ugovorom. Ako postoji ozbiljan dobavljač (npr. Oracle, SAP, IBM), koji jamči npr. da će njegova tehnologija biti podržana sljedećih 10 godina, a s tim dobavljačem je potpisan odgovarajući Ugovor o podršci, tada, u načelu, ovo možete smatrati nekom vrstom jamstva. Problem je što je obično vrlo skupo, a kvaliteta podrške velikih dobavljača obično je odvratna.

Stoga je posljednjih godina u svijetu prihvaćena druga praksa – open source. Ako imate alat otvorenog izvornog koda (jezik, okvir, bazu podataka ili bilo što drugo) s otvorenim izvornim kodom, onda vam to daje određeno jamstvo da ako se iznenada otkrije greška u ovom alatu, tada, kao posljednje sredstvo, možete to popraviti buba vlastitim rukama. Ovo svojstvo opensource rješenja smatram ključnim za današnje poslovanje.

3. Što učiniti ako programer ili čak nekoliko programera predloži promjenu programskog jezika, ali situacija pokazuje da njihova strast nije podržana odgovarajućim poslovnim zahtjevima za tehnologiju?

Igor Zilberg,Pametna glava
Programeri nemaju poslovne zahtjeve. Predstavljeni su po poslovima. Međutim, posao ovisi o kvaliteti koda koji programeri pišu. Stoga, ako programeri žele koristiti tehnologiju koja očito nije prikladna za rješavanje poslovnog problema, moraju ili uvjeriti programere ili je promijeniti. Adekvatan i iskusan programer sposoban je razumjeti poslovne zahtjeve i na njih primijeniti najprikladnije rješenje. Mi nismo imali takvih problema. U našoj praksi često se događa suprotno: kupac, umjesto da formulira poslovne zahtjeve, utječe na odabir tehnologije (često nauštrb implementacije vlastitih zahtjeva).

Aleksandar Makarčuk, qb
Ako prijelaz na novi jezik nije potkrijepljen opipljivim argumentima i ne obećava ozbiljne koristi za projekt, onda nije potreban. Ali, naravno, to treba objasniti developerima kako ekipa ne bi stekla dojam da ih se ne sluša.

Grigorij Nikonov Actis Wunderman
Pridržavajte se konzervativne politike i ne mijenjajte jezik bez dobrog razloga. Uvijek će postojati još jedan projekt na kojem se može isprobati novi jezik.

Aleksej Persijanov, Mihail Parfenjuk,ADV
Programerima se možete susresti samo na pola puta u slučaju internog projekta ili ako je napisan za obuku tima. U ovom slučaju, rizici od neuspjeha su mali, a neuspjeh daje korisno iskustvo za budućnost. Inače, posao neće cijeniti perfekcionizam programera.

Aleksej Fedorov, "Kolege"
Prvo se trebate zapitati koji je razlog za promjenu jezika. Što će dati? Koje su prednosti, a koje mane? Koja je cijena takve tranzicije i koji je vremenski okvir? Koji su rizici?

Ako vas odgovori koje dobijete zadovoljavaju s poslovne točke gledišta, samo naprijed. Ako niste zadovoljni, trebate pokušati prenijeti programerima razloge zašto ih odbijate.

4. Kada se trošak prebacivanja s jednog jezika na drugi isplati?

Igor Zilberg,Pametna glava
Nemoguće je procijeniti troškove promjene platforme i povezane koristi izvan konteksta projekta. Takvu odluku moguće je donijeti samo na temelju informiranog pristupa u okviru konkretnog projekta, a ne na temelju bilo kakvih „univerzalnih“ mišljenja ili pravila.

Aleksandar Makarčuk, qb
Kada to podrazumijeva opipljivu dobit, izravnu i neizravnu zbog pojave novog USP-a za projekt, što će proizvod učiniti konkurentnijim.

Grigorij Nikonov Actis Wunderman
U slučaju kada vam uporaba novog jezika omogućuje značajno optimiziranje cijelog životnog lanca predmetnog područja: od dizajna, razvoja i testiranja aplikacije do implementacije i naknadnih ažuriranja i poboljšanja zbog svojstava jezika i ekosustava, okolo toga.

Aleksej Persijanov, Mihail Parfenjuk,ADV
Kada se jezična podrška zaustavi, au isto vrijeme broj stručnjaka na tržištu teži nuli. Ili ako potpuno izgubite stari tim bez mogućnosti zadržavanja tehnologije. Kada je dobit od jezika veća od cijene njegove tranzicije.

Aleksej Fedorov, "Kolege"
Kada vi i vaši kolege imate jasne odgovore na gornja pitanja.

5. Smatrate li da postoji uhodana podjela upotrebe jezika za određene poslove? Ako je tako, kako to točno vidite? Može li se pojaviti ili već postoji jezik koji će promijeniti situaciju i privući većinu programera?

Igor Zilberg,Pametna glava
Naravno, postoje neke tipične primjene različite platforme(ne jezike). Na primjer, Java i .NET za relativno velike poslovne aplikacije ili usluge. Node.js za višenitnu obradu i slanje poruka. Nemoguće je sve nabrojati. Međutim, te su granice vrlo, vrlo nejasne i također ovise o regiji. U SAD-u su, primjerice, iskustva korištenja, “moda” i tipična područja primjene platformi nešto drugačiji od naših.

Aleksandar Makarčuk, qb
S jedne strane, postoji ustaljena podjela jezika prema primjeni, ali s druge strane, regionalni i cjenovni čimbenici su prilično važni: trošak ulaska u tehnologiju, podrška itd. Što se tiče pojave novih jezika, ovdje treba napomenuti jednu stvar. Tijekom posljednjih nekoliko godina, razina komunikacije je značajno porasla, ali programski jezici su u biti isti. Možda će daljnja revolucija na području komunikacija za sobom povući i potpuno nove razvojne tehnologije.

Grigorij Nikonov Actis Wunderman
U načelu postoji takva podjela: jezici C i C++ tradicionalno se koriste za razvoj niske razine, Java i C# smatraju se jezicima opće namjene, pogodnim za širok raspon zadataka od poslovne logike do mobilne aplikacije. Python, Ruby i PHP uglavnom su namijenjeni web razvoju, JavaScript - aplikacijama preglednika. Ne mislim da su dramatične promjene u ovom području moguće, iako se moda za jezike i okvire ponekad mijenja - sada, na primjer, Go jezik počinje dobivati ​​popularnost.

Aleksej Persijanov, Mihail Parfenjuk,ADV
Da. Neke stvari su bolje implementirane u različitim jezicima zbog brzine i jednostavnosti korištenja, na primjer, u PHP projektima, zbog "sporosti" jezika, možete implementirati chat u Node ili agregator u Javi - rezultat bit će bolje.

Svake godine svaki novi jezik dobiva lovorike "najboljeg" i osvaja programere, ali za sada su, vjerojatno, pozicije dokazanih jezika nepokolebljive. Svašta se može dogoditi u budućnosti.

Aleksej Fedorov, "Kolege"
Većina poznatih suvremenih programskih jezika su multifunkcionalni, odnosno u njima se mogu napraviti vrlo različita rješenja.

Što se tiče novog jezika - da, takav jezik bi se mogao pojaviti, ali zbog prilično jake inercije industrije, ne mislim da će u sljedećih 5 godina itko skinuti Javu i C/C++ s pijedestala. Kad bih birao “konja”, kladio bih se na JavaScript. Danas vidimo ogroman rast svega što je povezano s JavaScriptom u industriji. Okviri se rađaju kao gljive poslije kiše. Pompa na internetu oko ove tehnologije je ogromna. Da vidimo kamo sve ovo vodi.

6. Treba li programer biti DevOps (imati vještine programiranja i Administrator sustava)? Što učiniti s činjenicom da većina programera odbija razvijati kompetencije i preuzimati odgovornost u ovom području?

Aleksej Persijanov, Mihail Parfenjuk,ADV
Za postavljanje okruženja obično koriste usluge administratora sustava. Ali vjerojatno ima smisla da osoba koja piše kod bude u mogućnosti konfigurirati platformu za optimalno izvođenje ovog koda. To će uštedjeti vrijeme i troškove.

7. Trebate li koristiti mikroservise u svojim projektima?

Aleksej Persijanov, Mihail Parfenjuk,ADV
Ne postoji jasan odgovor, ali naš odgovor je da. Naravno, oni mogu dodati puno problema, ali će također pomoći u rješavanju mnogih. Na primjer, zahvaljujući mikroservisima, različiti dijelovi aplikacije mogu biti napisani u različitim programskim jezicima, moguće je skalirati učitane dijelove aplikacije itd.

8. Treba li programer moći raditi sa širokim rasponom modernih web tehnologija i jezika?

Aleksej Persijanov, Mihail Parfenjuk,ADV
Posljednjih godina frontend je napravio veliki skok, dok u jezicima na strani poslužitelja razvoj nije toliko primjetan. Programer, naravno, mora poznavati osnove srodnih područja, ali nemoguće je biti guru u jezicima na strani poslužitelja i na strani klijenta; svatko mora gledati svoj posao i biti pravi profesionalac u tome.

  • Prijevod

Ako programske jezike podijelimo po popularnosti, oni se dijele u tri ešalona. Prvi nivo uključuje mainstream jezike kao što su Java, JavaScript, Python, Ruby, PHP, C#, C++ i Objective-C. Dok neki od najpopularnijih jezika možda nestaju, bilo bi bolje da znate jedan ili više njih ako želite lako pronaći posao.


Drugoslojni jezici pokušavaju se probiti u mainstream, ali to još nisu postigli. Dokazali su svoju vrijednost stvaranjem jakih zajednica, no još uvijek ih ne koristi većina konzervativnih IT tvrtki. Scala, Go, Swift, Clojure i Haskell su jezici koje bih klasificirao kao drugorazredni. Neke tvrtke koriste ove jezike za pojedinačne usluge, ali široko usvajanje je rijetko (s iznimkom Swifta, koji počinje preuzimati Objective-C kao primarni jezik za iOS). Go i Swift imaju dobre šanse prijeći s druge na prvu razinu u sljedeće dvije do tri godine.


Većina jezika u prvom ešalonu čvrsto je ukorijenjena na svojim pozicijama. Stoga je potrebno dosta vremena da jezik ispadne s vodeće pozicije, a za jezik drugog reda vrlo je teško probiti se u prvi.


Obećavajući jezici iz ovog članka pripadaju trećem ešalonu i tek počinju svoj put prema vrhu. Neki jezici ostaju u trećem sloju mnogo godina bez stjecanja popularnosti, dok drugi izbijaju na scenu za samo nekoliko godina. Kao, na primjer, jezici o kojima će se raspravljati u članku.

Obećavajući jezici: zašto ovih pet?

Pet programskih jezika o kojima će se raspravljati vrlo su novi (moguće je da ćete za neke čuti prvi put), i očito imaju izvrsne šanse da se probiju u drugi ešalon u sljedeće 2-3 godine. Možda će jednog dana jedan od ovih jezika moći zamijeniti jezike prvog ešalona.


Evo zašto je ovih pet jezika odabrano za ovaj popis:


Elm postaje sve popularniji u JavaScript zajednici, prvenstveno među onima koji preferiraju funkcionalno programiranje, koje je u porastu. Kao TypeScript ili Dart, Elm se prevodi u JavaScript.


Rust je sistemski programski jezik prvenstveno usmjeren na niše u kojima se koriste C i C++. Stoga je iznenađujuće vidjeti da popularnost ovog jezika sve brže raste među web programerima. Ova činjenica ima više smisla kada shvatite da je jezik kreirala Mozilla, koja je željela pružiti bolju opciju za web programere koji su prisiljeni pisati kod niske razine koji je učinkovitiji od PHP-a, Rubyja, Pythona ili JavaScripta. Rust je također izglasan kao najbolja "najomiljenija tehnologija" u StackOverflowovoj anketi za razvojne programere 2016. (što znači da bi većina korisnika željela nastaviti koristiti jezik).


Kotlin postoji oko pet godina, ali tek je ove godine stigao do verzije 1.0 spremne za proizvodnju. Iako još nije dostigao popularnost Scala, Groovy ili Clojure - tri najpopularnija i najzrelija (ne računajući Javu) JVM jezika - izdvaja se iz gomile drugih JVM jezika i čini se da je spreman preuzeti svoje mjesto među vodećima ove skupine . Jezik je nastao od JetBrainsa (kreatora popularnog IntelliJ IDEA IDE). Stoga je dizajniran s fokusom na produktivnost programera.


Crystal je još jedan jezik koji se nada donijeti izvedbu programa na razini C u vrhunski svijet web programera. Crystal je namijenjen Ruby zajednici jer... sintaksa mu je slična, a ponekad i identična Rubyju. S već velikim brojem Ruby startupa koji nastavlja rasti, Crystal može odigrati ključnu ulogu u podizanju performansi ovih aplikacija na višu razinu.


Elixir također crpi inspiraciju iz Ruby ekosustava, ali radije nego da pokušava donijeti prednosti slične C-u, fokusiran je na izgradnju vrlo dostupnih, responzivnih sustava, tj. nešto za što kritičari kažu da Rails ima problema. Elixir postiže ove prednosti koristeći Erlang VM, koji ima snažnu reputaciju temeljenu na 25 godina uspješnog korištenja u telekomunikacijskoj industriji. Phoenix (web okvir za Elixir), zajedno s velikim i uspješnim ekosustavom, daje ovom jeziku dodatnu privlačnost.


Sada pogledajte kako se četiri od ovih pet jezika penju na ljestvici popularnosti (na temelju podataka sa StackOverflowa i GitHuba):




Svaki od ovih jezika može se pohvaliti strastvenom zajednicom i vlastitim tjednim biltenom. Ako razmišljate o učenju mladog jezika s uzbudljivim mogućnostima za budućnost, pročitajte kratke prezentacije za svaki od ovih pet jezika, koje su napisali iskusni entuzijasti i vođe u svojim ekosustavima.

Brijest

Elm je funkcionalni programski jezik usmjeren na upotrebljivost i jednostavnost korištenja koji se kompilira u JavaScript kod visokih performansi. Možete ga koristiti, uključujući i zajedno s JavaScriptom, za stvaranje korisničkih sučelja na Internetu. Glavne prednosti Elma u odnosu na JavaScript su njegova pouzdanost, jednostavnost podrške i fokus na zabavu programiranja. Konkretnije:

  • Nema iznimaka vremena izvođenja: Elm kod ima reputaciju nikada ne bacajući iznimke tijekom izvođenja. Nimalo kao "nedefinirano nije funkcija."
  • Legendarno ljubazan kompilator: Elm prevodilac često hvaliti za najkorisnija izvješća o pogreškama među konkurentima. "Ako se kompajlira, obično jednostavno radi" je uobičajeno uvjerenje, čak i nakon velikog refaktoriranja. To čini velike Elm projekte puno lakšim za održavanje od usporedivih JS projekata.
  • Semantička verzija: elm-package automatski provodi semantičke verzije. Ako autor paketa pokuša napraviti izmjene koje kvare API bez podizanja glavnog broja verzije, elm-package će to otkriti i odbiti objavljivanje nova verzija paket. Nijedan drugi poznati upravitelj paketa ne nameće semantičku verziju tako pouzdano.
  • Brzo i funkcionalno: Elm je čisti funkcionalni jezik koji ne jamči nikakve mutacije ili nuspojave. Ovo ne samo da Elm kod čini visoko skalabilnim, već mu također pomaže da brže renderira korisničko sučelje od Reacta, Angulara ili Embera.
  • Snažni alati: formati elm-formata izvor prema standardu zajednice. Nema više argumenata oko konvencija kodiranja. Samo kliknite gumb "Spremi" u uređivaču i vaš kod postaje prekrasan. elm-test dolazi s baterijama koje podržavaju i jedinično i nasumično testiranje. elm-css vam omogućuje pisanje Elm koda koji se kompajlira u css datoteku, tako da možete dijeliti kod između svoje aplikacije i stilova kako biste osigurali da vaše konstante nikad ne budu sinkronizirane.

Elm kod također može komunicirati s JavaScriptom. Odnosno, možete ga uvesti u malim dozama u svoj JS kod, a i dalje možete koristiti ogroman JS ekosustav i ne izmišljati kotač.

Kotlin

Kotlin je statički tipiziran jezik koji cilja na JVM i JavaScript. Kotlin je rođen iz potrebe za JetBrainsom, koji je tražio novi jezik za razvoj svog skupa alata (koji je prvenstveno bio napisan u Javi). Nešto što bi im omogućilo korištenje postojeće baze kodova i istodobno riješilo neke od problema koje je Java uzrokovala. I upravo su to rješenja za te uobičajene nedostatke s kojima se susrećemo pri pisanju softver, definirao je većinu karakteristika Kotlina.

  • Konciznost: smanjiti količinu standardnog koda potrebnog za izražavanje određenih konstrukcija.
  • Svestranost: stvoriti jezik koji je prikladan za bilo koju vrstu industrijske aplikacije, bilo da se radi o webu, mobilnom razvoju, stolnim ili poslužiteljskim aplikacijama.
  • Sigurnost: Neka sam jezik rješava neke od uobičajenih pogrešaka povezanih s problemima kao što su iznimke nulte reference.
  • Interakcija: Dopustite jeziku da interoperira s postojećim Java kodnim bazama, bibliotekama i okvirima, omogućujući postupno usvajanje i korištenje postojećih ulaganja.
  • Alati: JetBrains izrađuje alate i izrađuje ih na temelju uvjerenja da mnogi rutinski poslovi može se automatizirati i dovesti do učinkovitijeg i produktivnijeg razvoja. Dakle, jezik bi trebao lako omogućiti korištenje pomoćnih alata.

Kotlin se uvijek bavio pragmatizmom - tražeći uobičajene probleme s kojima se često susrećemo prilikom pisanja koda i pokušavati pomoći u njihovom rješavanju. To se proteže kroz različite jezične značajke, kao što su:

  • Null-safe prema zadanim postavkama: Kotlin tipovi prema zadanim postavkama ne mogu nullirati, čime se izbjegavaju dosadne iznimke povezane s null referencama/pokazivačima.
  • Delegacija prve klase: mogućnost delegiranja funkcionalnosti člana klase vanjskoj funkciji, što olakšava ponovnu upotrebu i poboljšava sastav.
  • Ugovori: skup konvencija koje vam omogućuju pisanje ekspresivnog koda, utirući put DSL-u sa strogim tipovima koji poboljšava čitljivost i olakšava refaktoriranje.
    html ( glava ( naslov (+"XML kodiranje s Kotlinom") ) tijelo ( p ( + "Ovo je neki HTML") ) )

Kotlin 1.0 objavljen je u veljači 2016., nakon više od pet godina razvoja i opsežnog testiranja u stvarnim projektima. Trenutno više od deset JetBrains proizvoda koristi Kotlin. Koriste ga i tvrtke kao što su Amex, NBC Digital, Expedia i Gradle.


Za dobivanje dodatne informacije posjetite kotlinlang.org


Ovaj odjeljak napisao je

Naslov izvješća

Moderni programski jezici i njihova upotreba

Autor projekta

Struktura projekta

● Shema klasifikacije programskih jezika

● Klasifikacija programskih jezika

● Pregled programskih jezika

● Korisni resursi

Klasifikacijska shema programskog jezika

Klasifikacija programskih jezika

Proceduralno programiranje- odraz je von Neumannove arhitekture računala. Program napisan u proceduralnom jeziku je niz naredbi koje definiraju algoritam za rješavanje problema. Glavna ideja proceduralnog programiranja je korištenje memorije za pohranu podataka. Glavna naredba je dodjela, kojom se određuje i mijenja memorija računala. Program transformira sadržaj memorije, mijenjajući ga iz početno stanje do rezultata.

Postoje sljedeći proceduralni programski jezici:

 Jezik Fortran nastao je ranih 50-ih godina 20. stoljeća za programiranje znanstvenih i tehničkih problema;

 COBOL – nastao kasnih 60-ih godina 20. stoljeća za rješavanje problema obrade velikih količina podataka pohranjenih na različitim medijima za pohranu podataka;

 ALGOL (1960) je višenamjenski napredni programski jezik. Po prvi put je uveo koncepte " blok struktura programi" i "dinamička dodjela memorije";

 Sredinom 60-ih godina 20. stoljeća nastaje specijalizirani jezik programiranje za početnike - BASIC. Karakterizira ga lakoća učenja i prisutnost univerzalnih alata za rješavanje znanstvenih, tehničkih i ekonomskih problema, kao i problema, na primjer, igara.

Svi gore navedeni jezici bili su usmjereni na različite klase zadataka, ali su u jednom ili drugom stupnju bili vezani uz specifičnu računalnu arhitekturu.

 1963.-1966., stvoren je višenamjenski univerzalni jezik PL-1. Ovaj je jezik vrlo prikladan za istraživanje i planiranje računalnih procesa, modeliranje, rješavanje logičkih problema i razvoj softverskih sustava.

 Jezik Pascal (PASCAL) (1968.-1971.) najpopularniji je proceduralni programski jezik za osobna računala, koji se i danas uspješno koristi. Jezik Pascal temelji se na pristupu od općih problema prema specifičnim (jednostavnijim i manjim opsegom). Osnovna načela koja ima Pascal uključuju: a) Strukturirano programiranje, koje se temelji na korištenju potprograma i neovisnih struktura podataka; b) Top-down programiranje, kada se problem dijeli na jednostavne, neovisno riješene probleme. Tada se rješenje izvornog problema gradi u cijelosti od vrha prema dolje.

 Proceduralni programski jezici uključuju jezik ADA (1979.) nazvan po prvoj programerki Adi Lovelace, Byronovoj kćeri. Ističe se modularnim dizajnom.

 SI jezik (početak 70-ih) također spada u proceduralne programske jezike. Njegova izvorna verzija planirana je kao jezik za implementaciju operacijski sustav Unix umjesto asemblerskog jezika. Jedna od značajki SI jezika je da su razlike između izraza i operatora izglađene, što ga približava funkcionalnim programskim jezicima. Osim toga, SI jezik nema koncept procedure, a korištenje potprograma temelji se na konceptu funkcije, koja može kombinirati mogućnosti procedure. S jedne strane, na temelju skupa kontrolnih konstrukcija i struktura podataka, može se klasificirati kao jezik visoke razine, as druge strane, ima skup sredstava za izravan pristup funkcionalne jedinice računalo, što znači da se može koristiti kao operativni jezik.

Objektno orijentirano programiranje (OOP) je metoda programiranja u kojoj su glavni elementi programa objekti. U programskim jezicima koncept objekta implementiran je kao skup svojstava (strukture podataka karakteristične za dati objekt), metoda za njihovu obradu (rutine za promjenu njihovih svojstava) i događaja koji ovaj objekt mogu reagirati i koji dovode u pravilu do promjene svojstava predmeta. Kombiniranje podataka i njihovih svojstvenih postupaka obrade u jednom objektu naziva se enkapsulacija i jedno je od najvažnijih načela OOP-a.

Drugi temeljni koncept je klasa. Klasa je predložak na temelju kojeg se može kreirati određeni softverski objekt; opisuje svojstva i metode koje određuju ponašanje objekata te klase. Svaki konkretan objekt koji ima strukturu ove klase naziva se instancom klase.

Sljedeći najvažniji principi OOP-a su nasljeđivanje i polimorfizam. Nasljeđivanje uključuje stvaranje novih klasa na temelju postojećih i omogućuje klasi potomku da ima (naslijedi) sva svojstva roditeljske klase.

Polimorfizam znači da rođeni objekti imaju informacije o tome koje metode trebaju koristiti ovisno o tome gdje se nalaze u lancu.

Drugi važan princip OOP-a je modularnost - objekti sadrže potpunu definiciju svojih karakteristika, definicije metoda i svojstava ne smiju se nalaziti izvan njega, što omogućuje slobodno kopiranje i implementaciju jednog objekta u druge.

Najmoderniji programski jezici su C++ i Java. Od sredine 90-ih, mnogi objektno orijentirani jezici implementirani su kao sustavi vizualnog dizajna, u kojima se dio sučelja softverskog proizvoda stvara interaktivno, gotovo bez pisanja programskih izjava. Prigovarati – orijentirani sustavi vizualni dizajn uključuje Visual Basic, Delphi, C++ Builder, Visual C++. VBA (Visual Basic for Application) jezik – jezik Microsoftove aplikacije Office (Excel, Word, Power Point i tako dalje). VBA poštuje sintaksu osnovnog jezika i pravila programiranja Osnovni jezici– dijalekti, omogućuje stvaranje makronaredbi za automatizaciju izvršavanja određenih operacija i GUI korisnik, integracija između različitih softverskih proizvoda.

Deklarativni programski jezici

To uključuje funkcionalne i logičke programske jezike. Funkcionalno programiranje je način pisanja programa u kojem je jedina radnja pozivanje funkcije. Funkcionalno programiranje ne koristi memoriju kao mjesto za pohranjivanje podataka i stoga ne koristi posredne varijable, izjave o dodjeli ili petlje. Ključni koncept u funkcionalnim jezicima je izraz. Program napisan na funkcionalnom jeziku je niz opisa funkcija i izraza. Izraz se izračunava svođenjem složenog na jednostavno. Svi izrazi napisani su u obliku lista. Prvi jezik bio je Lisp jezik (LISP, LIST Processing) nastao 1959. godine. Ovaj jezik vam omogućuje obradu velikih količina tekstualnih informacija. Logičko programiranje je programiranje u smislu logike. Godine 1973. stvoren je jezik umjetne inteligencije Prolog (PROLOG) (Programiranje u logici). Prolog program se gradi od niza činjenica i pravila, zatim se formulira izjava koju Prolog pokušava dokazati pomoću pravila. Sam jezik traži rješenje koristeći metode pretraživanja i podudaranja koje su ugrađene u njega. Logički programi nisu karakterizirani visokim performansama, budući da se proces njihovog izvršavanja svodi na konstruiranje naprijed i natrag lanaca razmišljanja pomoću različitih metoda pretraživanja.

Pregled programskih jezika

Asembler

Računalni programski jezici podijeljeni su u 2 glavne skupine:

1) jezici niska razina;

2) jezici visoke razine.

Jezici niske razine uključuju asemblerske jezike. Ime su dobili po sustavnom programu Assembler, koji izvorne programe napisane na takvim jezicima pretvara izravno u kodove strojnih instrukcija. Dijelovi su ovdje operatori, a rezultat asemblera je niz strojnih naredbi Asemblerski jezik kombinira prednosti jezika strojnih naredbi i neke značajke jezika visoke razine. Asembler pruža mogućnost korištenja simboličkih imena u izvornom programu i štedi programera od zamornog rada (neizbježnog kod programiranja u jeziku strojnih instrukcija) dodjele računalne memorije za upute, varijable i konstante.

Asembler također omogućuje fleksibilno i potpuno korištenje tehničkih mogućnosti računala, kao i strojni naredbeni jezik. Prevoditelj asemblerskog izvornog programa jednostavniji je od prevoditelja potrebnog za programski jezik visoke razine. U asembleru možete napisati program koji je jednako učinkovit u veličini i vremenu izvođenja kao program u jeziku strojnih instrukcija. Ova prednost je odsutna u jezicima visoke razine. Ovaj jezik se često koristi za programiranje sustava u stvarnom vremenu, tehnološki procesi i oprema, koja osigurava rad informacijskih i mjernih sustava. Takvi sustavi obično imaju visoke zahtjeve za količinu računalne memorije koju zauzimaju. Često se asemblerski jezik nadopunjuje alatima za generiranje makro instrukcija, od kojih je svaka ekvivalentna cijeloj grupi strojnih instrukcija. Ovaj jezik se naziva jezikom makrosklopa. Korištenje poppy "građevnih" blokova približava asemblerski jezik jeziku visoke razine. Asemblerski jezik je jezik ovisan o stroju, tj. odražava arhitektonske značajke određene vrste računala

Pascal

Programski jezik Pascal razvio je Nicolas Wirth, profesor na Odsjeku za računarstvo na Švicarskom federalnom institutu za tehnologiju, 1968. godine kao alternativu postojećim i sve složenijim programskim jezicima kao što su PL/1, Algol i Fortran . Intenzivan razvoj Pascala doveo je do pojave njegovog standarda u obliku revidirane poruke 1973., a broj prevoditelja s ovog jezika 1979. premašio je 80. Početkom 80-ih Pascal je dodatno ojačao svoju poziciju pojavom MS-Pascal i Turbo prevoditelji -Pascal za PC. Od tada je Pascal postao jedan od najvažnijih i najčešće korištenih programskih jezika. Značajno je da je jezik odavno izašao iz okvira akademskog i uskostručnog interesa te se na većini sveučilišta u visokorazvijenim zemljama koristi ne samo kao radni alat korisnika. Najvažnija značajka Pascala je utjelovljenje ideje strukturiranog programiranja. Druga značajna značajka je koncept strukture podataka kao jedan od temeljnih pojmova.

Glavni razlozi popularnosti Pascala su sljedeći:

Jednostavnost jezika omogućuje brzo svladavanje i izradu algoritamski složenih programa

Razvijena sredstva za predstavljanje struktura podataka osiguravaju jednostavnost rada s numeričkim i simboličkim i bitnim informacijama

Prisutnost posebnih tehnika za stvaranje prevoditelja iz Pascala pojednostavila je njihov razvoj i pridonijela širokoj distribuciji jezika

Optimizirajuća svojstva Pascal prevoditelja omogućuju vam stvaranje učinkovitih programa. To je bio jedan od razloga korištenja Pascala kao sistemskog programskog jezika

Jezik Pascal implementira ideje strukturiranog programiranja, što program čini vizualnim i pruža dobre mogućnosti za razvoj i otklanjanje pogrešaka

Zaposlenik Bell Labsa Denis Ritchie stvorio je jezik C 1972. radeći s Kenom Thompsonom kao alat za implementaciju operativnog sustava Unix, no popularnost ovog jezika brzo je prerasla opseg specifičnog operativnog sustava i specifičnih zadataka programiranja sustava. Trenutačno se bilo koji alat i operativni sustav ne mogu smatrati dovršenim ako ne uključuju kompilator jezika C. Ritchie nije samo izmislio C iz svoje glave - prototip je bio B jezik koji je razvio Thompson. Programski jezik C osmišljen je kao alat za praktične programere. U skladu s tim, glavni cilj njegovog autora bio je stvoriti jezik koji je u svakom pogledu prikladan i koristan.

C je sistemski programerski alat i omogućuje vam da duboko prodrete u najsuptilnije mehanizme obrade informacija na računalu. Iako jezik zahtijeva veliku disciplinu od programera, on nije strog u svojim formalnim zahtjevima i dopušta sažete formulacije.

C je moderan jezik. Uključuje one upravljačke strukture koje preporučuju teorija i praksa programiranja. Njegova struktura potiče programera da u svom radu koristi dizajn odozgo prema dolje, strukturirano programiranje i inkrementalni razvoj modula.

C je moćan i fleksibilan jezik. Većina Unix operativnog sustava, kompajleri i interpreteri jezika Fortran, Pascal, Lisp i BASIC napisani su uz njegovu pomoć.

C je zgodan jezik. Dovoljno je strukturiran za podršku dobar stil programiranja i pritom nije vezan strogim ograničenjima. U određenom smislu, jezik C je najuniverzalniji, jer... Uz skup alata koji su svojstveni modernim programskim jezicima visoke razine (struktura, modularnost, određene vrste podataka), uključuje alate za programiranje gotovo na razini asemblera. Veliki skup operatora i alata zahtijeva od programera da bude pažljiv, precizan i dobro znanje jezik sa svim svojim prednostima i manama.

Jezik C++ pojavio se ranih 80-ih. Stvorio ga je Bjarne Stroustrup s izvornim ciljem da sebe i svoje prijatelje oslobodi programiranja u asembleru, C-u ili raznim drugim jezicima visoke razine.

Prema autoru jezika, razlika između ideologije C i C++ je otprilike sljedeća: C program odražava “način razmišljanja” procesora, a C++ odražava način razmišljanja programera. Udovoljavajući zahtjevima suvremenog programiranja, C++ stavlja naglasak na razvoj novih tipova podataka koji najbolje odgovaraju konceptima odabranog područja znanja i zadaćama primjene. Klasa je ključni koncept u C++. Opis klase sadrži opis podataka potrebnih za predstavljanje objekata ove vrste i skup operacija za rad sa sličnim objektima.

Za razliku od tradicionalnih C i Pascal struktura, članovi klase nisu samo podaci, već i funkcije. Funkcije članice klase imaju povlašteni pristup podacima unutar objekata te klase i pružaju sučelje između tih objekata i ostatka programa. Tijekom daljnjeg rada uopće nije potrebno prisjećati se unutarnje strukture klase i mehanizma rada ugrađenih funkcija. U tom smislu, klasa je poput električnog uređaja - malo ljudi zna za njegovu strukturu, ali svi znaju kako se njime služiti.

Jezik C++ je alat objektno programiranje, nova tehnika za dizajn i implementaciju programa koja će vjerojatno zamijeniti tradicionalno proceduralno programiranje u ovom desetljeću. Glavni cilj tvorca jezika, dr. Björna Stroustrupa, bio je opremiti jezik C++ konstruktima koji bi povećali produktivnost programera i olakšali proces svladavanja velikih softverskih proizvoda.

Apstrakcija, implementacija, nasljeđivanje i polimorfizam nužna su svojstva jezika C++, zbog kojih on nije samo univerzalan, poput jezika C, već i objektni jezik. Fortran Fortran je široko korišten jezik, posebno među korisnicima koji se bave numeričkim modeliranjem. To je zbog nekoliko razloga:

Postojanje ogromnih fondova Fortran aplikacijskih programa nakupljenih tijekom godina, kao i prisutnost ogromnog broja programera koji učinkovito koriste ovaj jezik;

Prisutnost učinkovitih Fortran prevoditelja na svim vrstama računala, a verzije za različite strojeve prilično su standardizirane i prijenos programa sa stroja na stroj obično nije jako težak;

Početni fokus Fortrana bio je na fizičkim, matematičkim i tehničkim primjenama; osobito se to očitovalo u činjenici da je dugo vremena ostao jedini jezik s ugrađenim tipom složenih varijabli i velikim skupom ugrađenih funkcija za rad s takvim varijablama.

U proteklom razdoblju formirana je nova metodologija i filozofija programiranja. Od ranih 1970-ih, Fortran se našao pod zasluženom kritikom. Godine 1977. usvojen je novi jezični standard, Fortran 77. Za izradu novog standarda bilo je potrebno dosta vremena, ali sada možemo smatrati da je njegov razvoj završen i da je novi standard Fortran-90 počeo ulaziti u praksu Fortran korisnika. Samo na strojevima kao što je IBM PC postoji nekoliko prevoditelja, na primjer, Watfor, Lap-Fortran, itd. Ali najviše se koriste na strojevima ovog tipa različite verzije Fortran-77 prevoditelja. Izdan 1990. godine, prevoditelj MS-Fortran 5.0 gotovo je u potpunosti u skladu sa standardom Fortran-90. Većina glavnih znanstvenih i inženjerskih aplikacija napisana je u Fortranu jer je prenosiv i robustan te jer ima ugrađene matematičke i trigonometrijske funkcije. Dodatni, sastavni dio svakog Fortran aplikacijskog programa je proširena grafička biblioteka koja omogućuje korištenje različitih grafičkih podataka i slika.

Jezik je nastao uglavnom 1975. - 1980. kao rezultat grandioznog projekta koji je poduzelo Ministarstvo obrane SAD-a s ciljem razvoja jedinstvenog programskog jezika za takozvane ugrađene sustave (tj. sustave upravljanja za automatizirane komplekse koji rade u stvarnom vremenu) . To je prije svega značilo ugrađene sustave upravljanja vojnim objektima (brodovima, zrakoplovima, tenkovima, projektilima, granatama itd.). Stoga odluke autora Ade ne treba smatrati univerzalnima. Potrebno ih je sagledati u kontekstu karakteristika odabranog predmetnog područja. Jezik Ade nastao je kao rezultat međunarodnog natjecanja jezičnih projekata održanog 1978.-1979. Sudionici su morali zadovoljiti prilično stroge zahtjeve detaljno razrađene pod pokroviteljstvom američkog Ministarstva obrane. Zanimljivo je da su svi jezici koji su došli do završnih krugova ovog natjecanja bili temeljeni na Pascalu. U tom smislu, Ada se može uvjetno okarakterizirati kao Pascal, razvijen uzimajući u obzir pet osnovnih zahtjeva navedenih gore. Pritom su autori uglavnom išli putem proširenja Pascala novim elementima. Rezultat je bio znatno složeniji jezik.

COBOL

Kobol je komparativ stari jezik, namijenjen prvenstveno istraživanju u gospodarskom području. Jezik vam omogućuje učinkovit rad s velikom količinom podataka; bogat je raznim mogućnostima pretraživanja, sortiranja i distribucije. O Cobol programima temeljenim na širokoj upotrebi na engleskom, kažu da su razumljivi i onima koji ne govore Cobol, jer tekstove u ovom programskom jeziku ne treba posebno komentirati. Takvi se programi obično nazivaju samodokumentirajući. Druge prednosti Cobola obično uključuju njegovu strukturu. Prilično moćni prevoditelji iz ovog jezika dizajnirani su za osobnih računala. Neki od njih su toliko učinkoviti da se program otklonjen na osobnom računalu može lako prenijeti na glavna računala.

Dok nabrajamo nedostatke, ne možemo ne zaboraviti da se u Cobolu mogu programirati samo jednostavni algebarski izračuni. Za inženjerski proračuni ovaj jezik nije dobar. Drugi razlog koji u određenoj mjeri koči razvoj jezika je prisutnost u Sjedinjenim Državama posebno stvorenog industrijskog odbora koji razvija standarde, čije poštivanje nadzire vladina komisija. Kao što se uvijek događa u takvim slučajevima, tvrtke koje se bave razvojem softvera ne žure prilagoditi svoje radove strogim zahtjevima komisije, nema konkurencije među verzijama, a na kraju širenje jezika gubi

PL/1 je razvio IBM 1964-1965. PL/1 je jedan od univerzalnih jezika, tj. omogućuje vam rješavanje problema iz različitih područja: numerički proračuni, obrada teksta, ekonomski problemi itd. Po svojim mogućnostima pokriva jezike kao što su Fortran, ALGOL-60 (stvoren za numeričke proračune), Cobol (za ekonomske probleme), iako iz više razloga PL/1 nije mogao istisnuti te jezike.

PL/1 sadrži sve osnovne konstrukcije karakteristične za takozvane jezike visoke razine, kao i niz specifičnih alata pogodnih za praktično programiranje. Jezik nalikuje konstruktoru sa veliki broj detalji - korisnik treba savladati samo one dijelove jezika koji su mu praktično potrebni. Njegovi su operatori prilično sažeti, što često omogućuje da se program napiše kompaktnije nego u drugim jezicima. Programer koji poznaje PL/1 može lako svladati bilo koji drugi jezik iste ili slične klase.

U isto vrijeme, PL/1 ima i brojne nedostatke koji otežavaju učenje i korištenje jezika. Glavni su sljedeći. Prvo, postoji mnogo alata koji se dupliraju, teško ih je zapamtiti, nije jasno što koristiti kada, osim toga, to smanjuje i brzinu prijevoda i brzinu izvršavanja programa. Drugo, programi nisu potpuno neovisni o stroju.

Modula

Možemo smatrati da povijest jezika Modula počinje 1980. godine, kada je Niklaus Wirth, jedan od istaknutih teoretičara informacija, poznat većini stručnjaka za računalna tehnologija uglavnom kao tvorac jezika Pascal, objavio je opis novog programskog jezika koji je nazvao Modula. Za razliku od Pascala, koji je trebao biti jezik za podučavanje programiranja, Modula je od samog početka bio jezik za profesionalne sistemski programi ists, nastavljajući najbolje tradicije svog prethodnika i obogaćujući ih novim idejama koje ispunjavaju takve zahtjeve za programske jezike kao što su struktura, modularnost i proširivost. Kao i mnogi drugi programski jezici, Modula je prošao kroz evoluciju, tijekom koje je njegovo izvorno ime preinačeno u naziv Modula-2. Istovremeno s razvojem jezika Modula, stvoreni su novi prevoditelji za njega, međutim, nijedan od njih nije se mogao natjecati s najboljim implementacijama jezika Pascal i C, na primjer, koje je razvio Borland. Tijekom ovog prijelaznog razdoblja za jezik Modula, najboljim implementacijama su se smatrale one koje je napravio Logitech, čije su karakteristike bile inferiorne u odnosu na Turbo Pascal i Turbo C. Tek 1988. godine, nakon što se Top Speed ​​​​sustav pojavio na američkom tržištu, Modula-2 je zauzeo svoje pravo mjesto među proceduralnim jezicima namijenjenim programiranju sustava. Nekoliko je čimbenika pridonijelo rastućoj popularnosti sustava Top Speed ​​​​: prikladno i, osim toga, lako promjenjivo radno okruženje na zahtjev korisnika, brz kompajler i selektivni uređivač veza. Ali najvažnije se pokazalo da stvorenih programa Bili su vrlo brzi i nisu zauzimali puno memorijskog prostora.

OSNOVNI, TEMELJNI

BASIC (Basic - Beginner’s All-Purpose Symbolic Instruction Code - "univerzalni simbolički instrukcijski kod za početnike"). Izravni potomak Fortrana i još uvijek najpopularniji programski jezik za osobna računala. BASIC se pojavio 1963. godine (teško bi bilo imenovati autora, ali glavne zasluge za njegovu pojavu nedvojbeno pripadaju Amerikancima Johnu Kemenyu i Thomasu Kurtzu). Kao i svaka prednost, jednostavnost BASIC-a došla je do izražaja, posebno u ranije verzije poteškoće strukturiranja; Osim toga, BASIC nije dopuštao rekurziju - zanimljivu tehniku ​​koja vam omogućuje sastavljanje učinkovitih, au isto vrijeme kratkih programa.

Razvijeni su moćni BASIC prevoditelji koji pružaju ne samo bogat rječnik i visoke performanse, već i mogućnost strukturiranog programiranja. Prema nekim programerima, najzanimljivije verzije su GWBASIC, Turbo-Basic i Quick Basic.

Svojedobno je pojava Quick Basica označila rođenje druge generacije programskih sustava u jeziku BASIC. Pružao je mogućnost modularnog i proceduralnog programiranja, kreiranja biblioteka, sastavljanja gotovih programa itd., što ga je dovelo na razinu klasičnih programskih jezika kao što su C, Pascal, Fortran itd. Štoviše, zbog nedostatka službenog jezičnog standarda BASIC, njegova implementacija u obliku Quick Basica postala je de facto standard. Neupitni lideri među različitim verzijama BASIC-a bili su Quick Basic 4.5 i PDS 7.1 od Microsofta, koji su se pojavili u kasnim 80-ima.

Lisp

Jezik Lisp predložio je J. McCarthy 1960. godine i namijenjen je razvoju programa za rješavanje nenumeričkih problema. Engleski naziv ovog jezika, LISP, je skraćenica za izraz LISt Processing (obrada popisa) i dobro ističe glavno područje njegove primjene. Koncept "popisa" pokazao se vrlo prostranim. Pogodno je prikazati algebarske izraze, grafove, elemente konačnih grupa, skupove, pravila zaključivanja i mnoge druge složene objekte u obliku popisa. Popisi su najfleksibilniji oblik predstavljanja informacija u memoriji računala. Stoga ne čudi da je prikladan jezik posebno dizajniran za obradu popisa brzo stekao popularnost.

Nakon pojave Lispa, razni autori predložili su niz drugih algoritamskih jezika usmjerenih na rješavanje problema iz područja umjetne inteligencije, među kojima su Planner, Snoball, Refal, Prolog. Međutim, to nije spriječilo Lisp da ostane najpopularniji jezik za rješavanje takvih problema. Tijekom gotovo četrdesetogodišnje povijesti njegovog postojanja pojavio se niz dijalekata ovog jezika: Common LISP, Mac LISP, Inter LISP, Standard LISP, itd. Razlike među njima nisu fundamentalne i uglavnom se svode na malo drugačiji skup ugrađenih funkcija i neke razlike u programima oblika zapisa. Stoga programer koji je naučio raditi na jednom od njih može lako svladati bilo koji drugi. Velika prednost Lispa je njegova funkcionalna orijentacija, tj. programiranje se provodi pomoću funkcija. Štoviše, funkcija se shvaća kao pravilo koje povezuje elemente određene klase s odgovarajućim elementima druge klase. Sam proces uparivanja nema nikakvog utjecaja na rad programa; važan je samo njegov rezultat - vrijednost funkcije. To čini relativno lakim pisanje i debugiranje velikih softverskih sustava. Jasnoća programa, jasno razgraničenje njihovih funkcija i odsutnost škakljivih nuspojava tijekom njihovog izvođenja obvezni su zahtjevi za programiranje tako logički složenih zadataka kao što su zadaci umjetne inteligencije. Disciplina u programiranju postaje posebno važna kada na programu ne radi samo jedna osoba, već cijela grupa programera.

Programski jezik Lisp prvenstveno je dizajniran za obradu simboličkih informacija. Stoga je prirodno da u svijetu Lispa brojevi igraju daleko od glavne uloge. Osnovni tipovi podataka u Lispu nazivaju se "atom" i "par točaka".

Prolog

Logički programski jezik dizajniran je za predstavljanje i korištenje znanja o određenom predmetnom području. Programi u ovom jeziku sastoje se od određenog skupa relacija, a njegovo se izvođenje svodi na izvođenje nove relacije na temelju zadanih. Prolog implementira deklarativni pristup, u kojem je dovoljno opisati problem korištenjem pravila i iskaza koji se odnose na zadane objekte. Ako je ovaj opis dovoljno točan, tada računalo može samostalno pronaći traženo rješenje.

Objekt PAL

Object PAL je moćan programski jezik. Object PAL je objektno orijentiran, vizualni programski jezik vođen događajima. Na početna razina S Object PAL funkcionalnošću možete izvoditi podatkovne operacije, kreirati posebne izbornike i upravljati sesijom unosa podataka. Događaji u Object PAL-u generiraju naredbe koje simuliraju učinak interaktivnog korištenja Paradoxa. Moguće je automatizirati zadatke koji se često izvode, kao i izvršavati radnje na tablicama, obrascima i izvještajima koji nisu bili dostupni tijekom interaktivnog rada. Object PAL također nudi sve mogućnosti potpuno opremljenog programskog jezika Windows okruženje. Možete koristiti Object PAL za stvaranje kompletnih sustava koji implementiraju poseban sustav izbornika, sustav pomoći i razne provjere podataka. U Object PAL-u svoj rad možete spremiti u dinamički povezanu biblioteku kojoj se može pristupiti putem nekoliko obrazaca. Osim toga, možete uspostaviti veze s drugim dinamičkim bibliotekama koje sadrže programe napisane na jezicima kao što su C, C++ ili Pascal.

Object PAL se može koristiti kao alat za izradu samostalnih programa. Možete napisati kompletnu Windows aplikaciju i pokrenuti je pod Paradoxom.

Object PAL podržava mehanizam dinamičke razmjene podataka i kao klijent i kao poslužitelj. Dodatno, Object PAL podržava mehanizam za rad sa složenim dokumentima kao klijent. Osim navedenog, moguće je uključiti multimediju u svoju aplikaciju tako da pokrenutoj aplikaciji omogućite zvučne i animacijske efekte.

Borlandova implementacija jezika dBase uspješan je hibrid objektne orijentacije i tradicionalnih metoda programiranja. Omogućio je stvaranje sustava korištenjem dizajna objekata i korištenjem konvencionalnih tehnika obrade zapisa. Veliko postignuće tvrtke Borland bilo je to što je vrlo uspješno kombinirala tehnike objektnog i proceduralnog programiranja. Prva verzija za Windows dala je korisniku najmoćniji alat temeljen na objektima na tržištu softvera za baze podataka. Omogućuje stvaranje novih klasa objekata koji imaju svojstva nasljeđivanja, enkapsulacije i polimorfizma. Također vam omogućuje programiranje ovih objekata korištenjem tradicionalnih dBase naredbi, idealnih za upravljanje jednostavnim tabličnim bazama podataka. Sve to daje neospornu prednost - izvršiti prijelaz na tehnike objektnog programiranja bez većih poteškoća, prijelaz tako težak, na primjer, kao u Paradox DBMS-u.

Jezik Java nastao je kao dio projekta izrade naprednog softvera za razne kućanske aparate. Projekt je započet u C++-u, no ubrzo su se pojavili brojni problemi, a najbolji način za rješavanje kojih je bila promjena samog alata - programskog jezika. Postalo je očito da je potreban programski jezik neovisan o platformi, koji bi omogućio stvaranje programa koji se ne bi morali kompilirati zasebno za svaku arhitekturu i koji bi se mogli koristiti na različitim procesorima pod različitim operativnim sustavima. Jezik Java bio je potreban za stvaranje interaktivnih proizvoda za Internet. Zapravo, većina arhitektonskih odluka donesenih u stvaranju Jave bila je vođena željom da se pruži sintaksa slična C i C++. Java koristi gotovo identične konvencije za deklariranje varijabli, prosljeđivanje parametara, prosljeđivanje operatora i za kontrolu tijeka izvršavanja koda. Java dodaje sve dobre značajke C++.

Tri ključna elementa zajedno čine tehnologiju jezika Java

Java omogućuje široku upotrebu svojih apleta - malih, pouzdanih, dinamičnih, aktivnih mrežnih aplikacija neovisnih o platformi ugrađenih u Internet stranice. Java Appleti može se prilagoditi i distribuirati potrošačima jednostavno kao bilo koji HTML dokument.

Java oslobađa snagu objektno orijentiranog razvoja aplikacija kombinirajući jednostavnu, poznatu sintaksu s robusnim razvojnim okruženjem koje je jednostavno za korištenje. To omogućuje širokom rasponu programera da brzo kreiraju nove programe i nove aplete.

Java pruža programeru bogat skup klasa objekata za jasno apstrahiranje mnogih funkcija sustava koje se koriste u prozorima, umrežavanju i I/O. Ključna značajka ovih klasa je da pružaju apstrakcije neovisne o platformi za širok raspon sistemskih sučelja.

Programski jezici za računalne mreže

Tumače se programski jezici za računalne mreže. Tumači za njih dijele se besplatno, a sami programi su u izvornom kodu. Takvi se jezici nazivaju skriptni jezici.

Perl je interpretirani jezik koji je stvorio programer Larry Wall za obradu velikih tekstova i datoteka i označava Practical Extraction and Report Language. S Perlom, na primjer, možete stvoriti skriptu koja otvara jednu ili više datoteka, obrađuje informacije i zapisuje rezultate.

Perl je jezik prilagođen za obradu proizvoljnih tekstualne datoteke, izvlačeći iz njih potrebne informacije i izdavajući poruke. Perl je također koristan za pisanje raznih sistemskih programa. Ovaj jezik je jednostavan za korištenje, učinkovit, ali teško je reći da je elegantan i kompaktan. Sintaksa Perl izraza je bliska sintaksi C-a. Rekurzija može biti proizvoljne dubine. Iako je Perl dizajniran za skeniranje tekstualnih datoteka, također može obraditi binarne podatke. Perl vam omogućuje korištenje regularni izrazi, stvarati objekte, umetati dijelove Perl koda u C ili C++ program, a također vam omogućuje pristup bazama podataka, uključujući Oracle.

Izumom World Wide Weba, Perl se pokazao izvrsnim alatom za interakciju s web poslužiteljima putem Common Gateway Interface (CGI). Perl naredbe mogu jednostavno uzeti podatke iz HTML obrasca ili drugog izvora i izvesti neke radnje na njima.

Jezik PHP(1995-1997) ima alate za pristup bazi podataka i koriste ga kreatori dinamičkih stranica diljem svijeta.

Jezik Tcl/Tk(kasnih 80-ih) sastoji se od moćnih naredbi dizajniranih za rad s apstraktnim netipiziranim objektima i omogućuje vam stvaranje programa s grafičkim sučeljem.

Jezik VRML(1994) stvoren je za organiziranje virtualnih trodimenzionalnih sučelja na Internetu.

Jezik XML. Od 1996. godine radi se na stvaranju univerzalnog jezika strukture dokumenata. Može postati zamjena za HTML.

Zaključak

Korisni resursi

Recenzija Aizili

Gdje je izvješće?

Recenzija Ranifka

Re: Gdje je izvještaj?
Sve će biti :-D

Recenzija Shamagulova Elite

Recenzija Mishina Alexandra

Izvrsno izvješće. Naučio puno novih stvari o programskim jezicima.

Recenzija Alexandra Morozova

Naravno da bih volio vidjeti izvještaj ili barem prezentaciju u nekom obliku.



reci prijateljima
Pročitajte također