Preden razpravljamo o razliki med OOP in POP, si najprej oglejmo nekaj osnovnih pojmov procesa programiranja. Pri oblikovanju rešitev za različne vrste težav z uporabo programiranja obstaja veliko različnih pristopov k programskemu procesu. Ti pristopi so znani kot programske paradigme. Večina programskih jezikov spada pod eno paradigmo, vendar lahko obstajajo jeziki z elementi več paradigem. Objektno usmerjeno programiranje (OOP) in Programirano usmerjeno programiranje (POP) sta dve takšni programski paradigmi. Ti dve paradigmi se v glavnem razlikujeta zaradi abstrakcij, ki jih ustvarjata pri oblikovanju rešitve. Apstrakcija v programskem pristopu loči ustreznost informacij z vidika uporabnika ključna razlika med POP in OPP je to POP ustvarja in uporablja postopkovne abstrakcije medtem OOP se osredotoča na odvzem podatkov.
Objektno usmerjeno programiranje (OOP) temelji na dveh glavnih konceptih; predmeti in razredi. Objekti so strukture, ki vsebujejo podatke in postopke za delovanje teh podatkov. Ti predmeti se lahko uporabljajo za modeliranje stvarnih svetovnih entitet. Predmeti imajo dve značilnosti; stanje in vedenje. Razredi definirajo formate podatkov in postopke za določeno vrsto ali razred predmetov. Z drugimi besedami, razred je osnutek predmeta.
Pristop OOP se osredotoča predvsem na podatke in ne na algoritem za obdelavo podatkov. Ker so tako podatki kot funkcije, ki upravljajo s temi podatki, združeni znotraj predmetov, zunanjih funkcij podatkov ni mogoče spremeniti. To pomeni, da do podatkov predmeta ni mogoče dostopati s funkcijami katerega koli drugega predmeta. To zagotavlja varnost podatkov programa. Toda funkcije predmeta lahko dostopajo do funkcij drugega predmeta, ki omogočajo medsebojno komunikacijo. To sklicanje metod enega predmeta z metodami drugega predmeta je znano kot posredovanje sporočil.
Programiranje OOP ima štiri glavne značilnosti; abstrakcija, kapsulacija, polimorfizem in dedovanje. Namen abstrakcija je, da uporabniku pokažejo samo ustrezne informacije, tako da se zapletenost težave zmanjša. Kapsulacija je lokalizacija informacij znotraj predmeta. Postopek, kjer en razred pridobi lastnosti in funkcionalnosti drugega razreda, je znan kot dedovanje. Polimorfizem je funkcija funkcije s številnimi podpisi ali predmeta, ki se obnaša na več različnih načinov.
OOP podpira tudi visoko modularnost. Če dodate nove funkcije ali podatke, ni treba spremeniti celotnega programa. To lahko preprosto storite z ustvarjanjem novega predmeta, saj so predmeti neodvisni za deklariranje in definiranje. Tako je OOP lahko učinkovit in z visoko produktivnostjo.
Glede na programsko zasnovo OOP sledi pristopu od spodaj navzgor. Nekateri priljubljeni jeziki OOP so Java, Python, Perl, VB.NET in C++.
Python je priljubljen jezik OOP.
Programirano usmerjeno programiranje (POP) obravnava težavo kot zaporedje stvari, ki jih je treba storiti, in temelji na konceptu postopkovnih pozivov. Programi so razdeljeni na manjše odseke, imenovane postopki - znani tudi kot rutine, podprogrami, metode ali funkcije. Postopki poudarjajo algoritem, kaj je treba narediti v programu. To pomeni, da postopek vsebuje vrsto računskih korakov, ki jih je treba izvesti. Ker so te funkcije usmerjene k dejanjem, se uporaba modelov POP včasih izkaže za težavne pri modeliranju resničnih težav.
POP se bolj osredotoča na pisanje seznama navodil, s katerimi bo računalnik seznanjen, kaj naj stori korak za korakom. Manj pozornosti je namenjenih podatkom, povezanim s programom. Podatki se lahko posredujejo med postopki in vsak postopek pretvori podatke iz enega obrazca v drugega. Večina podatkov je globalnih in do njih je mogoče dostopati prosto s katere koli funkcije v sistemu. In ker POP ne podpira učinkovitih tehnik za skrivanje podatkov, je program morda negotov. Nekatere funkcije imajo morda lastne lokalne podatke.
V POP je morda težko določiti, kateri podatki se uporabljajo, katere funkcije so včasih, saj se globalni podatki v veliki meri delijo med funkcije. V primeru, da je treba obstoječe podatke spremeniti, je treba popraviti tudi vse funkcije, ki so dostopale do teh podatkov. To lahko vpliva na celoten program, napake in napake pa se lahko pojavijo.
Glede na programsko zasnovo jeziki POP uporabljajo pristop od zgoraj navzdol. Ker se jeziki POP izrecno sklicujejo na stanje izvršilnega okolja, jih imenujemo tudi nujni jeziki. Primeri za take jezike POP so COBOL, Pascal, FORTRAN in C.
C je priljubljen jezik POP.
OOP: Objektno orientirano programiranje je paradigma programiranja, ki se osredotoča na odvzem podatkov.
POP: Programirano usmerjeno programiranje je programska paradigma, ki se osredotoča na postopkovne abstrakcije.
OOP: V pristopu OOP so programi razdeljeni na dele, znane kot predmeti.
POP: v POP pristopu so programi razdeljeni na funkcije.
OOP: Glavni poudarek OOP je osredotočen na podatke, povezane s programom.
POP: Glavni poudarek POP je osredotočen na postopke in algoritme, ki upravljajo s podatki.
OOP: OOP sledi pristopu od spodaj navzgor.
POP: POP sledi pristopu od zgoraj navzdol.
OOP: V OOP vsak predmet nadzoruje podatke znotraj njega.
POP: V POP večina funkcij uporablja globalne podatke.
OOP: V OOP lahko do podatkov o predmetu dostopajo samo funkcije tega določenega predmeta.
POP: V POP se lahko podatki prosto premikajo od funkcije do funkcije.
OOP: OOP ima specifikacije za dostop, kot so javni, zasebni itd.
POP: POP nima določevalcev dostopa.
OOP: Ker OOP zagotavlja skrivanje podatkov, so podatki, povezani s programom, varni.
POP: POP ne ponuja nobenih načinov za skrivanje podatkov. Zato so podatki manj varni.
OOP: OOP ponuja enostavne in učinkovite načine dodajanja novih podatkov in funkcij brez revizije obstoječega programa.
POP: V POP, če je treba dodati nove podatke ali funkcije, je treba obstoječi program revidirati.
OOP: OOP uporabljajo C ++, Java, VB.NET, C # .NET itd.
POP: POP uporabljajo FORTRAN, Pascal, C, VB, COBOL itd.
Vljudnost slik: "Logotip Python logotipa in besednega žiga" www.python.org - https://www.python.org/community/logos/.(GPL) prek Commons "Logotip programskega jezika C" Rezonansowy - ta datoteka je bila pridobljena od: Programski jezik C, Prva izdaja Cover.svg. (Javna domena) prek Commons