Programski jezici temeljni su aspekt računalne znanosti i programiranja. Omogućuju ljudima da komuniciraju upute računalima. Programski jezici dolaze u različitim vrstama i dizajnima, a svaki služi različitim svrhama. Ova lekcija će istražiti temeljne koncepte programskih jezika, njihovu kategorizaciju i primjere.
U svojoj srži, programski jezici su skupovi instrukcija koje su razumljive računalima. Ove upute govore računalu kako izvršiti određene zadatke. Kako bi to učinili učinkovito, programski jezici daju sintaksu (pravila o tome kako konstruirati ove instrukcije) i semantiku (značenje iza ovih instrukcija).
Programski jezici mogu se općenito klasificirati u tri osnovne kategorije: jezici niske razine, jezici visoke razine i skriptni jezici. Svaka kategorija služi različitim svrhama i usklađuje se s različitim paradigmama programiranja.
Jezici niske razine bliži su strojnom kodu, koji je skup binarnih instrukcija koje procesor računala može izravno izvršiti. Dvije glavne vrste jezika niske razine su asemblerski jezik i strojni jezik.
Asemblerski jezik: koristi mnemoničke kodove i oznake za predstavljanje instrukcija na razini stroja. Čovjeku je malo čitljiviji od strojnog koda, ali još uvijek zahtijeva duboko razumijevanje hardvera računala.
Strojni jezik: Ovo je najniža razina jezika, koja se sastoji od binarnog koda (0 i 1) koji izravno izvršava procesor.
Primjer:
Instrukcija asemblerskog jezika: MOV A, B (ova instrukcija premješta sadržaj registra B u registar A)
Programski jezici visoke razine dizajnirani su da budu čitljiviji ljudima i da apstrahiraju veći dio složenosti povezane s računalnim hardverom. Omogućuju programerima da pišu upute koristeći naredbe slične engleskim, koje se zatim prevode u strojni kod putem prevoditelja ili tumača. Primjeri jezika visoke razine uključuju Python, Java, C++ i JavaScript.
Primjer:
Python kod: print("Hello, World!") (Ova izjava ispisuje tekst "Hello, World!" na konzoli)
Skriptni jezici vrsta su programskog jezika visoke razine koji se obično tumači, a ne kompilira. Često se koriste za automatizaciju zadataka, web razvoj i stvaranje dinamičkog sadržaja na web stranicama. Primjeri uključuju Python (također se koristi kao skriptni jezik), Perl i Ruby.
Primjer:
Python skripta: import os
os.listdir('.') (Ova skripta ispisuje sve datoteke i direktorije u trenutnom direktoriju)
Paradigme programiranja način su klasificiranja programskih jezika na temelju njihovih značajki i stila programiranja koji potiču. Neke uobičajene paradigme uključuju proceduralno, objektno orijentirano, funkcionalno i deklarativno programiranje.
Proceduralno programiranje: Usredotočuje se na pisanje niza procedura ili funkcija koje rade s podacima. C je dobro poznati primjer proceduralnog jezika.
Objektno orijentirano programiranje (OOP): Ova se paradigma temelji na konceptu "objekata", koji sadrže podatke i metode. Java i Python su primjeri objektno orijentiranih jezika.
Funkcionalno programiranje: naglašava funkcije koje primaju ulaze i proizvode izlaze bez mijenjanja stanja. Haskell i Scala su primjeri funkcionalnih jezika.
Deklarativno programiranje: Fokusira se na logiku računanja bez opisa njegovog tijeka upravljanja. SQL (za postavljanje upita bazama podataka) je primjer deklarativnog jezika.
Programski jezici značajno su se razvili tijekom godina, od ranih asemblerskih jezika do modernih i apstraktnijih. Čini se da trend razvoja programskog jezika ide prema sve većoj apstraktnosti, jednostavnosti korištenja i svestranosti.
Posljednjih godina bilježimo porast domenskih jezika (DSL-ova) koji su dizajnirani za specifične zadatke, kao što je SQL za upite baze podataka i HTML za dizajn web stranice. Nadalje, sve je veći naglasak na jezičnim značajkama koje podržavaju istovremeno i paralelno programiranje, kako aplikacije postaju sve više distribuirane i višenitne.
Programski jezici vitalni su alat u području računalnih znanosti i razvoja softvera. Razumijevanje različitih vrsta jezika, njihovih kategorija i paradigmi može pomoći u odabiru odgovarajućeg jezika za određene zadatke. Kako se tehnologija razvija, programski jezici nastavit će se prilagođavati, nudeći moćnije i učinkovitije načine komunikacije s računalima.