Existen:
- Herramientas de automatización que implican la generación de código para el desarrollo de software.
- Bibliotecas o marcos reutilizables que podemos usar una y otra vez
Esas son las herramientas de producción públicamente disponibles que son las más cercanas a un software que nos dio un nuevo software.
Pero es solo una pequeña parte del software, se ocupa de los detalles de nivel inferior que son repetibles / reproducibles con ciertos patrones.
- ¿Qué tipos de hardware y software pueden ser de ingeniería inversa?
- ¿Qué hace a un buen ingeniero de software?
- Como programador, ¿cómo lidias con estar siempre atrasado en lo que quieres / necesitas aprender?
- ¿Cuál es la diferencia entre Eclipse Mars y Eclipse Neon?
- ¿Cuál es su patrimonio neto como ingeniero de software?
El resto que hace que cualquier software sea útil todavía requiere creatividad humana (lo que a menudo produjimos con lenguaje de alto nivel o herramienta de diseño).
Con mejores herramientas o abstracciones, puede lograr una mayor abstracción, luego tratará de pensar en mejores formas de crear algo útil. También puede considerar que todas estas herramientas son defectuosas y no proporcionan lo que necesita. Debido a esto, querrás refactorizar algunas partes o incluso reescribir.
Entonces, lo que sucede aquí es que continuará escribiendo su propio software, el único límite es la capacidad de su cerebro para pensar en algo nuevo.