Com tudo o que aprendi sobre "Programação Orientada a Aspectos" ou "Desenvolvimento de Software Orientado a Aspectos", rotulá-la como paradigma ou metodologia de programação parece imprecisa. Pelo que sei, não é uma técnica fundamental para a programação.
Para definir o significado de "paradigma" e "metodologia", consulte as seguintes definições do American Heritage Dictionary. Compare quão bem ou mal a "Programação Orientada a Objetos" se aplica a cada um versus o quão bem a AOP se encaixa.
Paradigma: Um conjunto de suposições, conceitos, valores e práticas que constituem uma maneira de ver a realidade da comunidade que os compartilha, especialmente em uma disciplina intelectual.
Metodologia: Um conjunto de práticas, procedimentos e regras usadas por quem trabalha em uma disciplina ou se envolve em uma investigação; um conjunto de métodos de trabalho.
"Medicina baseada em evidências" satisfaz a definição de paradigma, mas "medicina baseada em histerectomia" seria um nome impróprio porque o espaço do problema é muito estreito.
Estou tendo a impressão de que AOP pode ser mal nomeado porque, com base no sufixo "programação orientada", a AOP alega ser tanto um paradigma quanto uma metodologia da mesma maneira que "Programação Orientada a Objetos".
Ambos os termos (paradigma e metodologia) indicam uma técnica fundamental, onde o que entendo sobre aspectos é uma tecnologia para resolver um escopo estreito de problemas, talvez comparável em magnitude à característica variável estática de Java.
Se é verdade que aspectos resolvem um conjunto restrito de problemas e AOP não é um nome impróprio, então por que todas as técnicas de programação não deveriam receber o sufixo "programação orientada", como "programação orientada a herança", "programação orientada a herança"? programação orientada "ou" programação orientada a escopo? "