Dependiendo de lo que quieras hacer, yo recomendaría diferentes idiomas.
Para la comprensión de la complejidad computacional y algoritmos básicos, python o C.
Python es fácil para principiantes, y tienen mucho mejor legibilidad de C++ o Java. Es fácil escribir muy limpio algoritmos con la limpieza de la sintaxis. Es adecuado para su primer lenguaje de programación.
Por ejemplo, para el intercambio de dos números enteros:
En python:
x, y = y, x
En C/C++/Java
int t = x; x = y; y = t;
C es mucho mayor que el de python, sin embargo, C es un lenguaje simple, con sólo un par de palabras clave y no avanzados de programación orientada a objetos construcciones. También es adecuado para experimentar con los algoritmos sencillos.
C++ es un superconjunto de C, que principalmente añadido funcionalidades de ingeniería de software de propósito. Si quieres profundizar en el CS desde un punto de vista técnico, C++ o Java también es recomendado.
Para el aprendizaje de las matemáticas puras, Wolfram Language (o ampliamente conocido como Mathematica) es fuertemente recomendado.
MMA es desarrollado inicialmente como una herramienta de investigación para los Matemáticos, sin embargo, recientemente se ha introducido un montón de nuevas funcionalidades en la ingeniería en general y de la informática.
Factor de polinomios, ecuaciones diferenciales, la búsqueda de enorme autovalores, la simulación de los efectos cuánticos, demostrando simple teoremas, hacer gráficos interactivos ... usted no encontrará muchos software puede hacer todo a la vez. Es simbólico del lenguaje de programación, lo que significa que puede controlar exacto expresiones matemáticas en lugar de sólo una expresión numérica.
In[1]:= Integrate[ Sin[x^2], {x, 0, Infinity}]
Pi
Sqrt[--]
2
Out[1]= --------
2
Hacía falta mucho esfuerzo para código en C o python sin externas paquete.
MMA también cuenta con algunos sintaxis de programación funcional así que usted puede experimentar con diferentes paradigmas de programación.
Para la ingeniería orientada, python, matlab, R es aconsejada.
Mathematica es un poco corto en Ingeniería debido a su lenta ejecución y la única de doble precisión, soporte para matrices densas.
Sí, como he mencionado, python de nuevo, porque las personas han desarrollado un sinnúmero de herramientas numéricas relacionadas con el uso.
numpy
: una matriz general de la utilidad, para los vectores, matrices, o los tensores de orden superior
scipy
: La hermana de numpy
, la más útil de las herramientas y utilidades para el álgebra lineal, el procesamiento de la señal, estadísticas, procesamiento de imágenes, y mucho más ...
matplotlib
: Parcela científica gráficos
pandas, scikit-learn, sympy ... y más
MATLAB es desarrollado desde cero para la ingeniería propósito. (Se llama MAT-LAB, lo que significa que lidiar con matrices numéricas) tiene más herramientas especializadas para tareas muy específicas. Yo no soy una de matlab usuario, así que no puedo dar más información.
R es desarrollado para las estadísticas y los datos de la ciencia. Ganó considerable popularidad en los últimos años. Yo no soy un usuario R, así que no puedo dar más información.