Este es un glosario de términos tal como se usan en este ensayo. Estos términos no tienen necesariamente un significado estandarizado para otras personas. Eric S. Raymond ha compilado un glosario[HackerDict] masivo e informativo que sorprendentemente puede leerse con placer de principio a fin una vez que se puede apreciar una fracción de él.
Jerga que significa desconocido-desconocido. Problemas que actualmente ni siquiera pueden ser conceptualizados y que robarán tiempo al proyecto y arruinarán el cronograma.
La inserción temporal de declaraciones en un programa que imprime información sobre la ejecución del programa con el fin de depurarlo.
La práctica de escribir un programa de manera que pueda producir un registro de salida configurable que describa su ejecución.
Una técnica de diseño top-down y, lo que es más importante, de depuración, que consiste en la subdivisión de un problema o misterio en problemas o misterios progresivamente más pequeños.
Promesas ilusorias y a menudo engañosas de software que aún no está a la venta y, con la misma frecuencia, nunca se materializará en algo sólido.
La persona que asigna tus tareas. En algunos casos, el usuario es el jefe.
Las personas con las que compartes lealtad hacia un objetivo común.
Grandes mejoras que cuestan poco.
El iniciador de proyectos.
Un grupo de personas organizado para ganar dinero.
Un grupo de personas organizado para ganar dinero.
El efecto de no poder encontrar la información que necesitas porque está enterrada en demasiada información, menos interesante.
El tiempo real medido por un reloj en la pared, en contraposición al tiempo de CPU.
La limitación más importante en el rendimiento de un sistema. Una constricción que limita el rendimiento.
Una pieza única de información de la cual se derivan todas las copias en caché y que sirve como la definición oficial de esos datos.
La memoria se puede decir que está asignada en el montículo (heap) cuando el mecanismo para liberarla es complicado.
Memoria que está siendo ocupada por objetos que tu aplicación ya no necesita.
Sistema de reciclaje de basura.
La colección no deseada de referencias a objetos que impide la recolección de basura (¡o un error en el recolector de basura o en el sistema de gestión de memoria!) y que provoca que el programa aumente gradualmente sus demandas de memoria con el tiempo.
Un estilo de programación que hace hincapié en la comunicación con el cliente y en las pruebas automatizadas.
Quedarse sin un recurso específico, causando una degradación abrupta del rendimiento en lugar de gradual.
Producir una característica antes de saber realmente si esa característica será útil.
Un principio de diseño que busca mantener las cosas independientes y desacopladas mediante el uso de interfaces que exponen la menor cantidad de información posible.
Un estilo de programación que enfatiza la gestión del estado dentro de los objetos.
Un lenguaje diseñado principalmente para la estandarización en lugar de la ejecución.
Un estilo relajado e informal para hacer diagramas que consiste en cajas y flechas dibujadas entre esas cajas para mostrar las relaciones. Esto contrasta con las metodologías de diagramas formales, como UML.
Un lenguaje tan popular que se convierte en un estándar de facto para su campo, como lo fue el francés para la diplomacia internacional en algún momento.
Un adjetivo que describe una elección entre gastar dinero en software o escribirlo tú mismo.
Trabajo que requiere poca creatividad y conlleva poco riesgo. El simple trabajo se puede estimar fácilmente.
Un sinónimo de lenguaje de programación que enfatiza la naturaleza matemática de los lenguajes de programación y su relativa simplicidad en comparación con los lenguajes naturales.
Un documento destinado a ser el punto de partida de una discusión técnica. Un "strawman" puede llevar a un "stickman", "tinman", "woodman", "ironman", etc.
Un documento informativo que a menudo tiene la intención de explicar o vender un producto o idea a una audiencia diferente de los programadores de ese producto o idea.