Paul Heberli e Bruce Karsh propuseram algo que eles chamam de programação futurista em 1994:
Acreditamos que há uma grande oportunidade para o Princípios futuristas a serem aplicados à ciência da programação de computadores. Reagimos contra o pesado atmosfera religiosa que envolve todos os aspectos da programação de computadores. Acreditamos que é hora de nos libertarmos das restrições do passado e celebrarmos o renascimento da arte da programação de computadores.
Constatamos que muitos dos sistemas de computador atuais são irremediavelmente desperdiçadores e ineficientes. O hardware do computador obteve aumentos de desempenho de um fator de mais de 200 nos últimos 20 anos, enquanto no design de programas houve muito pouco progresso desde a invenção da subrotina. Gostaríamos que a ciência da programação avançasse tão rapidamente quanto outros campos da tecnologia.
Acreditamos que o ensino de graduação gasta muito tempo transmitindo dogmas, em vez de ensinar uma teoria sólida de design de programas que ajude os programadores a criar bons programas. As universidades deveriam oferecer aos alunos menos religião e muito mais experiência prática na criação e análise de programas pequenos, rápidos, úteis e eficientes.
Futurismo foi um movimento artístico principalmente italiano no início do século XX; o resumo mais sucinto que encontrei está em esta página de recursos do Futurismo:
O futurismo foi um movimento artístico internacional fundado na Itália em 1909. Foi (e é) um contraste refrescante com o sentimentalismo choroso do Romantismo.
Os futuristas amavam a velocidade, o ruído, as máquinas, a poluição e as cidades; eles abraçaram o novo e empolgante mundo que estava surgindo, em vez de desfrutar hipocritamente dos confortos do mundo moderno e, ao mesmo tempo, denunciar em alto e bom som as forças que os tornaram possíveis. Temer e atacar a tecnologia tornou-se quase uma segunda natureza para muitas pessoas hoje em dia; os manifestos futuristas nos mostram uma filosofia alternativa.
Em 1994 Manifesto dos programadores futuristas é totalmente baseado no manifesto de 1910 Manifesto dos Pintores Futuristas. Mas talvez a melhor explicação do que é a programação futurista realmente significa está escondido no Notas de programação futurista:
REJEITAMOS
- CÓPIAS de trabalhos que já foram realizados anteriormente.
- Software CONFIGURÁVEL PELO USUÁRIO.
- Documentação em papel.
- Qualquer programa que DESPERDIÇA a preciosa MEMÓRIA dos usuários.
- Qualquer programa que DESPERDIÇA o precioso TEMPO dos usuários.
- Administração de sistemas e ADMINISTRADORES.
- Qualquer coisa que seja feita para a conveniência do programador às custas do usuário.
- Extensibilidade, modularidade, programação estruturada, código reutilizável, design top-down, padrões de todos os tipos e “METODOLOGIAS” orientadas a objetos.
- Todas as formas adicionais de DESPERDÍCIO INÚTIL e IRRESPONSÁVEL.
É um conjunto admirável de metas. De particular interesse é a reverência futurista por programas que geram código dinamicamente; isso pressagia o atual renascimento do linguagens de programação dinâmicas, dez anos depois. Aparentemente, o futuro é agora.
A filosofia futurista central que a religião e os dogmas de todos os tipos devem ser examinados criticamente é importante. Já escrevi muitas vezes sobre certas “sabedorias” aceitas no desenvolvimento de software que são contraproducentes, se não totalmente perigosas. Acho que o senhor deve questionar constantemente o status quo e ser solidamente cético em relação à das chamadas melhores práticas. Mas isso também pode ser levado longe demais. Omiti intencionalmente a última frase do resumo do futurismo sobre o a página de recursos do Futurismo:
Pena que todos eles eram fascistas.
O senhor precisa tomar cuidado para que a rejeição do dogma não se torne um tipo de dogma. Às vezes, uma lista com marcadores de práticas recomendadas pode ser útiltambém.