Objektorientēta programmēšana vs procesuālā programmēšana
Objektorientētā programmēšana (OOP) un procesuālā programmēšana ir divas programmēšanas paradigmas. Programmēšanas paradigma ir datorprogrammēšanas pamata stils, un tās atšķiras ar to, kā tiek attēloti dažādi programmas elementi un kā tiek definēti soļi problēmu risināšanai. Kā norāda nosaukums, OOP koncentrējas uz problēmu attēlošanu, izmantojot reālās pasaules objektus un to uzvedību, savukārt procesuālā programmēšana nodarbojas ar problēmu risinājumu attēlošanu, izmantojot procedūras, kas ir kodu kolekcijas, kas darbojas noteiktā secībā. Ir programmēšanas valodas, kas atbalsta galvenos OOP aspektus (sauktas par OOP valodām), Procedurālās (sauc par Procedūru valodas) un abus. Tomēr jāpiebilst, ka OOP un Procedūras ir divi risināmo problēmu attēlošanas veidi, un nav svarīgi, kura valoda tiek lietota. Citiem vārdiem sakot, OOP valodas var izmantot procesuālajai programmēšanai, savukārt procedūras procedūras dažreiz var izmantot OOP, ar nelielu piepūli.
Procedurālā programmēšana ir programmēšanas veids, identificējot darbību kopumu noteiktas problēmas risināšanai un precīzu secību, kādā tās jāveic, lai sasniegtu vēlamo rezultātu vai stāvokli. Piemēram, ja vēlaties aprēķināt bankas konta mēneša beigu bilanci, nepieciešamās darbības būtu šādas. Pirmkārt, jūs iegūstat konta sākuma bilanci un pēc tam samazina visas mēneša laikā radušās debeta summas. Pēc tam jūs pievienojat visas mēneša laikā radušās kredīta summas. Procesa beigās jūs saņemsiet konta mēneša beigu bilanci. Viena no galvenajām procesuālās programmēšanas koncepcijām ir procedūras izsaukums. Procedūra, kas pazīstama arī kā apakšprogramma, metode vai funkcija, satur sakārtotu izpildāmo instrukciju sarakstu. Procedūru var izsaukt jebkurā izpildes laikā ar jebkuru citu procedūru vai arī pati. Procedūras programmēšanas valodu piemēri ir C un Pascal.
OOP uzmanības centrā ir domāšana par risināmo problēmu reālās pasaules elementu izteiksmē un problēmas attēlošana attiecībā uz objektiem un to izturēšanos. Objekts ir datu struktūra, kas ļoti līdzinās kādam reālās pasaules objektam. Objekti satur datu laukus un metodes, kas attēlo reālās pasaules objektu atribūtus un izturēšanos. Ir vairāki svarīgi OOP jēdzieni, piemēram, datu abstrakcija, iekapsulēšana, polimorfisms, ziņojumapmaiņa, modulārais raksturs un mantojums. Dažas populāras OOP valodas ir Java un C #. Tomēr tos var izmantot arī procesuālās programmēšanas veikšanai.
Galvenā atšķirība starp OOP un procesuālo programmēšanu ir tāda, ka procesuālās programmēšanas mērķis ir sadalīt programmēšanas uzdevumu līdz mainīgo lielumu un apakšprogrammu kolekcijai, savukārt OOP uzmanības centrā ir programmēšanas uzdevuma sadalīšana objektos, kas satur datus un metodes. Visievērojamākā atšķirība varētu būt tāda, ka, kamēr procesuālā programmēšana izmanto procedūras, lai tieši darbotos ar datu struktūrām, OOP sagrupēs datus un metodes kopā, lai objekts darbotos ar saviem datiem. Runājot par nomenklatūru, procedūrā, modulī, procedūras izsaukumā un mainīgajā procesuālajā programmēšanā OOP bieži tiek minēti kā metode, objekts, ziņojums un atribūts.