¿Qué es lo más divertido que has tenido programando / aprendiendo a programar? ¿Qué herramientas / programas estabas usando?

Es difícil comparar cantidades de diversión en varias ocasiones; Aquí hay un par de casos recientes o memorables, sin ningún orden en particular:

– Escribir un script de usuario para ocultar mensajes de spam en Codeforces (página en userscripts.org). Este fue mi primer intento con los guiones de usuario, y fue muy divertido pasar de “no tengo idea de qué se trata” a un producto listo para enviar en solo tres horas 🙂
– Redacción del concurso April Fools Day Contest 2014 – Codeforces. Este fue el concurso que me dio más diversión al prepararlo: literalmente me reí a carcajadas durante la lluvia de ideas sobre problemas.
– Escritura del problema BounceOff Marathon (TopCoder). Comencé con el visualizador y tuve que implementar un rebote realista de la pelota en las superficies. Pasé varias horas tratando de hacer que la pelota se moviera de la manera prevista, pero nunca obedeció y en su lugar saltó en direcciones aleatorias y desarrolló velocidades de subluz en un abrir y cerrar de ojos. Y luego, después de otro cambio, de repente comenzó a moverse con gracia, exactamente como lo hacen las bolas reales. La alegría de la creación que sentí fue increíble: ahora, cinco años después, todavía lo recuerdo como uno de los momentos de programación más felices que he tenido 🙂 No importa que, un par de días después, todo este código fue desechado y reescrito usando diferentes principios

Votaré por el sistema Scratch del MIT.

Construye su aplicación animada simplemente juntando bloques.

¡Niños, jóvenes y viejos, ya han creado casi 24 millones de aplicaciones y muchas de ellas son realmente increíbles!

Scratch se escribió originalmente en Smalltalk, que es fácilmente el entorno más productivo que he usado.

La codificación debería ser fácil y debería ser divertida.

Muchos de los entornos de programación que utilizamos hoy en día fueron diseñados para la eficiencia de la máquina en lugar de la eficiencia humana.

Scratch muestra que casi cualquier persona puede ser un codificador talentoso: crear ideas complejas es parte de nuestro ADN humano.

Todo se reduce al tipo de herramientas que utilizamos.

Es la edad del producto mínimo viable. Programación orientada a temas y cognición profunda. Volví con el nuevo paradigma de computación que puede comprender teológico + espirtualismo + misticismo + gnosticismo en computación … Lo llamé “Computación teosófica” Pero para responder por qué esto y solucionar qué problema. La respuesta fue abordar los fenómenos invisibles paranormales en los comutadores distribuidos.

Me divertí mucho hace mucho tiempo mientras programaba una tarifa de transformación de matriz y veía sus resultados en la pantalla, fue divertido tal vez porque todavía no tenía una comprensión clara de los antecedentes teóricos de la tarea (valores propios y vectores propios, por nombrar algunos )

Las herramientas que utilicé entonces, con cierto grado de certeza de memoria, eran un editor de texto vainilla y djgpp.

Un par de presentaciones de CA al final de la competencia también fueron divertidas.

Escribir un programa de bromas para torturar a uno de mis compañeros de trabajo y hacerle creer que tenía un virus. Imitaba un shell de DOS y escupía un mensaje de error falso sobre no poder iniciar Windows. Después de cada 5to comando, todas las letras en la pantalla caerían en una pila en la parte inferior y luego girarían alrededor de la pantalla. Verlo tratar de depurar su máquina usando mi terminal falso de DOS no tenía precio. Después de aproximadamente una hora, lo dejamos entrar en el secreto.

Cuando la pelota envolvió la pantalla y regresó.