El ‘código pobre’ no es producido por lenguajes pobres, es producido por programadores pobres. Es posible producir un código excelente con un lenguaje terrible o un código terrible con un lenguaje excelente. Google y Facebook probablemente solo despiden a programadores incompetentes.
Produjimos algunos programas bastante buenos cuando casi todo estaba escrito en ensamblador, que no tiene “aspectos de la ingeniería de software moderna”, escribiendo buenos programas. (Y Microsoft, aproximadamente al mismo tiempo, escribió un compilador de C que produjo un código tan malo que tuvo que compilar para ensamblar, corregir su error evidente, luego ensamblar y vincular).
Por cierto, pensarías que una empresa tan grande como IBM (una vez que cancelaron una pérdida de 8 mil millones de dólares por haber perdido un centavo) produciría un buen código, entonces, ¿por qué hubo un error en uno de sus manuales que decía que el error para ese código de error no estaba con su código, estaba con el compilador, ¿e ignorarlo?
- ¿Cuáles son algunos de los aspectos comunes pero muy importantes de DevOps que los desarrolladores deben seguir?
- Codificación Bootcamp vs grado de 4 años (ingeniería de software, informática)? ¿Cuáles son los costos y beneficios de ambos? ¿Cuál podría ser mejor?
- ¿A qué recursos de hardware accede directamente una máquina virtual que se ejecuta sobre un host de Windows? ¿Lo anterior implica que no se espera una sobrecarga de tiempo de respuesta mientras se vuelve virtual?
- Se le da el poder de voltear un solo bit en cualquier parte del mundo. ¿Qué harías?
- ¿Existe algún programa de certificación valorado por la industria para el diseño orientado a objetos (o diseño de software en general) para un desarrollador de software experimentado?
Recuerde, el ensamblaje no tiene “tipo”: todo son números. No tiene definición de variables. No tiene espacios de nombres. Pero el planetario del Museo Espacial de Hong Kong funcionó de todos modos: 3 8080 CPU en funcionamiento. (Y tuvimos que inventar algunas cosas que “no se podían hacer”, como las comunicaciones bidireccionales entre 3 puertos paralelos, un bus de datos de cable plano de más de 400 pies, etc.)
El programador hace que el programa funcione, el lenguaje no.