Objektno orijentirano programiranje
Objektno orijentirano programiranje (OOP) jeste programska paradigma zasnovana na konceptu "objekata", koji mogu sadržavati podatke i kod: podaci u obliku polja (često poznati kao atributi ili svojstva), i koda, u formi procedura (često poznatih kao metoda). Osobina objekata je da vlastite procedure objekta mogu pristupiti i često mijenjati svoja polja podataka (objekti imaju pojam this ili self). U objektno orijentiranom programiranju, računarski programi su dizajnirani iz objekata koji međusobno djeluju jedan s drugim. Programski jeziki OOP-a su različiti, ali najpopularniji među njima su oni zasnovani na klasama, što znači da su objekti instance klasa, što također određuje njihove tipove. Veći dio najpoznatijih programskih jezika (kao što su C++, Java, Python, itd.) su višestruke paradigme te podržavaju objektno orijentirano progrmairanje u većem ili manjem stepenu, obično u kombinaciji sa imperativnim i/ili proceduralnim programiranje. Značajni objektno orijentirani jezici su među ostalim: (redoslijed prema TIOBE indeksu) Java, C++, C#, Python, R, PHP, Visual Basic.NET, JavaScript, Ruby, Perl, Object Pascal, Objective-C, Dart, Swift, Scala, Kotlin, Common Lisp, MATLAB i Smalltalk.