Relación entre Occam's Razor (La Navaja de Occam) y la abstracción
Para llegar a comprender la relación que existe entre el principio de occam´s
razor y la abstracción debemos primero definir estos dos conceptos para luego relacionarlos desde sus bases.
Cuando hablamos de abstracción desde un punto de programación nos
referimos a la cualidad de tomar las características más esenciales de un objeto, para poder usarlo y modificarlo de una manera más ágil y rápida. Para un programador la abstracción trata de simplificar un código, dejar solo lo esencial de este el cual lo haga funcionar de una forma eficiente, rápida y solo con unas líneas de código poder definir un objeto y usarlo.
El principio de occam´s razor es una regla que establece que de muchas
hipótesis en igualdad de condiciones la menos compleja es la que más posibilidades tiene de ser verdad. Esta regla por fácil que se entienda tiene ciertas complicaciones al ser aplicada ya que es difícil definir cuando dos hipótesis están en igualdad de condiciones y también si las hipótesis son coherentes.
Con lo anterior podemos establecer que la relación entre el principio de
occam´s razor y la abstracción es que los dos tratan de sacar lo esencial de un objeto o hipótesis, con el objetivo de simplificar problemas que se puedan presentar y poder en unas simples líneas establecer las simulaciones de el problema y sus soluciones. Para el programador tener estas cualidades (principio Occam's Razor y la abstracción) es un requisito necesario para manejar códigos de una manera ágil que no presenten mayor problema en modificarlos y usarlos. Para la programación orientada a objetos, necesitamos comprender que la sugestión de datos que definen un objeto nos dificulta definir de una manera concreta dicho objeto; por lo tanto la mejor forma de definir eficientemente un objeto es con sus características esenciales.
El principio de occam´s razor y la abstracción nos dan a entender que si
vamos a trabajar bajo un código, necesitamos sacar lo esencial para volverlo más flexible y así nos permita su reutilización, en la creación de otros tipos de programas.