sábado, 8 de febrero de 2020

Desventajas

Programación estructurada
  • No permite modelar directamente los conceptos del dominio del problema 
  • La separación entre datos (variables) y rutinas (procedimientos y funciones) conduce a la necesidad de utilizar variables globales e implica que las capacidades de encapsulamiento, lo cual, el paradigma propone sean limitadas
  • Inflexibilidad: es más difícil introducir cambios porque ello requiere mayores modificaciones en el código que ya está funcionando.
Programación modular
  • No se dispone de algoritmos formales de modularidad, por lo que a veces los programadores no tienen claras las ideas de los módulos
  • Requiere más memoria y tiempo de ejecución
Programación orientada a objetos

  •     Cambio en la forma de pensar de la programación tradicional a la orientada a objetos.
  •     La ejecución de programas orientados a objetos es más lenta.
  •     La necesidad de utilizar bibliotecas de clases obliga a su aprendizaje y entrenamiento.
Programación concurrente 
  • Consumos de recursos cuando hay excesos de hilos o procesos
  • Dificultad de desarrollo.
  • Dificultad de verificación.
  • En programas con pocas instrucciones en mas lento
  • Si se aplica mal puede llevar a resultados erroneos.

     Programación funcional
    • Los valores inmutables combinados con la recursividad pueden conducir a  una reducción en el rendimiento.
    • En algunos casos, escribir funciones puras provoca una reducción en la legibilidad del código
    •  Escribir funciones puras es fácil,  pero, combinar las mismas con el resto de la aplicación y las operaciones de E / S es difícil
    • Escribir programas en estilo recursivo en lugar de usar bucles para el mismo puede ser una tarea desalentadora
    Programaciòn lògica 
    • Dependiendo del problema a solucionar, la implementación y el motor de inferencia, puede llegar a ser extremadamente ineficiente.
    • Pocas y muy específicas áreas de aplicación.
    • Existen muy pocas herramientas de depuración, en su mayoría poco efectivas.
    • En problemas reales, es poco utilizado.
    • Si el programa no contiene suficiente información para responder una consulta la respuesta puede ser una que se preste para malentendidos.
    • Inferencia limitada por su base de conocimiento.
    Programación paralela
    • Mayor consumo de energía
    •     Mayor dificultad a la hora de escribir programas
    •     Dificultad para lograr una buena sincronización y comunicación entre las tareas
    •     Retardos ocasionados por comunicación ente tareas
    •     Número de componentes usados es directamente proporcional a los fallos potenciales
    •     Condiciones de carrera:
    •         Múltiples procesos se encuentran en condición de carrera si el resultado de los mismos depende del orden de su llegada
    •         Si los procesos que están en condición de carrera no son correctamente sincronizados, puede producirse una corrupción de datos
     

    No hay comentarios:

    Publicar un comentario

    Requerimientos

    Ser creativo: Un buen programador debe ser capaz de pensar originalidad, para la construción de herramientas, funciones o aplicacionesque ...