Algunas personas se han referido a la ley de abstracción permeable (http://www.joelonsoftware.com/ar…) cuando hablan de esto. Algunos continúan sosteniendo que es importante tener al menos cierta comprensión de las capas más bajas de la informática. Es posible que los estudiantes de ciencias de la computación aún obtengan cursos introductorios sobre arquitectura de computadoras, sistemas operativos, etc., pero probablemente hace diez años tenía que ser programador por haber hecho uso directo de los componentes inferiores de Rails. Cuanto más alto sea el nivel de abstracción, más dependerá de una gran cantidad de herramientas y tecnología. De hecho, la pirámide puede ser demasiado grande para ser absorbida por una sola persona.
No necesariamente me adhiero a esta vista que espera que los programadores optimicen su código en relación con las capas subyacentes, pero podría ser valioso en algunos contextos. Un compilador puede vencer a un humano en la tarea de escribir para la máquina, y algunas buenas prácticas para explotar una base de código pueden compensar la falta de conocimiento. Cuando las cosas se ponen demasiado complejas, solo podemos especializarnos y aprender a trabajar en equipo.
El código ha alcanzado un nivel de complejidad tal que la codificación ya no puede ser sobre control. Tiene que ser sobre diseño. Debe apuntar a la simplicidad. Es más esencial que nunca pensar en quienes usarán su código, su software. Y eso es probablemente lo que hizo que Rails sea un éxito.
- He oído mucho sobre la ‘motivación intrínseca’. ¿Cómo se puede desarrollar amor por un tema? ¿Es innato o puede desarrollarse en cualquier etapa?
- Soy demasiado débil en física. ¿Cómo puedo mejorar?
- Voy a ir por MUN por primera vez. Estoy muy interesado en aprender y ganar allí. ¿Cuáles son algunos consejos?
- Tengo muchas ganas de aprender sobre los coches. ¿Dónde o cómo empiezo?
- Soy un estudiante de tercer año de CS. No me interesan los conocimientos superficiales como aprender un lenguaje de programación. Quiero crear lenguaje y esas cosas. ¿Como empiezo?