What does a non-object-oriented programming language do?
The main difference is that an OO-language includes features needed for OO-programming — ie. encapsulation, inheritance and polymorphism. In the beginning, programs more or less ran from the beginning to end… there may been the decision (if) and the occasional loop (for, while); but it was pretty straight forward. The GOTO statement made it possible to skip around in a program, but they quickly become hard to follow (sc. “spaghetti-code”) when they’re long. A good example of this is old BASIC. So instead of GOTOs and subroutines inside the main program/function, one introduced functions and procedures… a way to split the main program into parts, that could then be called repeatedly from inside the main program/function. This is called “structured programming”, and languages like C and Pascal uses this. This works well until you have several thousand lines, but then you again start to loose track — especially of variables different functions uses. The answer is OO, where you creat