-
Baixa produtividade dos programadores (projetos ultrapassando os prazos e orçamentos), Falta de uma "metodologia formal" para o desenvolvimento de software e Códigos de baixa qualidade (programas literalmente sem a possibilidade de serem mantidos).
-
São formas de raciocínio intuitivamente óbvias. A legibilidade e compreensão de cada bloco de código na solução é enormemente incrementada, proibindo o uso irrestrito de comandos de desvio incondicional (GOTO).
-
Manuscrito feito por Edsger W. Dijkstra, que ganhou o Prêmio Turing da Association for Computing Machinery.
-
Na programação imperativa, que possui ênfase na modificação de valores em endereços de memória (i.e. instruções de atribuição), o uso de GOTOs é abundante.Pode-se assumir que 'programação estruturada' é sinônimo de programação sem GOTO. Estes foram os dois primeiros paradigmas dominantes na programação de computadores. A imperativa desde o início da programação até os anos 1970. A estruturada até o final década de 1990, e então deu lugar à POO.
-
Ênfase na estruturação do código (programação estruturada). Linguagens: PL/1, Fortran, Algol 68, Cobol, Linguagem C, Pascal (ferramenta de aprendizagem de programação) e Simula (primeira linguagem a suportar o conceito de classes).