¡Hola a todos!
Joacko:
Interesante cuestionamiento. Sería bueno que les preguntaras «¿por qué?» a los
catigadores. Me atrevo a pensar que en algunos casos se trata de
fundamentalismo informático. Es decir, llevar los dogmas de una ciencia al extremo de lo impráctico.
He visto cómo a veces se reclama que todo sea orientado a objetos, que así es como debe ser un buen lenguaje de programación. No obstante, quienes hemos recorrido cierto camino en los mundos de la programación estructurada y la orientada a objetos (POO), nos hemos percatado de por qué muchos buenos lenguajes como Delphi no llegan a ser 100% orientados a objetos. La respuesta es simple:
practicidad.
En muchas ocasiones las variables globales nos ayudan a centrarlizar de forma sencilla y económica datos que utilizan varios módulos de un mismo proceso en ejecución. ¿De qué otra forma guardar estos datos?; ¿en un archivo?, ni pensarlo; ¿en una estructura
Record global?, es prácticamente otra variable; ¿en memoria asignada dinámicamente?, sólo cuando la variable ocupe mucho espacio y se utilice pocas veces; ¿en un objeto?, si la balanza del costo-beneficio se inclina hacia ello (dos o más instancias de la clase; compatibilidad entre capas, procesos o bibliotecas, etc.).
Pero a final de cuentas cada caso es único. Te invito a que hagas de nuestro conocimiento los detalles de cualquier situación similar, para en su momento tratar de discernirla por los quienes podamos aportar alguna opinión o sugerencia al respecto.
Espero esto sea de utilidad, seguimos en contacto.
Al González.
No hay programadores indiferentes, sólo obsesivos, decepcionados o apasionados 
.