Baile lento con tecnología: depuración, el programador y la máquina

Autor: Judy Howell
Fecha De Creación: 28 Mes De Julio 2021
Fecha De Actualización: 18 Junio 2024
Anonim
Baile lento con tecnología: depuración, el programador y la máquina - Tecnología
Baile lento con tecnología: depuración, el programador y la máquina - Tecnología

Contenido


Fuente: Abscent84 / iStockphoto

Para llevar:

Los líderes reflexivos han ideado una estructura de lanzamiento de software más fluida para unir los entornos de desarrollo y producción, pero la programación de computadoras todavía tiene un elemento de hechicería.

Cualquiera que haya trabajado en codificar incluso los proyectos más básicos sabe que el proceso requiere un poco de paciencia. Las numerosas trampas de intentar escribir código desde cero son una canción y un baile de todas las formas en que un programador o desarrollador humano puede equivocarse. Es una lista larga, e incluye todo, desde errores de sintaxis, que generalmente serán atrapados por el compilador, hasta errores más profundos de "nivel de visión" que requieren una revisión más inteligente. Con ese fin, las escuelas y los centros de capacitación enseñan a los estudiantes de informática cómo "depurar" un programa. Sin embargo, lo interesante es que cada individuo desarrolla su propia respuesta única a este desafío. De hecho, esta puede ser un área donde se requiere más que un poco de conocimiento personal. (Lea sobre algunas de las figuras más importantes de programación en The Pioneers of Computer Programming).


Código de depuración: cómo se hace

En algunos casos, los profesionales de la informática pueden utilizar recursos de estudios de desarrolladores o entornos de programación para aislar errores en un programa. Sin embargo, cuando este tipo de manejo de errores o sistemas no están disponibles o son útiles, la depuración requiere pasar el código línea por línea. Muchos entornos de programación, como Microsoft Visual Basic Studio, tienen características que permiten un paso claro y visual línea por línea a través del código.

Pasar por el código ayuda de dos maneras principales: primero, los programadores pueden ver lo que está sucediendo mientras la computadora lee el código y dónde va el foco en términos de funciones recursivas y otras interacciones de código. En segundo lugar, sin embargo, el programador a menudo puede ver los valores de diferentes variables mediante el uso de comandos al pasar el mouse u otras partes de la interfaz. Saber qué valores hay en las variables es una forma clave de comprender qué está haciendo la computadora con el código que se le da.


Errores de lucha

El proceso descrito anteriormente puede sonar simple, pero el desafío real de la depuración puede ser mucho más complicado. Un excelente ejemplo de este proceso en el trabajo se puede encontrar en el thriller tecnológico titulado acertadamente "The Bug" de Ellen Ullman, un ex desarrollador y profesional de TI cuya prosa brilla de manera literaria. Aunque el libro es ficción, revela mucho sobre lo que realmente sucede cuando los programadores y las computadoras interactúan.

Dejando a un lado muchos de los detalles oscuros personales en el libro, la representación de Ullman de dos personas, un probador y un programador, muestra algunos de los principales desafíos que enfrentaron estos técnicos de carrera en la era anterior del desarrollo de software. Básicamente, su error, que ella llama "The Jester", eludió a todos en una compañía de software de la década de 1980, forzó las relaciones con los empleados, colapsó la confianza de los inversores y, en general, causó un alboroto. Mientras tanto, el autor reflexiona bastante sobre cómo nos afectan las computadoras y por qué, si queremos triunfar sobre sus idiosincrasias, tenemos que "pensar como una máquina". (Para conocer la historia de la programación, consulte Programación de computadoras: del lenguaje de máquina a la inteligencia artificial).

¿Por qué los errores evaden la captura?

Una razón por la que el error en el libro de Ullman fue tan difícil de tratar es que solo apareció en momentos extraños. Este desafío realmente suena cierto para muchas otras fallas similares (solo recuerde las extensas pruebas de Toyota después de los rumores de un Prius desbocado). Supongamos que alguien te dice que tienes un error. A menos que pueda hacer que la computadora manifieste un problema, ¿por dónde empezar en términos de solucionarlo?

La razón de esta falla, como se revela al final del libro, es otro gran ejemplo de las complejidades de escribir código para la computadora personal en esa época, y tal vez aún en la nuestra. Esencialmente, el error estaba oculto en una pequeña función anidada que simplemente proporcionaba una orientación básica a otras piezas de código. Debido a que fue escrito por un programador externo, y debido a la falta de comunicación entre los programadores, la verdadera fuente del problema permaneció oculta durante meses: un verdadero testimonio de los problemas puede surgir del trabajo en equipo documentado incorrectamente.

Cuando se trata de un error de la computadora, un detalle complicado puede arrojar un sistema ordenado al caos. Las buenas habilidades de codificación, por lo tanto, a veces pueden ser más arte que ciencia (Ullman lo llama "locura"), por lo que la codificación es un negocio inherentemente desordenado.

Sin errores, sin estrés: su guía paso a paso para crear software que cambie su vida sin destruir su vida

No puede mejorar sus habilidades de programación cuando a nadie le importa la calidad del software.

La filosofía de la depuración

Los programadores a menudo tienen que trabajar con computadoras, no con personas, para lograr resultados. Ullman sugiere que los codificadores y probadores son a menudo más efectivos cuando son capaces de eliminar todos los matices del pensamiento humano y eliminar el razonamiento hasta el uso de las computadoras lógicas básicas. Esto significa dejar de lado gran parte de lo que todos trabajamos todos los días para obtener una mayor claridad. Es esta cualidad la que permite que prosperen muchos de los mejores profesionales de la informática, incluso en una época en la que se ha implementado un marco mucho mayor para la mayoría de los proyectos.

Los líderes reflexivos han ideado una estructura de lanzamiento de software más fluida para unir los entornos de desarrollo y producción, pero la programación de computadoras todavía tiene un elemento de hechicería. Es por eso que los mejores programadores son más que simples codificadores estructurales; tienen el instinto de erradicar y corregir los errores que amenazan la funcionalidad de las máquinas en las que confiamos cada vez más.