¿Cuál es el mejor lenguaje de codificación para las cosas matemáticas? ¿Dónde puedo aprenderlo?

Para las matemáticas fáciles y de propósito general, estoy de acuerdo en que Mathematica es la mejor opción, como Andy Somogyi mencionó en su respuesta. Sin embargo, también es un lenguaje propietario de código cerrado y es muy costoso obtener una licencia si no puede obtener una licencia de su universidad o empleador, por lo que puede no ser una opción para usted.

Los buenos idiomas para aprender matemáticas que no están encerrados en un ecosistema de código cerrado serían Python (actualmente el más grande), Octave (clon de matlab gratuito), R (principalmente para estadísticos) y Julia (el futuro, pero aún en beta). Para números rápidos, estos generalmente se complementan con bibliotecas rápidas escritas en Fortran o C / C ++ que exponen una interfaz que se puede usar desde los lenguajes más interactivos como Python.

Sugeriría comenzar con Python para aprender programación básica y luego ramificarse a cualquiera de los otros lenguajes que le parezcan interesantes.

Esta es una pregunta difícil de responder.

Si no está trabajando con el objetivo de pasar a un campo específico, mire Python a continuación. Es un buen paso adelante de Javascript y es un fantástico paso hacia otros idiomas. Tiene un tesoro de bibliotecas matemáticas y tiene módulos disponibles.

Aquí hay un ejemplo. Suponga que desea programar un juego de ajedrez. Normalmente necesitaría escribir una biblioteca para hacer un tablero, catalogar cuáles son los movimientos válidos, dibujar las piezas y configurar un montón de otras cosas también. En Python puede traer el 95% de eso desde una biblioteca con un comando.

importar ajedrez

Luego puede elegir qué parte del módulo desea usar y dedicar tiempo a trabajar en las cosas divertidas en lugar de desbastar las partes aburridas. La documentación para el módulo de ajedrez está aquí python-chess 0.18.4. Puede darle una idea de cómo se ve el idioma. Como beneficio adicional, la mayoría de las distribuciones de Python son gratuitas y de código abierto.

Si estás estudiando para ser matemático o ingeniero, te ayudarás aprendiendo MatLab ahora. No es barato

Si está estudiando para ser un estadístico o científico de datos, mire R y aprenda SQL. Las versiones para estudiantes / Express de ambos son gratis.

Si está estudiando para trabajar en educación, Mathematica podría ser una mejor opción. No es barato

HTH

¿Qué quiere decir con “cosas matemáticas”? Si quiere decir cosas como computación numérica, ciencia de datos y aprendizaje automático, lenguajes como Python, R y C ++ son muy populares.

JavaScript es totalmente inadecuado para “cosas matemáticas”. En realidad es un lenguaje de programación horrible. Si bien usaría JavaScript para la programación web, donde literalmente no tiene otra opción, para todas las demás aplicaciones, preferiría un lenguaje más sensato.

También podrías considerar Haskell. Este lenguaje tiene una inclinación muy matemática porque se basa en gran medida en el cálculo lambda. Es un lenguaje de “programación funcional” puro.

Mathematica, sin duda

Mathematica es un lenguaje de múltiples desfiles para el cálculo simbólico y numérico. Mathematica enfatiza la computación simbólica, la programación funcional y la programación basada en reglas, por lo tanto, es una forma natural de describir las matemáticas y la lógica.

La mayoría de los lenguajes de programación convencionales son lenguajes de procedimiento, que son, de una forma u otra, simplemente una abstracción de la arquitectura de computadora subyacente de Von Neuman. Mathematica toma una ruta diferente, en lugar de tratar de construir capas de abstracción alrededor de lo que es fundamentalmente una construcción bastante artificial (la arquitectura de la computadora), en su lugar comienza con la idea de cómo formalizamos las matemáticas y la lógica, y luego cómo descubrimos cómo escribir un compilador que traduzca esta descripción en una forma que la arquitectura de la computadora pueda entender.

Una de las grandes características de Mathematica es la capacidad del lenguaje para operar sobre sí mismo, es decir, todas las expresiones en Mathematica son simplemente estructuras de datos en las que puede operar.

Me doy cuenta de que la edición académica (exactamente igual que la comercial) cuesta alrededor de $ 140, pero vale la pena. Puedes probar la versión web gratis.

Muchas personas que se han considerado un lenguaje procesal a menudo no les gusta Mathematica, porque es una forma muy diferente de pensar. Es por eso que le recomiendo que aprenda Mathematica primero, tendrá un efecto sobre cómo concibe los modelos matemáticos de los fenómenos naturales.

Lea la descripción de Stephen Wolfram aquí:

¿Qué deberíamos llamar el lenguaje de Mathematica?

Creo que C ++ sería el lenguaje a seguir,

C ++ tiene STL que le permite como desarrollador no reinventar la rueda, C ++ también tiene una comunidad sólida en el desbordamiento de pila.

C ++ estar más cerca del metal le permitirá, como programador, insertar código de nivel de ensamblaje para ajustar si surge la situación. También tiene un control preciso sobre la gestión de la memoria.

C ++ también es procesal y orientado a objetos al mismo tiempo en caso de que desee lograr la modularidad.

Todo el software del sistema complejo está escrito en C ++, controladores de gráficos que requieren un alto cálculo de trama.

Depende de tu objetivo. Si desea programar una calculadora simple, la mayoría de los lenguajes de programación como Java y C tienen un módulo matemático / Liberary.

Python incluso tiene varios módulos, además de algunos tweeks que pueden ser útiles:

Puede convertir automáticamente enteros (cadenas válidas correspondientes) de base 2 a 36 en base 10. Puede convertir entradas a base 2, 8 y 16 automáticamente. El soporte para números complejos está integrado naturalmente y puede manejar realmente Big-Integers (sí, Java también tiene una clase para esto, pero Python puede hacer que su entero largo sea tan grande como lo permita la memoria).

Además de silencioso, OCAML es silencioso, es bastante difícil, pero puede definir funciones tal como están en el libro de matemáticas.

También es bastante bueno si quieres trazar muchas funciones es R.

Si realmente desea hardware cerca de la programación con un lenguaje alto, le recomiendo C / C ++.

Pero si no quieres codificar por ti mismo, hay un software profesional para las matemáticas.

Puede aprenderlo en línea, en autoestudio o ver si se ofrecen algunos cursos en su área local.

Matemática en términos de qué? Álgebra básica, sumar y restar? No importa Usa lo que quieras, de verdad. Para las matemáticas complejas más relacionadas con las estadísticas y el cálculo, Python y R son los lenguajes de goto. R ES un lenguaje de modelado estadístico y Python tiene varias bibliotecas excelentes para funciones matemáticas complejas.

Si habla de ciencia de datos, estoy de acuerdo con las otras respuestas: R o Python son realmente buenas opciones. Aunque no he probado Mathematica personalmente (jugué un poco con la versión web, pero eso es todo), encuentro que Haskell es un excelente lenguaje de “matemáticas”. Primero, está fuertemente arraigado en las matemáticas. En segundo lugar, tiene un excelente soporte para cosas como cálculos simbólicos, diferenciación automática y similares. Soy un principiante de Haskell, y en realidad logré escribir una calculadora derivada basada en web (completa con analizador y gráfico) en poco más de 1 mes (trabajando dentro y fuera no más de unas pocas horas al día, y construyendo la mayoría de las cosas desde cero) ni siquiera usé el anuncio). También será más familiar que la mayoría de los lenguajes de programación, si eres un estudiante de matemáticas