Šis raksts ir vērsts uz to, lai apspriestu atšķirības starp procesuālo un objektorientēto programmēšanu.
Procedūru programmēšana
Procedūru programmēšanu var definēt kā programmēšanas modeli, kas ir atvasināts no strukturētas programmēšanas, pamatojoties uz izsaukšanas procedūras koncepciju. Procedūras, kas pazīstamas arī kā rutīnas, apakšprogrammas vai funkcijas, vienkārši sastāv no veicamo skaitļošanas darbību sērijas. Programmas izpildes laikā jebkura noteiktā procedūra var tikt izsaukta jebkurā brīdī, tostarp ar citām procedūrām vai pati par sevi.
Procesuālajā programmēšanā izmantotās valodas:
FORTRANS, ALGOL, COBOL,
BASIC, Pascal un C.
Objektorientētā programmēšana
Uz objektu orientētu programmēšanu var definēt kā programmēšanas modeli, kura pamatā ir objektu jēdziens. Objekti satur datus atribūtu veidā un kodu metožu veidā. Objektorientētajā programmēšanā datorprogrammas tiek veidotas, izmantojot tādu objektu jēdzienu, kas mijiedarbojas ar reālo pasauli. Objektorientētās programmēšanas valodas ir dažādas, taču populārākās ir uz klasēm balstītas, kas nozīmē, ka objekti ir klašu gadījumi, kas arī nosaka to veidus.
Objektorientētajā programmēšanā izmantotās valodas:
Java, C++, C#, Python,
PHP, JavaScript, Ruby, Perl,
Objective C, Dart, Swift, Scala.
Procesuālā programmēšana pret objektorientētu programmēšanu
Tālāk ir norādītas dažas atšķirības starp procesuālo un objektorientēto programmēšanu.
| Uz procedūru orientēta programmēšana | Objektorientētā programmēšana |
|---|---|
| Procesuālajā programmēšanā programma ir sadalīta mazās daļās, ko sauc funkcijas . | Objektorientētajā programmēšanā programma ir sadalīta mazās daļās, ko sauc objektus . |
| Procedūru programmēšana seko a pieeja no augšas uz leju . | Objektorientētā programmēšana seko a augšupēja pieeja . |
| Procesuālajā programmēšanā nav piekļuves specifikācijas. | Objektorientētajai programmēšanai ir piekļuves specifikācijas, piemēram, privāta, publiska, aizsargāta utt. |
| Jaunu datu un funkciju pievienošana nav vienkārša. | Jaunu datu un funkciju pievienošana ir vienkārša. |
| Procedūru programmēšanai nav piemērota datu slēpšanas veida, tāpēc tā ir mazāk droši . | Objektorientētā programmēšana nodrošina datu slēpšanu drošāk . |
| Procesuālajā programmēšanā pārslodze nav iespējama. | Objektorientētajā programmēšanā ir iespējama pārslodze. |
| Procesuālajā programmēšanā nav datu slēpšanas un mantošanas jēdziena. | Objektorientētajā programmēšanā tiek izmantots datu slēpšanas un mantošanas jēdziens. |
| Procesuālajā programmēšanā funkcija ir svarīgāka par datiem. | Objektorientētajā programmēšanā dati ir svarīgāki par funkciju. |
| Procedūru programmēšana ir balstīta uz nereālā pasaule . | Objektorientētā programmēšana ir balstīta uz īstā pasaule . |
| Procesuālā programmēšana tiek izmantota vidēja lieluma programmu projektēšanai. | Objektorientētā programmēšana tiek izmantota lielu un sarežģītu programmu projektēšanai. |
| Procedūru programmēšana izmanto procedūru abstrakcijas jēdzienu. | Objektorientētā programmēšana izmanto datu abstrakcijas jēdzienu. |
| Procesuālajā programmēšanā nav koda atkārtotas izmantošanas, | Objektorientētā programmēšana ir koda atkārtoti lietojama. |
| Piemēri: C, FORTRAN, Pascal, Basic utt. | Piemēri: C++, Java, Python, C# utt. |