![]() If Python's object model matches how you want to do things, it's fine for that. (See "The Slashdot Interview With Larry Wall".)Īnd a more general programming statement from the same interview: Some Pythonistas claim that Python is a good functional programming language, mostly on the strength of list comprehensions, but in my estimation Python has only half-hearted FP support it really doesn't provide the benefits of lexical scoping, closures, laziness, or higher-order programming that I'd expect in a strong FP contender, nor does it encourage you to think that way. Here is a very relevant quote from a recent interview with Larry Wall (the creator of Perl): (And probably you are going against Python's design fundamentals.) What others are saying ![]() This, I would say, means that if you decide to use functional programming in Python you are not going to be supported by the language design much. In this post, “The fate of reduce() in Python 3000” Guido van Rossum discusses his difficulties understanding code that has reduce ( Fold) and how he generally finds functional programming redundant within Python. ![]() Should be interpreted as "Python provides functional programming lite support." What Python's author is saying Python already has much of the same functional constructs In principle, I like Python for its language design consistency,īut I would rather program in R (which has all the characteristics of a design by a committee) than in Python.įunctional programming (Mathematica is better)įrom what I have read about Functional Programming (FP) in Python the OP statement I often support them with analysis, interfaces, and algorithms written in R and Mathematica. I would like to mention my Python background.ġ7 years ago I programmed in Python a little, now I do not. So to conclude, Mathematica seems to be ahead in the field of computable data.īefore giving several (biased) answers to the questionĪs a developer I'd like to ask if there any other significant advantages to Mathematica -Īre there any areas where Mathematica is still vastly superior to the Python stack other than in computer algebra? Of course, this also includes the availability of more traditional data from many fields of mathematics. Being able to connect all this with the more traditional strengths of Mathematica, which clearly are in computer algebra, is in itself a strength. But as examples, version 10 offers things like DNA sequences, the current position of satellites, financial data with an elaborate array of visualization functions (often more polished than the "hard science" counterparts), "social" network data, etc. Given the nature of the question, I think it's pointless to start listing all the incarnation of curated knowledge. Other languages also have some limited ability to do this, but I think Mathematica has a head start and is moreover benefiting from simultaneous ongoing developments in Wolfram Alpha. To give a really general answer, I would list as my number one choice the availability of curated knowledge, including free-form input. You're asking for the biggest distinguishing feature of Mathematica - other than computer algebra. Most Mathematica functions (especially anything with graphics, graphs, or images) are not compilable, but about everything in Python is!Īs a developer I'd like to ask if there any other significant advantages to Mathematica - are there any areas where Mathematica is still vastly superior to the Python stack other than in computer algebra?Īre there any insightful Mathematica vs Python performance benchmark studies like this one for Mathematica vs.Python already has much of the same functional constructs.Notebooks and their contents are not truly deployable (even pdf printing doesn't work).It takes little effort to download and integrate any needed python package.Mathematica's functional language is neat and allows rapid prototyping.Everything is nicely integrated and documented in one place.Mathematica does still have a few advantages though: PYPY and many other project to cover other functionalities.SWIG or Cython for c-speed enchancements. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |