moving on from python
I u开发者_开发百科se python heavily for manipulating data and then packaging it for statistical modeling (R through RPy2).
Feeling a little restless, I would like to branch out into other languages where
- Faster than python
- It's free
- There's good books, documentations and tutorials
- Very suitable for data manipulation
- Lots of libraries for statistical modeling
Any recommendations?
Use Cython or PyPy or Unladen Swallow. Now you've got Python that's faster than Python and also satisfies all of your requirements.
If you just want to learn a new language you could take a look at scala. The language is influenced by languages like ruby, python and erlang, but is staticaly typed and runs on the JVM. The speed is comparable to Java. And you can use all the java libraries, plus reuse a lot of your python code through jython.
I didn't see you mention SciPy on your list... I tend like R syntax better, but they cover much of the same ground. SciPy has faster matrix and array structures than the general purpose Python ones. Mostly places where I have wanted to use Cython, SciPy has been just as easy / fast.
GNU/Octave is an open/free version of Matlab which might also interest you.
You can always learn or brush up on C/C++, then go with a hybrid approach. If something you're doing in pure python is too slow, write a C-extension for it. If you want to use a library for which there isn't a pure-python implementation or existing wrapper, write your own wrapper, perhaps with the help of something like SWIG.
This way you can focus on just those areas that are giving you problems, while continuing to use the rest of your code and accumulated python knowledge.
精彩评论