Red de conocimiento informático - Aprendizaje de programación - ¿Es Mathematica un lenguaje de programación?

¿Es Mathematica un lenguaje de programación?

Personalmente, no tenía muy buena opinión de software como Matlab y Mathematica. Una vez mi instructor me preguntó qué software usaba para implementar el programa y le dije que no usaba software, lo escribí en C. Después de decir eso, mi cara se puso roja. Resulta que si una persona no expresa sus pensamientos y los escribe, no sabrá lo superficial que es.

En ese momento, ya había completado un semestre de "Análisis Numérico". El propósito de este curso es "inventar un método de cálculo y utilizar computadoras para resolver problemas matemáticos" (Zhang Kang, A Brief Talk on Numerical Computation, Journal of Mathematics Communication, una muy buena revista trimestral taiwanesa). Como todos sabemos, la parte más fundamental de una computadora son las puertas "Y", "O" y "NO" (incluso solo puede tener puertas NAND o NOR). Consideremos estos circuitos de operación lógica como los más. abstracción fundamental de las computadoras. Además de esto, tenemos codificación binaria, por lo que tenemos lenguaje de máquina. El lenguaje de máquina se abstrae aún más en lenguaje ensamblador que proporciona una interfaz común entre todos los lenguajes de alto nivel y el lenguaje de máquina. Los programas que codificamos están abstraídos a nivel de hardware y son básicamente operaciones lógicas de AND o NOT. A nivel psicológico, son básicamente operaciones de números naturales. Por supuesto, los más fundamentales pueden ser números metalógicos y primos.

Veamos el propósito de usar computadoras. Cuando hacemos cálculos numéricos, nuestros datos de cálculo generalmente son números racionales y números complejos. No están escritos directamente en el hardware, son solo pares de números naturales. Eso es todo. El lenguaje C proporciona este tipo de abstracción a nivel de datos, mientras que MATLAB y Mathematica proporcionan no solo esta abstracción a nivel de datos, sino también abstracción de procesos.

¡El camino del avance humano no es sólo la mejora de niveles abstractos, sino también el reflejo de estos niveles!