I’ll keep this post updated over time to add what’s missing.
For further information or questions you can easily use the comments 👇
Programming paradigm that works with objects. It is mainly characterized by 3 concepts: Encapsulation, inheritance, polymorphism.
Programming procedure (e.g. object-oriented, functional, structured, logical, etc.).
Something from the real world, for example a dog, a table or an insurance policy. An object has attributes and functions (methods) e.g. the eye colour of the dog (attribute) or the policies of an insurance contract (method).
Most object-oriented programming languages use classes as patterns for objects. The objects are therefore the instances of the classes. I can have the Auto class and create the blue mercedes object by instantiating the Auto class. The class defines what attributes and methods an object has.
Objects encapsulate attributes and their own methods. Access to attributes should only be possible using appropriate methods so as to prevent manipulation of values and keep the object in a valid state at all times. (Further information)
Classes can inherit methods and attributes from other classes. Classes that inherit are called base classes and classes that inherit are called subclasses.
The ability to obtain different results by assigning different variables to the same methods. For example, I can create a software that draws geometric figures and create a base class “GeometricFigures” with the class drawsFigure() and three subclasses “Circle”, “Square” and “Rectangle” that inherit the method drawsFigure(). In this way the method drawsFigure() according to which class it calls it, it will draw a different figure.
It is the description of the solution to a problem. A recipe for cooking can be, for example, an algorithm: a reusable series of actions to be done several times with an order to get a result, with ramifications inside (e.g. if you are vegan use margarine, otherwise butter)
Recursion occurs when a function recalls itself.
Variable: one value with one data type.
Array: more values with one data type.
Object: more values with more data types.
The compiler translates the code into machine code and saves it, while the interpreter translates the code and executes the translated machine code directly. A compiled language is faster, but static, while an interpreted language is slower but changeable during its execution.