Estoy tratando de escribir un proyecto matemático bastante pesado, que analizará aproximadamente 100MB + de datos varias veces al día, entonces, necesito un lenguaje rápido que sea bastante fácil de usar. Me habría ido con C, pero hacer un gran proyecto en C es muy difícil, especialmente cuando la programación de bajo nivel se interpone en tu camino. Entonces, yo era sobre python o java. Ambos están bien equipados con las características de OO, así que no me importa eso. Ahora, aquí están mis pros para la elección de pitón:Java o Python para matemática?
- Muy fácil de usar lenguaje
- Tiene una muy gran biblioteca de cosas útiles
- Tiene un fácil utilizar el trazado de la biblioteca
Aquí están los contras:
- no exactamente ardiente
- no hay una biblioteca nativa de la red neuronal python que está activa
- No puedo cerrar mi código fuente sin pasar por un problema
- Implementar el código python en las computadoras de los clientes es difícil de manejar, especialmente cuando los clientes son idiotas.
Éstos son los pros para la elección de Java:
- biblioteca enorme
- bien apoyado
- Fácil de implementar
- bastante rápido, posiblemente ni siquiera comparable a C++
- El Encog Neural La biblioteca de red es realmente activa y bastante impresionante
- El soporte de red es LLY buena
- tipificación estricta
Éstos son los contras para Java:
- no puedo encontrar una buena biblioteca de gráficos como matplotlib para el pitón
- Sin soporte incorporado para grandes números enteros, eso significa otra dependencia (quiero decir REALMENTE enteros grandes, no solo el tamaño de math.BigInteger)
- El archivo IO es un poco incómodo en comparación con Python
- No muchísimo Puede manipular o "hacer que la programación sea fácil" características que tiene Python.
Por lo tanto, esperaba que ustedes me pueden decir qué usar. Estoy igualmente familiarizado con ambos idiomas. Además, las sugerencias para otros idiomas también son excelentes.
EDITAR: ¡GUAU! Ustedes son rápidos! 30 minutos a 10 respuestas!
¿Qué quiere decir con "REALMENTE enteros grandes"? java.math.BigInteger crecerá al tamaño necesario para almacenar los números con los que está tratando (al precio de una sintaxis un tanto incómoda aunque Java no tiene sobrecarga de operador) –
¿Ha considerado usar una computadora "real"? sistema de álgebra] (http://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems)? No tiene que ser Mathematica (¡es caro!), hay muchas opciones más baratas o incluso gratuitas. –
Solo me preguntaba "Me refiero a REALMENTE enteros grandes, no solo al tamaño de math.BigInteger". ¿Por qué crees que los números de java.math.BigInteger no lo harán? Me parece que antes de comenzar a alcanzar sus límites, ya tendrá problemas con la memoria. –