Capítulo 1. La eficiencia del software importa
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
La principal tarea de los ingenieros de software es el desarrollo rentable de software mantenible y útil.
Jon Louis Bentley, Escribir programas eficaces (Prentice Hall, 1982)
Incluso después de 40 años, la definición de desarrollo de Jon es bastante exacta. El objetivo último de cualquier ingeniero es crear un producto útil que pueda mantener las necesidades del usuario durante toda la vida útil del producto. Por desgracia, hoy en día no todos los desarrolladores se dan cuenta de la importancia del coste del software. La verdad puede ser brutal; afirmar que el proceso de desarrollo puede ser caro puede ser una subestimación. Por ejemplo, Rockstar necesitó 5 años y 250 ingenieros para desarrollar el popular videojuego Grand Theft Auto 5, cuyo coste se estimó en 137,5 millones de dólares. Por otro lado, para crear un sistema operativo comercializable y utilizable, Apple tuvo que gastar mucho más de 500 millones de dólares antes del primer lanzamiento de macOS en 2001.
Debido al elevado coste de producir software, es crucial centrar nuestros esfuerzos en las cosas que más importan. Idealmente, no queremos malgastar tiempo y energía de ingeniería en acciones innecesarias, por ejemplo, dedicar semanas a la refactorización de código que no reduce objetivamente la complejidad del código, o a microoptimizaciones profundas ...