Es más importante que nunca. Para producir objetos reutilizables, hacer uso del polimorfismo, explotar plantillas y tipos de datos abstractos, escribir bibliotecas reutilizables y garantizar que el programa sea mantenible y lo suficientemente elástico como para adaptarse a necesidades futuras o plataformas diferentes, debe pensar en términos abstractos.
Varios lenguajes de programación que son importantes hoy en día, como Erlang y Java, tienen un diseño muy abstracto. Cuando los programas están mal escritos en estos idiomas, es porque no eran abstractos.
Finalmente, un rastreo a través de SourceForge y GitHub revelará una cantidad extraordinaria de programas casi idénticos. Estos existen porque los otros estaban demasiado atados a problemas específicos. A veces existirán soluciones genéricas. Estos serán tan pequeños como los específicos y tan rápidos, a veces más rápidos. Así que no era la velocidad o el tamaño lo que importaba. Al escribir código comercialmente o para un proyecto de código abierto, no querrá descargar mil maneras diferentes de resolver un problema, querrá uno. Al igual que aquellos que usan el código que usted proporciona.
- Soy un ingeniero de software con 140K + salario en el área de Los Ángeles. Estoy planeando comprar metro existente. ¿Con qué frecuencia necesito trabajar en la tienda?
- ¿Los programadores piensan que su trabajo es más fácil que los trabajos en la mayoría de los campos de ingeniería y científicos?
- ¿Cuáles son algunos consejos importantes para detectar / cubrir casos extremos al codificar soluciones?
- ¿Qué lenguaje de programación debería uno estudiar en la novena clase para convertirse en ingeniero de software?
- ¿Se recomienda algún software de diagrama de flujo para Linux?