archivo

Archivos diarios: agosto 6, 2010

Lawrence Flon comentó que: «Ni existe, ni existirá un lenguaje de programación en el que sea difícil escribir malos programas».

Independientemente de que la cita nos haga reflexionar, lo más llamativo es que fue publicada en octubre de 1975, es decir, 35 años después el problema sigue sin resolverse y yo por lo menos no conozco un lenguaje de programación que se utilice en entornos profesionales que «dificulte» escribir malos programas.

Como he comentado en otras ocasiones, detrás de la ingeniería de requisitos, de la ingeniería del software y de los frameworks está el factor humano y éste es el que hará al final que la codificación sea buena o mala.

La reducción del factor humano pasa por seguir creando capas sobre los lenguajes de alto nivel mediante la creación de frameworks en los que cada vez se deleguen más tareas y sobre todo con generadores de código que escriban buena parte del programa y/o que den soporte al proceso de desarrollo (generadores de código gráficos).

Como el factor humano va a seguir existiendo (pese a que se reduzca su intervención) lo importante es que el personal esté lo más formado posible y se le asignen tareas que puedan afrontar (no digo que no se le planteen retos, pero sí se hace deben estar debidamente supervisados). Esto que estoy planteando, aunque pueda resultar sensato y coherente, es una utopía en la mayoría de las empresas de desarrollo de software, donde el día a día hace complicado ajustar los recursos a las tareas más idóneas que puedan realizar (lo cual no quita que cuando sea posible se debería aplicar esa política y por supuesto se debería dar la posibilidad a que el personal estuviera lo más formado posible).

Para reducir el impacto del factor humano, también está la posibilidad de que el código sea revisado por otras personas. Esto resulta otra utopía para la mayoría de las empresas de desarrollo de software, no obstante hay empresas como Google para las cuales esto resulta muy importante y dedican un gran esfuerzo a la revisión del código que se desarrolla (algunos pensaréis, «Claro, es Google y se lo puede permitir», cierto, se lo puede permitir, pero no es nada fácil, ni barato, teniendo en cuenta la gran cantidad de código que conforman la infinidad de proyectos en los que participa Google).