De verdad, GradyBooch: Generalmente no creo en los reclamos publicitarios. Tal vez soy del tipo cínico: ¡no existe una fórmula mágica! También lo son las falacias. Como se mencionó anteriormente, el desarrollo de software fue, es y siempre será difícil, y no veo que eso cambie en absoluto. En cuanto a los objetos, se anuncia que aumentan las tasas de reutilización. Sí, aumenta la reutilización, pero el aumento en la reutilización no es algo que no esperábamos porque los lenguajes de programación OO llevaron a la creación de patrones de diseño. Entonces vemos la reutilización en un nivel que es independiente del lenguaje de programación, es decir, en el nivel del diseño mismo. ¿Estamos cumpliendo nuestra promesa de reutilización? Sí, pero no de la manera que esperábamos originalmente; esta es una verdad inmutable de muchas tecnologías: mi objetivo con la programación OO nunca ha sido la reutilización. En cambio, para mí, los objetos proporcionan una manera de lidiar con la complejidad. Esta pregunta se remonta a Aristóteles: ¿Ves el mundo como un proceso o como un objeto? Antes del surgimiento del movimiento OO, la programación se centraba en procesos, como los métodos de diseño estructurados. Sin embargo, la complejidad del sistema ha llegado a un punto extremo más allá de sus capacidades de procesamiento. Con objetos, podemos construir sistemas más grandes y complejos aumentando el nivel de abstracción. Creo que esta es la verdadera victoria del movimiento de programación orientada a objetos: lo he visto con J2EE (plataforma Java 2) y la plataforma .NET de Microsoft. para que la plataforma madure. Si bien estas dos plataformas seguirán dominando el mercado de middleware, sólo podrán madurar gradualmente. Por ejemplo, la gente invertirá tanto dinero en estas dos plataformas que no podrán realizar cambios fundamentales en ellas. Así que vamos a ver un nivel de estabilidad, lo cual es bueno para la industria en su conjunto, porque los cambios drásticos en la tecnología pueden ejercer mucha presión y carga sobre las empresas.
Además, si tuviera que predecir el futuro, creo que la programación orientada a aspectos estaría en aumento. Los grandes sistemas de software rentables de hoy en día incluyen decenas de miles de piezas móviles, por lo que a menudo nunca los apagamos. Por lo tanto, el desafío es cómo mejorar estos sistemas sin cerrarlos para que puedan proporcionar valor agregado a través de soluciones que incluyan a muchas partes interesadas. También es importante aprovechar una amplia gama de capitalistas de riesgo como parte de la solución para agregar valor. Los capitalistas de riesgo interesados pueden incluir artistas gráficos, personal de redes, personal de seguridad y expertos en negocios. En este caso, no se puede pensar en el problema como un problema de programación tradicional. De hecho, no se construye un programa sino que se modifica constantemente: un programa es una parte variable de un sistema más amplio que está conectado para formar relaciones. En este entorno, al utilizar aspectos, construirá un cielo del código fuente del sistema basado en subprocesos que se ejecutan a través de estas partes, lo que permitirá a los expertos del dominio "expresar un aspecto" desde estas perspectivas específicas.