Are there any alternatives (IDE or other workflow) to Wolfram Workbench for development and debugging?

Elaboration: An open source alternative.

  • 1
    @EmpireJones, perhaps you could elaborate a bit on what it is that you are not satisfied with in WB such that answers in that direction can be given. – user21 May 5 '12 at 17:27
  • 1
    I prefer to use the simple installation of Mathematica to write my Applications. Don't know if this will work in future versions of MMA, but for now it works in MMA8: ApplicationMaker – jmlopez May 18 '12 at 18:32
  • One thing you could do for "simpler" development is have a Dynamic-wrapped variable and a loop that checks for changes to a file every X seconds (if there's a change, update the variable). I do this when I feel like editing in Vim. – amr May 26 '12 at 1:47
up vote 22 down vote accepted

There are indeed some open source alternatives, as other posters have suggested, but you will miss the unique facilities of WB to develop state of the art documentation. So if you want to develop some serious work in MMA, for yourself or others, you should seriously consider WB. Having said that, I use WB in a (probably) unconventional way. Within WB you can select which editor you want to use for the various file types. The default being: editing the .m file with the internal WB editor. Well, I instead chose to edit the .nb (package) file using the standard front end (linked to WB), this action will automatically update the .m file and then use all the standard WB facilities to integrate documentation. In this way you have the all the cool front-end editing tools plus all the cool WB documentation and debugging tools at your disposal.

This technique is described in more detail in my answer in Managing formatted usage messages in Wolfram Workbench

  • I appreciate the info, thanks! – EmpireJones May 6 '12 at 18:28

There is also a TextMate bundle for Mathematica:

https://github.com/dehowell/mathematica-tmbundle

TextMate is for Mac only, but this bundle work in other editors like Sublime Text (multi platform) (windows)

Also for Atom (multi platform) there is this: https://github.com/Fitzse/language-mathematica

Another alternative is the IntelliJ IDEA IDE with the Mathematica plugin. See this post for details:

Open-source IntelliJ IDEA plugin to support Mathematica development

How about TeXmacs? There is a plugin available for this open-source replacement for the Mathematica front-end that connects to a Mathematica kernel over MathLink.

  • While the mathematica plug-in seems to be supplied with TeXmacs (at least in the OS X version), how does one: (1) get it to appear on the TeXmacs Insert > Session menu? (2) otherwise interact with Mathematica? – murray May 26 '12 at 19:56
  • @murray I'm not familiar with OS X. Try asking your question in the TeXmacs users forum. – StackExchanger May 27 '12 at 8:15

You can also use the Eclipse IDE which can be found at:

http://www.eclipse.org/downloads/

  • Isn't Workbench and Eclipse basically the same thing? I always had the impression that Workbench is Eclipse based. – Markus Roellig May 5 '12 at 17:41
  • @MarkusRoellig Yes it is. As R.M pointed out above, you can as well get the Wolfram Workbench plugin for the standard Eclipse version (which works better for me under Linux btw). – sebhofer May 5 '12 at 20:17
  • @sebhofer what problems did you have with workbench and Linux? Workbench crashing suddenly? I have this problem currently and would be interested to know if switching to eclipse + plugin would help. – Sulli Mar 28 '13 at 16:44
  • @su1 I always had problems with random java errors popping up. For me this definitely improved with newer eclipse versions. Still crashes sometimes though. – sebhofer Mar 28 '13 at 19:45
  • @sebhofer ok I'm still having problems with workbench 2.0 on linux mathematica.stackexchange.com/questions/22268/… so will try eclipse + plugin soon – Sulli Mar 29 '13 at 9:10

There is an interactive emacs mode and also this is nice for developing (I don't use either much anymore though so don't know how current they are).

New plugin for Geany editor https://github.com/Ludwiggle/wolfram-geany .

It has autocompletion, documentation pop-ups, basic syntax highlighter, it runs wolfram scipts by pressing F5 without installing Mathematica.

There are some differences between the wolfram-geany plugin and other available IDEs like Atom, IntelliJ IDEA, Sublime, Emacs, Vim when it comes to their integration with the Wolfram Language.

  1. First of all Geany is very easy to install because it is present in all Linux repos as well as in brew repos for MacOS. Like most of the other IDEs for which a "Wolfram plugin" exists, Geany and the wolfram-geany plugin are free of charge. Only Sublime is not free of charge.

  2. Lightweight and fast. This makes it a good alternative to the Mathematica front-end on a Raspberry. It takes just few MB, while IntelliJ is almost 1 GB of source code to be compiled.

  3. Easier to use compare to Emacs and Vim, but it also has more features respect to Atom. In Atom one cannot execute a script and display the outputs by simply pressing a key. With IntelliJ one has to install one plugin for the syntax highlighter-autocompletion-helper and different plugin to run the script. Furthermore, the author of MathematicaREPL state that the installation of Mathematica is required, while wolfram-geany does not require to install Mathematica. Wolfram-geany has only free software dependencies.

  4. The documentation is quickly accessible by a custom key-binding. Atom version simply provides a link the the online documentation.

In few words, it is minimal as Atom, with some handy features of IntelliJ, without being that cumbersome.

On the other hand, wolfram-geany does not provide a dedicated lexer, therefore the syntax highlight is not as rich as the corresponding plugin for Atom of IntelliJ. These two project are at a mich higher stage of development.

Nevertheless several available colorschemes for geany make it pretty readable. For instance, Kugel use three different colors for

  • punctuation
  • strings
  • any other symbol respectevely.

The usability of the standard Mathematica front end has significantly improved in the last 3 to 4 years. In the current version (10.0.2.0) it is almost like a new product. Hangups and crashes are now rare; they used to be practically unavoidable. When a piece of code runs for too long, it is now easy to stop everything, quickly. These are not small improvements.

Remember, too, that the front end provides a critical service unlikely to be found elsewhere: it informs you, by the syntax coloring of a word, whether or not the word is defined. Without this feature I think programming in Mathematica would be much more difficult.

In short, I suggest giving the front end another try in an up-to-date installation before putting a lot of time into using a replacement.

  • 1
    Wolfram Workbench is still useful for big projects involving several packages. I don't think you can rename a function accross several packages with notebooks in one command. – faysou Feb 13 '15 at 21:48

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.