2010-11-11 3 views
1

J'utilise python massivement pour manipuler des données et ensuite les empaqueter pour la modélisation statistique (R à RPy2).passer de python

Se sentant un peu inquiet, je voudrais de se lancer dans d'autres langues où

  1. Plus rapide que python
  2. Il est gratuit
  3. Il y a de bons livres, documentations et tutoriels
  4. très approprié pour les données manipulation
  5. Beaucoup de bibliothèques pour la modélisation statistique

Des recommandations?

+7

Alors, qu'est-ce qui ne va pas avec Python? –

+3

Quel besoin Python ne remplit pas, alors nous serons en mesure de suggérer des choses basées sur ces idées. –

+1

@Eli (se référant à la réponse supprimée): Python correspond à toutes les exigences * sauf la première *, par définition. ;-) –

Répondre

0

Vous pouvez toujours apprendre ou rafraîchir en C/C++, puis opter pour une approche hybride. Si quelque chose que vous faites en python pur est trop lent, écrivez une extension C pour cela. Si vous souhaitez utiliser une bibliothèque pour laquelle il n'existe pas d'implémentation pure-python ou de wrapper existant, écrivez votre propre wrapper, peut-être avec l'aide de quelque chose comme SWIG. De cette façon, vous pouvez vous concentrer uniquement sur les zones qui vous causent des problèmes, tout en continuant à utiliser le reste de votre code et les connaissances accumulées en python.

3

Utilisez Cython ou PyPy ou Unladen Swallow. Maintenant, vous avez Python qui est plus rapide que Python et répond également à toutes vos exigences.

1

Si vous voulez juste apprendre une nouvelle langue, vous pouvez jeter un oeil à scala. Le langage est influencé par des langages comme ruby, python et erlang, mais est typé statiquement et fonctionne sur la JVM. La vitesse est comparable à Java. Et vous pouvez utiliser toutes les bibliothèques java, et réutiliser beaucoup de votre code python via jython.

1

Je ne vous ai pas vu mentionner SciPy sur votre liste ... J'ai tendance à mieux utiliser la syntaxe R, mais ils couvrent une grande partie du même sujet. SciPy a des structures matricielles et matricielles plus rapides que celles de Python à usage général. Principalement des endroits où j'ai voulu utiliser Cython, SciPy a été aussi facile/rapide. GNU/Octave est une version ouverte/gratuite de Matlab qui pourrait aussi vous intéresser.

Questions connexes