No se sobre eso.
Personalmente, encuentro que la programación es igual de difícil que las matemáticas. Es solo que son dos campos bastante no relacionados, por lo que puede ser difícil alinearlos. Personalmente, encuentro que la programación competitiva es tan difícil (y satisfactoria) como las matemáticas competitivas.
Las matemáticas, como la programación, exigen creatividad y una habilidad especial para resolver problemas. Por supuesto, hacer un sitio web simple es fácil y directo, pero tiene aproximadamente la misma complejidad que multiplicar números pequeños en su cabeza (y es igualmente aburrido en mi perspectiva). Hay un patrón a seguir y hay reglas para su implementación.
- En álgebra relacional, ¿cómo expresa la restricción de integridad que impone que cualquier valor bajo el atributo X en la relación A debe aparecer al menos una vez en la relación B?
- Dado un número X, encuentre el siguiente número con el mismo número de 1 bits en su representación binaria. Para la entrada x = 12, ¿la salida sería 17?
- ¿Cómo se puede usar la función zeta de Riemann para generar números pseudoaleatorios?
- ¿Hay evidencia que respalde que P = NP?
- ¿Cuáles son todas las aplicaciones conocidas de las técnicas de optimización de colonias de hormigas?
Por ejemplo:
Supongamos que le pido que cree un laberinto al azar sobre un campo de juego de cuadrados. Algo como esto:
Muy fácil, las paredes al azar funcionarán.
Ah, vamos a lanzar otro requisito: cada dos cuadrados en el laberinto tienen exactamente un camino entre ellos.
Bueno, probemos el algoritmo de Kruskal, o el algoritmo de Prim, dando a cada borde un peso aleatorio.
Ahora un requisito adicional:
El tamaño del laberinto es efectivamente infinito. A pesar de esto, todavía debe haber exactamente un camino de tamaño finito entre cada dos cuadrados.
…
Hmm Podría saber algo que podría funcionar. Tengo que pulirlo y probarlo.
Fin de ejemplo.
La mayoría de las preguntas matemáticas son como el ejemplo anterior: necesita comprender el problema, alinearlo con lo que ya sabe y probar diferentes enfoques para resolverlo. Intenta llegar a un teorema que pueda simplificarlo o cambiarlo a un caso conocido. Lo mismo para esas preguntas de programación. Comprenda el problema, encuentre los algoritmos que necesita para resolverlo (¡o inventelos usted mismo!) Y diseñe el programa para que haga su trabajo.
Por otra parte, alguien inventó la solución para usted, como el mejor diseño para un sitio web. Y a partir de ese momento, es solo multiplicar enteros en tu cabeza.
PD: prueba Haskell.