Todo mundo fala sobre código legado no desenvolvimento de software e eu ouvi o termo nos últimos dez anos usado para pintar qualquer base de código como ruim.
De onde se originou esse termo, que tem conotações tão poderosas para os programadores?
Estou certo de que deve haver algum livro sobre desenvolvimento de software que tenha sido pioneiro nesse termo. Gostaria de localizar a origem do termo "código herdado".
terminology
history
software
legacy-code
stevebot
fonte
fonte
Respostas:
O código legado é baseado na frase de um sistema legado que se aplica especificamente ao código. Segundo a Wikipedia, provavelmente remonta à década de 1970 e era de uso comum na década de 1980. Ele decolou com a explosão tecnológica dos anos 90.
Isso pode ser visto no visualizador ngram do Google: sistema legado, código legado
Indo além, você pode encontrar usos documentados do termo 'sistema legado' na década de 1970 .
O exemplo mais antigo de 'sistema legado' que o Google possui está em um livro sobre Anais da Conferência de Computação e Análise Numérica do Exército, de 1978:
Há também um exemplo de 'sistema legado' sendo usado fora da indústria de tecnologia em Clout: Womanpower and Politics sorrin 1976:
Além desse exemplo, que mostra que seu uso se estendeu além do mundo puro do software, as especificidades de onde exatamente o termo se originou provavelmente serão perdidas para as areias do tempo. Dada a militar e referências políticas, ele pode ter se originado com eles (principalmente o militar e sua migração jargão ( "Parece provável que 'kluge' veio a MIT via alunos das muitas eletrônica militar projectos executados em Cambridge durante a guerra (muitos em O venerável Edifício 20 do MIT, que abrigava o TMRC ... " ))
fonte
A base de código herdada geralmente não se refere a um sistema POS, mas a qualquer sistema que exista em uma base de código ou sistema que não seja mais usado para novos desenvolvimentos. Por exemplo, minha equipe atualmente suporta alguns aplicativos .net 1.1 e 2.0 que são considerados código legado. Se chegar um momento em que uma modificação é necessária, elas serão reescritas ou atualizadas para usar as estruturas e os padrões mais recentes. Até então, os gerenciamos como aplicativos herdados que precisam continuar funcionando, mas nenhum aprimoramento ou correção de código é implementado.
Existem também alguns sistemas legados aos quais não oferecemos suporte, escritos no VB6 e no ASP clássico. Não temos capacidade ou diretiva para oferecer suporte ou modificar esses sistemas, mas enquanto eles continuarem em execução e não tiverem necessidade de aprimoramentos, provavelmente não serão atualizados. Não há nada de particularmente errado com nenhum desses sistemas. Eles realizam seus trabalhos da maneira que deveriam e, além de parecerem um aplicativo entre meados e o final dos anos 90, não têm grandes problemas.
Portanto, legado não significa POS, apenas um sistema que foi criado em uma tecnologia ou linguagem anterior que não está de acordo com os padrões atuais. Alguns sistemas legados se qualificam como POS principalmente porque não possuíam as metodologias de desenvolvimento existentes atualmente que permitem código gerenciado e os mais de 15 anos de experiência dos codificadores da web veteranos.
fonte
"Código legado" é um termo usado pelo pessoal de marketing para pressionar aqueles cujo código é antigo (mas provavelmente funciona bem) a atualizar para as mais recentes e melhores linguagens e técnicas de software (e provavelmente mais repletas de erros). Está intimamente ligado ao "sistema legado", que se refere a hardware e sistemas operacionais antigos que funcionam bem, mas não estão em conformidade com o que é agora "politicamente correto" (por exemplo, OpenVMS, sistema IBM).
fonte
O termo código legado data de pelo menos 1989, conforme usado por Glenn Everhart em comp.sys.amiga :
Não encontrei nada verificável anteriormente no Google Livros.
fonte