Ventajas y desventajas de la programación orientada a objetos

click fraud protection
Codigo de computadora. Pantalla verde oscuro

La mayoría de las aplicaciones móviles y para PC modernas utilizan técnicas de programación orientada a objetos.

Credito de imagen: SoulArt / iStock / Getty Images

Los lenguajes de programación orientados a objetos como C ++, Java y Visual Basic fueron desarrollados por científicos informáticos para acelerar la programación y mejorar la calidad del software. Las técnicas de software de programación orientada a objetos dividen los programas en bloques funcionales denominados objetos, lo que los hace necesarios con frecuencia. características tales como botones de control, administración de bases de datos y matemáticas más fáciles de usar y compartir entre programadores. Sin embargo, las ventajas vienen con compensaciones como una mayor complejidad del software y un rendimiento reducido.

Mejor productividad

Las técnicas de programación orientada a objetos imponen reglas a un programador que, a la larga, le ayudan a hacer más trabajo; Los programas terminados funcionan mejor, tienen más funciones y son más fáciles de leer y mantener. Los programas que no usan POO tienden a ser bloques de texto grandes y continuos, como capítulos muy largos de un libro. Cuando los programadores intervienen para cambiarlo, el texto finalmente se desorganiza y es más difícil de seguir. Por el contrario, los programadores de programación orientada a objetos toman objetos de software nuevos y existentes y los "unen" para crear nuevos programas. Debido a que las bibliotecas de objetos contienen muchas funciones útiles, los desarrolladores de software no tienen que reinventar la rueda con tanta frecuencia; más de su tiempo se dedica a hacer el nuevo programa.

Video del día

Costos de programación más bajos

Especialmente para proyectos más grandes, OOP ayuda a reducir el costo de la mano de obra de programación. El personal que trabaja en un proyecto puede desarrollar su propia biblioteca de objetos de software, lo que permite a los programadores utilizar el trabajo de los demás fácilmente y reducir las horas necesarias para desarrollar programas. Con una calidad de software mejorada, los desarrolladores dedican menos tiempo a arreglar los programas que funcionan mal, lo que reduce aún más los costos de mano de obra.

Curva de aprendizaje más pronunciada

Para dominar la programación orientada a objetos, un principiante debe aprender conceptos nuevos y abstractos como polimorfismo - reutilizar objetos mientras les agregan nuevas funciones - y encapsulamiento - ocultar partes de los datos internos de un objeto para mejorar la seguridad; ninguna de las ideas se encuentra en estilos antiguos de programación. Estos conceptos no solo requieren tiempo para aprender, sino que pueden ser demasiado complejos para los aspirantes a programadores más jóvenes o para aquellos que programan solo ocasionalmente.

Software más lento

El software orientado a objetos puede implicar un código de limpieza adicional que no es necesario en otros lenguajes informáticos; la computadora debe ejecutar la programación adicional, lo que ralentiza el tiempo de respuesta de una aplicación. Para proyectos donde la velocidad es importante, los programadores pueden optar por escribir las partes más críticas en el tiempo en no OOP lenguajes como ensamblador o C, reservando el código OOP para ventanas o botones, áreas en las que los objetos tienen un claro ventaja.