Temos uma linguagem de script que usamos internamente para muitas coisas. Começou como uma simples declaração de avaliação para que rótulos dinâmicos se tornassem uma linguagem completa de Turing usada amplamente em todo o sistema.
O problema é que nunca foi projetado para isso e mostra. O ambiente de desenvolvimento é anêmico, os scripts produzidos não são testáveis e, ainda hoje, não existe uma definição formal da linguagem.
Um sentimento crescente entre os usuários do idioma sente que ele fez o seu trabalho e é hora de deixar ir, mas estamos diante de um desafio difícil de migrar a base de código existente para qualquer nova solução que fosse criada. Esse mesmo argumento é usado contra a ideia de migrar.
Você já enfrentou uma situação semelhante? e se sim, quais estratégias você usou para interromper o uso do antigo e promover o novo?
Uma última coisa (graças aos idiotas ) é que muitos desses scripts não estão documentados e seu objetivo original é perdido, embora ainda estejam em uso ativo. Os scripts também são usados nos sites dos clientes para personalizar o sistema, de modo que temos literalmente milhares desses scripts, grande parte dos quais não está sob controle de origem ou qualquer mecanismo de versão para esse assunto.
Resposta aceita.
Escolha difícil é essa. Todas as respostas foram um conselho bom e sólido, embora eu ache que o melhor é um híbrido dos de Moron e Oliver.
Acabei aceitando o de Oliver porque é a resposta que tem a melhor chance de ser aceito mais alto (ha! Política!). Empacotar o antigo ambiente de script em uma declaração que pode ser integrada no novo ambiente forneceria um caminho de atualização rápido e fácil.
Uma vez feito, podemos controlar uma melhor criação de novos scripts, exibindo avisos ou impedindo que scripts antigos todos juntos sejam editados ou criados, forçando o uso do novo idioma.
Obrigado a todos por sua contribuição!