[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [escepticos] Re: Ackermann



Sacha Marquina Reyes escribió:
> 
> Al hilo de la discusión sobre recursividad quería comentar algo que me parece bastante
> frecuente y que por lo menos a mí me ha pasado. Cuando terminamos de estudiar informática,
> especialmente si ha habido bastante matemática, tenemos una cierta predisposición a ahorrar
> memoria y tiempo. Ante cualquier algoritmo que se nos propone enseguida se nos ocurren
> formas de saltarnos un paso, de ahorrarnos una variable, etc. Tendemos a no escribir dos
> funciones parecidas; en vez de ello generalizamos las existentes pasándoles otros
> parámetros. Modularizamos todo y reutilizamos lo que se pueda.
> Es realmente un chasco cuando nos ponemos a trabajar en una empresa y nos damos cuenta de
> que al usuario le dan lo mismo unos microsegundos más, de que nadie se rompe la cabeza por
> ahorrarse dos bites en cada registro desde hace 20 años, de que siempre sale más barato
> ampliar la memoria que reconvertir las funciones de hace 10 años en variables locales, de
> que lo que importa es que la cosa funcione y que el mes que viene la podamos readaptar
> fácilmente a las nuevas necesidades. Programar ya no es un arte, sino un trabajo metódico
> en el que casi todo es análisis y documentación.

 Pues yo creo que se gana tiempo intentando hacer las funciones
generalizando lo máximo posible. El caso es que me tomé en serio la idea
de que daba igual y decidí una temporada duplicar lo que hiciera falta.
El resultado fue que me daba dolor de cabeza el ir y venir de una parte
del programa a otra y tanto nombre de función parecido y con contenidos
repetidos. Total, que me pasé a programas lo más cortos posibles,
uncluso reducir el tamaño de un programa un 10% es bueno para no dar
tantos saltos.

 La abstracción en un campo dado es un salto difícil cuando empiezas
pero luego es una comodidad irrenunciable. Es duro al principio tener
que imaginarte el valor de un parámetro pasado por referencia pero con
las ventanitas de "debug" que ya llevan años incorporando los entornos
de desarrollo, lo que tienes está todo a la vista o a un toque de
teclado.

 Cuando trabajaba de informático hice unos programas que, 10 años más
tarde, aún se usan. Por la buena programación no sufrirán el efecto
2.000 ;-) y son fáciles de hacer ciertos retoques por los cambios de
plataforma que la empresa ha necesitado.