Presta atención porque en esta sección vas a hallar el resultado que buscas.Este post fue analizado por nuestros expertos para garantizar la calidad y exactitud de nuestro contenido.
Solución:
Estoy de acuerdo con @ Pieter21 en que python es su mejor apuesta ahora para una utilidad general como estudiante de matemáticas y más adelante en el trabajo avanzado en matemáticas puras.
Para una visión general sorprendente (alucinante) de la computación, recomiendo encarecidamente la Estructura e interpretación de los programas informáticos de Abelson y Sussman. No es probable que utilice Scheme (un dialecto de Lisp) para proyectos de programación reales, pero el contenido filosófico del libro es esclarecedor.
No conozco ningún lenguaje que sea particularmente útil para pensar en la teoría de la complejidad.
Creo que aprender C sería un error: mucho costo inicial antes de llegar a las partes que le interesan.
Para una introducción a la programación, recomendaría un “lenguaje de script”:
- Los lenguajes de script modernos (por ejemplo, Python, Ruby) tienden a no ser los más eficientes en el uso del hardware, pero son expresivos y excelentes para desarrollar programas complejos. Ruby es más elegante que Python en mi humilde opinión, pero Python tiene muchas bibliotecas matemáticas excelentes. Entonces Python sería una buena opción.
Luego están los lenguajes que permiten escribir programas rápidos, programas que utilizan la memoria de manera muy eficiente y pueden comunicarse con la mayoría del hardware:
-
Los lenguajes de propósito general que le permiten usar el hardware de manera muy eficiente generalmente carecen de abstracción y solo tienen estructuras de datos simples. (C, FORTRAN)
-
C ++ con bibliotecas modernas es eficiente en hardware y tiene estructuras de datos avanzadas.
A veces, es importante una fácil portabilidad a diferentes sistemas operativos y hardware:
- Java tiene la ventaja de ser bastante portátil, incluida su interfaz gráfica de usuario, pero no es tan expresivo en comparación con los lenguajes de script modernos y no solía ser un lenguaje que usara el hardware de manera eficiente. Sin embargo, eso podría haber cambiado debido a las optimizaciones del compilador y de la máquina virtual. Por ejemplo, GeoGebra es un software de matemáticas que se implementa en Java, debido a estas ventajas. Java es probablemente el lenguaje más popular en la actualidad. (Por ejemplo ver este ranking).
Hay idiomas que se centran en las matemáticas:
-
Mathematica, Maple, Matlab o R son ejemplos. Cada uno tiene sus puntos fuertes.
-
Julia parece ser un nuevo lenguaje prometedor, pero no tengo experiencia con él.
Luego alguna sorpresa ocasional:
- JavaScript. Como idioma nativo del navegador web, se volvió cada vez más importante a lo largo de los años. Es una recomendación poco probable con respecto a las matemáticas en este momento, pero podría seguir sorprendiendo.
Finalmente, es posible que desee ampliar su comprensión de la programación:
-
Los lenguajes anteriores suelen seguir el paradigma de programación imperativa, como lenguajes estructurados u orientados a objetos. Sin embargo, existen enfoques alternativos a la programación, como
-
programación declarativa, por ejemplo, Prolog o
-
programación funcional (por ejemplo, Lisp, Haskell, Erlang, OCaml, F#).
Sobresalen para ciertos problemas y amplían la comprensión de la programación. Sus ideas tienen conexiones con la lógica y la teoría de la computación.
Para su pregunta específica, un lenguaje adecuado para matemáticos y para comprender la complejidad computacional, recomiendo un lenguaje de programación funcional, en particular Haskell o Scheme.
Haskell es una programación funcional muy elegante pero también práctica. Inspirado en mi notación matemática, tiene un sistema de tipo muy fuerte y un estilo declarativo, que recuerda al razonamiento matemático. Específicamente con respecto a su punto de intersección entre “un lenguaje de programación para matemáticos” y “un lenguaje de programación para comprender mejor la complejidad computacional”, recomendaría encarecidamente a Haskell.
Scheme es un dialecto de Lisp, uno de los lenguajes más antiguos que existen en la actualidad, que está inspirado en el cálculo $lambda$. Muy minimalista, muy elegante, y casi te garantizo que entenderlo te hará un mejor programador y un mejor matemático. Si quieres seguir este camino, te recomiendo que sigas The Little Schemer, un libro absolutamente encantador de Daniel P. Friedman y Matthias Felleisen.
Reseñas y calificaciones del tutorial
Más adelante puedes encontrar las observaciones de otros usuarios, tú asimismo tienes la libertad de insertar el tuyo si te gusta.