Programski sustavi pružaju platformu za razvoj aplikacijskog softvera i za izravnu interakciju s računalnom opremom kako bi dobili potrebne performanse pri izvršavanju korisničkih zadataka. Platforma se može koristiti za programiranje iPhone, iPad aplikacija i operacijskih sustava Android pomoću programskog jezika Java. Android Studio i Oracle Java SDK sučelje, u kombinaciji s potrebnim osnovnim znanjima, omogućuju vam stvaranje raznih aplikacija.
Za početak, otkrivajmo koncept programskih sustava. Oni koje sada koristimo pripadaju razdoblju treće generacije računala. Programiranje sustava je izrada softvera. Može obavljati mnoge različite zadatke. Bez nje većina hardvera ne bi izvršavala svoje funkcije. Da biste ih učinili korisnim, koristite softver. Korisnik mora odabrati željeni program za svaki zadatak.
Elementi klasičnog programskog sustava:
Primjer suvremenog programskog sustava uključuje servis i osnovni softver.
Opći oblik programa posebnu pozornost posvećuje pojedinim komponentama i odnosu između njih. Programi su dobri ili slabo strukturirani. S dobro strukturiranim programom, dijeljenje komponenti slijedi načela, kao što je skrivanje informacija, na primjer, a sučelja između komponenti su jasna i jednostavna. Na suptilnijoj razini koristi odgovarajuće strukture podataka i softverske jedinice s jednom ulaznom točkom i jednom izlaznom točkom.
Uz loše strukturiran program, podjela na komponente je uglavnom proizvoljna, a sučelja su implicitna i složena. Osim toga, takav program ima proizvoljne strukture podataka i tok upravljanja. Gotovo svi strukturirani programi imaju opći karakter aktivnosti:
Sustavi programiranja i Hello World pozdrav u različitim programskim jezicima jasno pokazuju osnovne razlike.
Da bi koristio varijablu unutar programa, prevodilac mora unaprijed znati vrstu podataka koji će biti pohranjeni u njemu. Zbog toga su varijable deklarirane na početku programa.
Deklaracija varijable sastoji se od specificiranja novog imena i tipa podataka za varijablu. To se obično radi na samom početku.
Sljedeća slika prikazuje primjer programskog sustava za strukturu petlje koja aktivira skup izjava sve dok uvjet nije istinit.
To je onaj koji nema funkcionalan izlazni postupak. Zbog toga se ciklus neprestano ponavlja sve dok ga operativni sustav ne prepozna i zaustavi program s pogreškom ili dok se ne dogodi neki drugi događaj, na primjer, program se automatski zaustavlja nakon određenog vremena.
U nastavku su prikazani sustavi programiranja i primjeri C programa za program sortiranja nizova u rječniku. Ovaj program uzima 10 riječi (redaka) od korisnika i sortira ih u leksikografskom redoslijedu. Na primjer, 10 programskih jezika:
rezultat:
Za programiranje trebate nekoliko alata. Shema klasičnog programskog sustava:
Korištenje predloška dizajna je strukturirati program ili koristiti jezične alate i što je moguće jasnije kako bi se osigurao sustavan pristup programiranju, kao i povezivanje s bazom predložaka, stvarajući stranicu koja će prikazati prilagođeni izgled. Općenitije, dizajn uzorak je višezadaćnost i napredna rješenja.
Struktura softvera (ili okvir) posebna je vrsta knjižnice softvera. Njegov prvi cilj je povezati programiranje, pružajući što je više moguće alatima koji su vam potrebni. Na primjer, Django 2 je struktura u Pythonu osmišljena da olakša stvaranje reaktivnih web-mjesta. Stvara strukturu i nudi uobičajene alate kojima su sve stranice potrebne (administracijsko sučelje, usluge provjere autentičnosti, način prevođenja stranice na nekoliko jezika itd.).
Drugi primjer je prisutnost nekoliko okvira u JavaScriptu (jQuery ili angular.js) s jednim ciljem - iste radnje trebaju biti napisane drugačije, ovisno o tipu preglednika koji posjetitelj koristi na web stranici. Oni imaju jedinstveno sučelje za pretvaranje u kod koji svaki preglednik razumije. Na slici je primjer programskog sustava u JavaScriptu za zadatak otvaranja novog prozora nakon klika na gumb.
Programski jezik je skup sporazuma i apstrakcija koje vam omogućuju da pišete ono što je potrebno korisniku da bi računalo proizvelo rezultat u razumljivijem obliku. Kompilacija je pretvoriti izvorni kod u izvršnu datoteku. Ovu konverziju izvodi prevodilac. Razlika u brzini izvršenja je ogromna. Općenito, ako su sve ostale jednake, program na kompiliranom jeziku će raditi deset puta brže od interpretiranog. U nastavku je primjer sustava za programiranje C. Prikazuje program koji koristi takozvane funkcije višeg reda i čiste funkcije.
U slučaju tumačenih jezika, izvorni kod se dostavlja tumaču koji izvršava program izravno. Nema potrebe brinuti se o operativnom sustavu ili vrsti procesora, jer mora biti instaliran na korisnikovom računalu. Štoviše, budući da izvorni kod mora biti "preveden" u strojni kod sa svakim izvršavanjem, interpretirani jezici su često spori u usporedbi s ekvivalentnim prevedenim jezicima. U isto vrijeme, tumači ne optimiziraju generirani strojni kod, što ih čini sporijim, ali je proces generiranja strojnog koda brži od procesa kompilatora.
Često se skraćuje, nazivaju se "VM jezici" (u skladu s analogijama engleskog naziva virtualnog stroja). Princip rada i svrha programskog sustava je da izvorni kod nije preveden u strojni kod, razumljiv određenom procesoru, već u "dummy" (bajt-kod), koji će sam po sebi interpretirati jezikom virtualnog stroja. Takav jezik ima prednosti i nedostatke.
Kao i kod interpretiranih jezika, program sastavljen u bajt-kod može se izvoditi na bilo kojem operacijskom sustavu i procesoru, pod uvjetom da je virtualni stroj dostupan za tu kombinaciju. S druge strane, budući da je postojala kompilacija uzvodno, program radi brže od ekvivalentnog interpretiranog jezika. Često doseže brzinu sličnu onoj "pravog" jezika strojnog koda. Međutim, to se izravnava činjenicom da virtualni stroj može biti vrlo resursno intenzivan, osobito u memoriji.
Konačno, možete stvoriti nove jezike koji će biti prevedeni u isti bajtni kod kao i drugi postojeći jezik, što pojednostavljuje njihovu interakciju. To je jedan od zadataka programskog sustava. Primjer je Clojure i Frege jezici su kompilirani za Java bytecode. Oni su funkcionalni i radikalno različiti od Jave u svom dizajnu. U tom slučaju, možete napisati različite dijelove programa s jednim od najprikladnijih jezika i učiniti ih da rade zajedno na virtualnom računalu. Java je jezik koji se najbolje kompilira u virtualni stroj. Ali trebate aplikaciju koja se sastoji od skupa Java klasa. Na početku bilo koje klase postoji određena struktura, kao što je JavaClassFileFormat.
Predstavljamo najpoznatije programske jezike:
Predstavljamo primjer strojnog koda:
110101010010001000111001001 010101001000100001011101001 000111001101110001101101010 001111010010010101011001010 001010101111110100101010001.
Kao što možete vidjeti, vrlo je malo prepoznatljive strukture u ovoj vrsti koda. U programskim jezicima, semantički jaz je razlika između jezika koji se koristi za programiranje hardvera (strojnog koda) i jezika koji se treba koristiti za programiranje računala kao sustava. Primjer programskog sustava: na strani klijenta JavaScripta potrebna su dva jezika, osim onog koji generira JavaScript (CoffeScript ili Elm).
Na strani poslužitelja, PHP drži najviše pozicije, ali Python i Ruby se također aktivno koriste. JavaScript se također koristi na strani poslužitelja, zahvaljujući NodeJS-u. Za videoigre na Windowsima koriste se C ++, Python i C #. Međutim, oni nisu jedini. Svaki jezik koji olakšava stvaranje grafičkog sučelja može biti prikladan (C, Java, Ruby ili Tcl / Tk).
Za velike aplikacije, C ++ i Java dominiraju tržištem, iako C # također dobiva na zamahu. Za male utilitarne aplikacije, osobito u naredbenom retku, lako je pronaći C, Perl, Python ili Ruby. U području znanstvenog računalstva Fortran je i dalje kralj. Sve se više natječe s C ++, Python ili specijaliziranim jezicima kao što su Matlab i R.
Kroz povijest računalstva stotine su pokušaja da se jezici za programiranje računala, kao što je pisani engleski, lako čitaju i razumiju. PASCAL je rezultat jednog takvog napora. Tvorac PASCAL-a, Nicholas Wirth, htio je HLL, koji se lako može učiti, čitati i pisati. Razvio je PASCAL na temelju sljedećih koncepata:
U nastavku slijedi primjer za određivanje broja slova u riječi.
PASCAL olakšava modularno kodiranje prema:
U danom primjeru Pascalovog programskog sustava program pokazuje binarni izbor (postoje samo dva slučaja: ActualMark> = 50 ili ActualMark <50).
Treba izbjegavati uobičajene pogreške kodiranja. Tako će korisnik uštedjeti vrijeme i izbjeći probleme. Vrste pogrešaka:
Sintaksni stilovi isticanja i uvlačenja često se koriste kako bi pomogli programerima da prepoznaju elemente izvornog koda.
Važno je da je kodiranje boja istaknuto u fragmentu koda kao primjer programskog sustava napisanog u Pythonu.