4 ms·
Some universities pay for a Mathematica site license. I have used the software since version 6. It's really good for prototyping (my whole MSc was done in Mathe
by chm 11y ago
Some universities pay for a Mathematica site license. I have used the software since version 6. It's really good for prototyping (my whole MSc was done in Mathematica), but the biggest problem for me is that code re-use is a total mess.
It's easier to teach someone to write some Python and use a Git GUI than it is to teach a new student (who is not a programmer) how to properly use Mathematica with version control. Notebooks are, by design, made to be interactive and promote an incremental, playful discovery process. That is intuitive and students pick it up very quickly.
This means that code is passed around as (in my experience) bloated, poorly written, poorly documented and inefficient (no FP, all imperative) notebooks containing multiple "orphan" sections which were just quick hacks to try and see if something worked. Of course you can learn to write packages and good documentation which integrates flawlessly in the documentation center, but that takes time and effort most scientists would not be willing to give.
- davesque 11y agoI agree. I actually love Mathematica and the Wolfram Language but its main problem is the lack of any convenient ways to package it, track it in git, edit it in vim, etc. I spent some time investigating how to do that but it all just seemed really opaque and complicated. That's one of the risks of using proprietary software, I suppose.
- chm 11y agoYou can do that with packages but not (at least not easily and conveniently) with notebooks. So basically your functions can reside in a package, but your computation has to reside inside notebooks. It is possible to write notebooks directly in a text editor and then have them run. That just gave me an idea for a weekend project...
- davesque 11y agoI'm sure it's possible, but is it straight-forward how you're supposed to do this properly? And is there any way to access the Wolfram kernel from the command-line (like a python executable)? Update: I guess I owe the Wolfram Language another look.
- chm 11y agoYes, you can use the kernel from the command line: https://reference.wolfram.com/language/tutorial/UsingATextBasedInterface.html https://reference.wolfram.com/language/tutorial/UsingATextBa... https://reference.wolfram.com/language/tutorial/WolframLanguageScripts.html https://reference.wolfram.com/language/tutorial/WolframLangu...
- davesque 11y agoAhh, well alright then :). Thx for the info.
- heavenlyhash 11y agoHave you observed similar usage patterns with Jupyter/IPython notebooks? I like the playful-discovery process concepts but the difficulty in versioning and sharing seems like a fascinating UX challenge that comes along with it... so I'd be deeply interested in any ideas you might have on that what influences that balance (positively or negatively) :)
- chm 11y agoI have only used an IPython notebook once and have no opinion on it. I still use Mathematica. I'm thinking about a small weekend project... I'll post back if it works out.
- heavenlyhash 11y agoI'd love to hear about it! It's a subject near and dear to my heart at the moment. My email's discoverable through my profile.