Yo empecé a programar con el ordenador Spectrum, que usaba lenguaje Basic; entonces ya trabajaba en piano-bar y no le dediqué mucho tiempo, era una afición (como sigue siéndolo). En cierto modo el Basic del Spectrum iba más allá que Python; pues en las teclas estaban escritos los comandos (“print”, “for”... todos) y para ingresar las órdenes no había que escribir “a máquina”, bastaba con pulsar una sola tecla (junto a la del shif u otras en los casos que se requería). Por otra parte las líneas salían automáticamente numeradas (creo recordar) no había lío de tabulación.
Después pasaron los años, estuve mucho tiempo sin jugar con ordenadores hasta que me dieron un PC antiguo y probé el Basic que llevaba; ahí sí que había que escribir a mano, pero yo me sabía las órdenes báscias y no me costaba; tampoco había líos de tabulación, aunque sí había que numerar a mano también, pero me adaptaba bien.
Después, ya en con internet y más recientemente, programé alguna tontería básica en Javascript. Y después me apunté al curso de C de Argentinator pero no profundicé.
Y... hace ya algunos años descubrí el Python. Me pareció muy rápido y cómodo en comparación con los demás pese a necesitar tabulación; enseguida empecé a usar TAB en vez del espaciador; para no hacerme líos.
En cuanto a las órdenes no es que sea más fácil (dejándo módulos con órdnenes poderosísimas aparte) lo fácil es la escritura, es el no usar tanta llave, tanto corchete... es más rápido.
Sí que es cierto que tiene esos módulos (como Numpy, Simpy...) que lo hacen todo con una simple orden; van más allá de lo que yo llamaría “preprogramación”.
No obstante, si a Sofíaa le interesa, tampoco es nada difícil sumar los elementos de una diagonal programando a mano:
Spoiler
Pongamos que tenemos la matriz
A=[[1,2,3],[4,5,6],[7,8,9]]
Como es una matriz \( n\times n
\) (n=3 en este caso) el propio “n” nos da hasta dónde tiene que llegar el bucle con el cual vamos a buscar los elementos de la diagonal.
La orden n=len(A) lee la longitud de la cadena (o de la lista o vector) y la guarda en la variable “n”; así que con eso ya tenemos el “n” a partir de la matriz definida que tengamos de antemano.
Después necesitaremos un vector vacío para ir metiendo los elementos de la traza; sea T=[].
Y después ya podemos poner el bucle for j in range (n): que en este caso cuenta 0,1,2 por ser n=3.
Debajo y con la tabulación necesaria se pone
T.append(A[j][j])
Es decir, el elemento A[j] con j=0 es el primer vector; si ponemos detrás otro [j] toma la primera coordenada del primer vector.
Así, cuando j=0, introduce en el vector T el elemento \( a_{11}
\) de la matriz A; con j=1 mete el \( a_{22}
\) y con j=2 el \( a_{33}
\).
Ya sólo queda sumarlo con la función “sum” para obtener la traza:
suma=sum(T)
Este comando, “sum”, quizá sí que es un poco automático respecto de otros lenguajes, pero sumar con un bucle tampoco es difícil; simplemente ahorra tiempo, que en el mundo de hoy es algo vital, cada vez más.
Saludos.