Orientado a objetos y orientado a procesos
Orientada a procesos es una idea de programación centrada en procesos. Tomando un autobús como ejemplo, en el pensamiento orientado a procesos, el arranque del automóvil es un evento y la llegada del automóvil es otro evento. A la hora de programar nos preocupa un determinado evento, no el coche en sí, por lo que debemos programar la salida y la llegada por separado.
La orientación a objetos es una idea de programación centrada en cosas. Tomando un automóvil como ejemplo, lo que nos importa es el objeto abstraído del automóvil. Este objeto tiene sus propios atributos, como neumáticos, color, etc., tiene sus propios métodos, como arranque, conducción, etc. y el método es el comportamiento del coche, en lugar de cada evento del coche. La orientación a objetos necesita crear una entidad de automóvil, y la entidad desencadena eventos, por lo que los programas deben escribirse por separado para los atributos y comportamientos del automóvil.
Se puede considerar que la orientación a procesos es la base de la orientación a objetos, porque cada comportamiento en sí es un proceso, pero más abstracto.