6 ms·
This might seem very petty, but I avoid python just because of the dichotomy between Python 2 and Python 3. For me, there are plenty of other scripting language
by banachtarski 13y ago
This might seem very petty, but I avoid python just because of the dichotomy between Python 2 and Python 3. For me, there are plenty of other scripting languages at my disposal, and for things like numpy, or twisted, I have better alternatives too.
- dagw 13y agoHonest question. Outside of matlab and octave (both of which fall down in a bunch of other obvious areas), what scripting language offers anything close to an alternative to numpy/scipy?
- taheris 13y agoJulia is targeting the scientific computing community, and I'd love to see it succeed as it is a very well thought out language. The language is in active development, although it is still early days with library support currently lacking (namely, a good plotting library).
- ngoldbaum 13y agoAlthough there's a very sophisticated set of bindings that makes it almost trivial to call Julia code from python and vice verse, making it possible to use matplotlib instead of waiting for a solution written in Julia. Take a look at this [1] (skip to the ten minute mark for the PyCall stuff) presentation from this year's scipy conference. [1] http://www.youtube.com/watch?v=Eb8CMuNKdJ0 http://www.youtube.com/watch?v=Eb8CMuNKdJ0
- taheris 13y agoThanks, I wasn't aware of the PyCall library. This provides an incredible amount of interoperability between the two languages.
- draegtun 13y agoPDL (Perl Data Language) offers a great alternative - http://pdl.perl.org http://pdl.perl.org
- mwexler 13y agoI will throw out R just because it should be thrown out... there, out there, I mean. I know, it's a terrible language, but it is a great collection of capabilities. Quintessential example of love/hate.
- jnbiche 13y agoHe mentions one: Julia. It's still young, so not as many libraries available. But it's a very fast language designed for scientific computing.
- banachtarski 13y agoI use R, Mathematica, Haskell, Julia, or my own CAS that I built.
- bjz_ 13y agoWhat do you think of Mathematica? I've been toying with the idea of using it for sketching out ideas related to my computer graphics work, but it's a big investment. :/
- banachtarski 13y agoI found it's utility primarily is dynamically controlled visualizations, for example, when I wanted to see how residues were distributed in the C^2 plane for a certain class of complex functions. I'm not certain what sort of graphics work you are considering, but if it involves a lot of nonlinearity or higher level functions, it may be a good fit.
- gohrt 13y agoThat's bizarre. 2 and 3 are different languages, that conveniently are very similar. Do you avoid Ruby and Perl because each other exist? Avoid JS because jQuery and mootools both exist?
- untothebreach 13y agoI agree with your comment about 2 and 3 being different languages, but to be fair, Ruby and Perl don't share one set of libraries/extensions that may work on both, yet may work on only one. I don't find the jQuery/Mootools comparison relevant because neither of them are (or even claim to be) languages of their own.
- thetrb 13y agoI don't think Ruby and Perl are a good comparison to Python 2 and 3. Perl 5 and Perl 6 would be a better comparison.
- lightcatcher 13y agoExcept modify the scenario such that jQuery announced a few years ago that will not be adding any more features and only doing sporadic bug fix releases, and they suggest moving all development to mootools. However, almost all code is written for jQuery and its not trivial to port libraries and applications from jQuery to mootools. tl;dr: I don't think the Python2/3 : jQuery/mootools analogy is that fitting. On the other hand, I still happily use Python(2) for some things, but that is primarily because of familiarity and awesome tools like what was mentioned in the article (namely Theano and pandas). Once the Rust language becomes more stable, I hope to move most of my development to that.
- banachtarski 13y agoBoth Ruby and Perl are in active development. Both jQuery and mootools are in active development. Python 2 is not in active development and most of the useful python libraries are not ported to python 3. Your analogy breaks on a number of levels.
- Buttons840 13y ago
- dbecker 13y agoHow does the dichotomy between Python 2 and 3 affect your productivity or coding experience? I'm using 2.7, and I can't recall the existence of 3 ever causing a problem.
- wahnfrieden 13y ago2.7 is a dead language that won't receive new features. That's mostly irrelevant if you're not investing in the long, long term with your projects. Just a tradeoff to consider, since it could mean one day it'll be worth it to migrate to Python 3, depending on the sort of project you're working on. Yes, it's ok to be using a "frozen" language for many cases.