El acto mismo de escribir software (no escrito en código de máquina) utiliza inherentemente estas capas. Los lenguajes de programación en sí mismos son una abstracción, al igual que las API del sistema y los kits de herramientas. La abstracción ha estado en el corazón del software más o menos desde su inicio. La razón de esta abstracción es en gran medida hacer que el software sea más fácil de escribir y comprender mientras se aprovecha el trabajo de otros. Las tareas más complejas se dividen en funciones u objetos que ofrecen un mecanismo de nivel más alto que el que puede utilizar otro código fuente, evitando la complejidad de la implementación subyacente.
El número de capas depende demasiado de la naturaleza del problema para responder de manera sucinta. En general, las capas están ahí para ayudar al desarrollador, pero son un equilibrio entre la complejidad localizada y la jerarquía excesiva.
- ¿Es normal recibir muchos comentarios sobre la revisión de código?
- ¿Debo continuar con la ingeniería de software o cambiarme a ingeniería mecánica?
- En la pila de Microsoft, ¿qué idioma es más probable que atraiga a grandes desarrolladores, IronPython o F # (Standard ML)?
- ¿Cuáles son las tecnologías para la computación en la nube? ¿Algún sitio web que los compare?
- ¿Deben las startups usar desarrollo basado en pruebas?