Los programadores y los matemáticos ¿no se entienden bien?

(1/1)

Tachikomaia:
Creo que más de un programador o que intentaba serlo me dijo que a las variables las llamara del modo mejor descriptivo posible, y yo no les hacía mucho caso a veces porque yo me acordaba qué representaba cada una y me resultaba más fácil de leer y escribir así, un vistado o un par de teclazos y ya estaba.
A golpes comprobé lo que me decían: Cuando pasaba mucho tiempo sin ver mis códigos, me costaba entenderlos, o a medida que crecían.
Decidí entonces intentar ser bien descriptivo, ya incluso con los contadores. Además así otros entienden mejor mis códigos, se supone.

Por otro lado, parece que a los matemáticos les gusta resumir cada variable a sólo 1 letra que muchas veces ni siquiera es la inicial de alguna palabra que la representaría o a veces ni parece tener sentido, y a mí probablemente por poca capacidad para memorizar cosas random pero también porque me acostumbré a otra cosa, me cuesta entenderlos y parece un diálogo de sordos porque ellos me dicen que no entienden mis códigos.

¿Les pasa eso a uds?

Sea a el ataque del pokemon atacante, b el ataque usado, c el daño base de b, d la cantidad de incrementos habidos a a en esta batalla, e la defensa del pokemon atacado, f la cantidad de incrementos a e, g el incremento del daño por el "stab", h la modificación del daño por el clima, e i la reducción por las barreras, la fórmula del daño j es...

Serapis:
Las matemáticas tiene siglos de historia, y hasta hace poco más de un siglo, se ha operado manualmente, entonces usar variables del tipo: 'PrecioPorKiloDePatatas', no es muy acertado, sobretodo porque la mayor parte de las veces, lo que se hace (hacía) con ellas, era a título privado.

También porque suelen ser solo un pequeño puñado (de variables), por ello es muy manejable, también porque a fuerza de usarlo se han acostumbrado a usar las mismas variables (invariablemente), para las mismas cosas (incóginita: X, ejes: x,y (que aún seguimos usando)), una y otra vez... amén de las propias definiciones: Fuerza f, Velocidad v, Gravedad g... donde al no intervenir muchas otras variables con la que se presten a confusión se crean (crearon y sigue) fórmulas. Ejemplo donde 2 variables podrían chocar y como lo resuleven: Potencia = Trabajo * Tiempo:  W = T * t (al tiempo se le pone en minúsculas prácticamente siempre).

Ahora bien en informática, por breve que sea un programa podrías tener perfectamente entre unas decenas y unos cientos de variables... de entrada no hay letras suficientes, y si recurres a numerarlas (B1, B2...), puedes acabar perfectamente con: B47, B48... que ¿puede alguien decir como diferenciar B23 de B17 de B36 de ...?, una locura.
Entonces un informático va a preferir escribir código con: Potencia = Trabajo * Tiempo
Porque da igual que pase 1 día, 1 mes 1 año o 1 década, cuando lo lees lo entiendes sin ambigüedades, hoy ya no hay escasez de memoria como sucedía hasta primeros de los 90, y cuando compilas, el compilador puede obviar los nombres al estar operando con direcciones de memoria...

...caso aparte son las librerías que han de ser invocadas por sus nombres, entonces para facilitar tareas al humano, las direcciones son ofrecidas como nombres, para que nos sea fácil y útil recordar qué es y a qué se refiere. Imagina funciones del tipo:
Funcion F(p1, p2, p3, p4)
Funcion K(p1, p2, p3)
Funcion X(p1)
Funcion T(p1, p2)

Como se ve, esta forma no aportan nada de información útil, básicamente te exige aprender de memoria qué hace cada una y qué son cada parámetro...

Luego sí, poner nombres significativos, es un beneficio lo mires por donde lo mires...
¿...excepto en que tardas un poco más en teclearlo?, no necesariamente. Los IDE, ofrecen atajos de teclado, de modo que al pulsar ciertas teclas en un contexto dado, puede ofrecerte una lista de posibilidades, que se acota mucho tan solo tras escribir 2-4 letras... entonces aunque tuviera 15 letras, te ha bastado escribir 3 y 2 pulsaciones más de teclado o ratón...
Ciertamente esto no está tan disponible, en IDEs más viejos, estas características están más limitadas, aunque seguro que todavía tendrán algunas opciones.

En cualquier caso, los IDEs modernos ofrecen la posibilidad de incrementar sus capacidades mediante 'Add-ins', con lo que uno mismo puede ampliar tales características (si se sumerge en el mundillo de programar add-ins, claro)...

p.d: Por cierto, aplaudo tu decisión de abordar ese cambio.
Lo habitual es que la gente sea reacia a cambiar su forma de hacer las cosas, incluso aunque entienda que es más beneficioso hacerlo de otra manera.

Navegación

[0] Índice de Mensajes