Message Boards Message Boards

GROUPS:

Wolfram Workbench Update Request [Solved]

Posted 4 years ago
17751 Views
|
45 Replies
|
100 Total Likes
|

The Original Question

Last week I attended the Wolfram Tour (which was great). I asked whenever we could expect a new version of Workbench, as the current (public) version 2 is very out dated. They responded that they use a more up to date version internally at Wolfram (with some sort of automatic update system) but this version has not been made public as it would require some effort to create a distributional version of it. The reason that they did not invest in this is probably that Workbench has not got many users, and therefor the effort to create a public version is too great in comparison to the number of users.

They advised us to create a public topic on this and ask for support of the community to make this a higher priority at Wolfram. Please let me (and wolfram) know that you are also interested in a new version of the Wolfram Workbench.

To Summarize the Comments

What do we miss

  • Creating native Mathematica Documentation
  • Profiler function
  • Unit Testing (although this is already included in Mathematica 10+, it feels a bit awkward to me to run a nb for unit testing)
  • IDE to develop large WL programs/packages: (Proper meaning: debugging, refactoring, code hinting, search multiple-files etc.)

Suggested Solutions

  • Release (the already internally available) Workbench [preferred solution]
  • Seperate the functionality (Profiler, Documentation tools) from WB and support (for example) the IDEA plugin

Update from Wolfram (21-okt-2016)

Not sure if we contributed to this, but Wolfram has released what look like the internally used Wolfram WB plugin. For Instructions how to get it: http://support.wolfram.com/kb/27221. It also looks like this plugin is free to use, so no extra license is required (for now).

Edit 2 november 2016: I've been working with the new Eclipse Plugin (in combination with Mathematica 11 for 2 weeks now and find that it works really well, have not been able to find mayor errors :)

I want to thank everyone for taking the time to support this post

45 Replies

I am interested in this. I am currently using the beta Workbench 3, which apparently can be had on request, but a new release would be welcome.

My situation is the same as David's. I was able to get the beta version of Workbench 3, but think there should be a new release.

Add my name to the 'list'. I have been after WRI to release a new 'shrink-wrapped' Workbench since the old one broke. If it is a matter of priorities, maybe they will be shifted. I think I remember that someone said that WR used to have three or four people working on Workbench, and it is now down to less than one FTE.

I certainly would welcome and encourage WRI to produce a new public version of Workbench.

However, there are two applications of Workbench: 1) Documentation; 2) Everything else such as debugging, integrating C code, multi-person projects etc. It is only the documentation that interests me. Even though I work on moderate size applications and sometimes with a few other people, I don't find a need for these extra features. I find it easy enough to debug just by inserting temporary Print statements in routines. I don't find any need for an auxiliary IDE. Mathematica is a fairly sophisticated IDE itself. I'm sure this aspect of Workbench is important for internal Wolfram work what with all the C code, and there may be a few enterprise level customers who would make good use of it. Most users, doing math and science, don't really need this aspect of Workbench.

Documentation is a different matter. It is a part of preserving your work and making it accessible to others. Documentation is an optional but usual part of an application. An application is the best way to communicate your work to others. Papers in the form of Wolfram notebooks can be supported by applications and may be included within an application. They are orders of magnitude better than current publication practice. It is rather a shame that all the publications of papers on arXiv.org aren't accompanied by Mathematica paper/applications. - instead of none of them.

I don't know if user documentation has to be tied to Workbench. Perhaps a separate documentation facility could be provided. It really should be available to ALL Mathematica users. An earlier form of documentation was available to all in Version 5. Somehow this vision of Mathematica as a development AND communication medium got lost. Everything is there except Documentation. Otherwise writing applications is really easy.

As for communicating with people who don't have Mathematica? Tell them to get Mathematica; it works and it's worth it.

For developing large packages, Workbench is a big help, since you can seamlessly modify the package and test it with a notebook.

Frank, does this mean you put your packages, stylesheets and palettes in Workbench? Is this actually seamless or convenient? It must mean that you do all of your development within Workbench and use straight Mathematica only with the deployed result.

What happens if while using the application in regular Mathematica you find you want to update a routine, or stylesheet or palette? This means that you either have to go up to Workbench to make the change, and rebuild all the documentation even if you haven't changed it, or you can make the changes in regular Mathematica but you must remember to copy the changed files up to Workbench. You have two copies of all these items and must take care to keep them in sync.

I DO NOT put any packages, stylesheets or palettes in Workbench. I leave them all in the deployed application. (I do put the init.m file in Workbench 3, but that's only because it doesn't work if one doesn't deploy some non-documentation file - a definite bug as far as I'm concerned.) Workbench will access all of these deployed files. There is only one copy of them. They can be edited in regular Mathematica and all of the development can be done in regular Mathematica. I only go to Workbench when I want to change or add documentation, which is not that often.

To me it seems much simpler. But to each his own.

Frank, does this mean you put your packages, stylesheets and palettes in Workbench?

I do not understand? I create/maintain my packages in Workbench, which is basically a different front-end of WL (please correct me if I am wrong). Stylesheets and palettes are only relevant in the Mathematica front-end as you can style cells (and elements within them) which are absent in Workbench.

It must mean that you do all of your development within Workbench and use straight Mathematica only with the deployed result.

No, from workbench you can 'run' your code, which pushes the code directly to the Mathematica kernel, pretty much the same as using Shift+Enter in Mathematica.

What happens if while using the application in regular Mathematica you find you want to update a routine, or stylesheet or palette?

Stylesheets and palettes are only used in the notebook enviroment from Mathematica. If I want to update a routine, i simply switch to Workbench, update the routine, hit the run button and test the function in mathematica (Or with an unit test directly in Workbench).

This means that you either have to go up to Workbench to make the change, and rebuild all the documentation [...] take care to keep them in sync.

This is thus not necessary, as you can run your code directly from workbench without building it first. I think you have overlooked some of the features of Workbench. I definitely recommend looking into these if you develop packages.

Personally I would probably not use Workbench for package development. The IDEA plugin is great, and I use it regularly.

However, the Workbench did have two special features which I think are important: the documentation tools (!!) and the profiler. There is not reason I see why these have to be tied to the Workbench. It would be great if they were included with Mathematica instead. Especially the documentation tools are essential for proper package development and really should be made available.

If WRI believes that the Workbench doesn't warrant the effort, they could support the IDEA plugin in some way instead, such as:

  • Making essential parts of the Workbench (MUnit, documentation tools, profiler) separate and make them easy to integrate in other editors

  • Endorse the IDEA plugin

  • Contribute to the IDEA plugin project. It is open source. Anyone can contribute. WRI could do this without having to support the project as an official product.

I agree, the IDEA plugin for Mathematica is indeed great and indeed if the Documentation tools are sepperated from Workbench (I think MUnit has been integrated with mathematica 10+) then there is no need for an update on the workbench any more.

In the spirit of short term thinking: I still would like a new version of Workbench as, according to Wolfram, it is only a matter of creating a proper install wizard for public use.

Not sure I would want to add yet another IDE. I went to the website and I am not sure which platforms are supported.

Like David Park, I'd be happy if the documentation functionality were available in Mathematica. Then I could use one tool for complete Wolfram Language development.

If you are referring to the IDEA plugin: it is cross platforms and works on every platform where IDEA itself does (Windows, OS X, Linux)

I think you probably have to try IntelliJ IDEA itself for development with WL and other languages.

During the past few years I've seen a small number of package applications that had "custom" documentation. I suspect that this was usually due to the authors not having access to Wolfram documentation facilities, or maybe not finding them easy to use. This shows that authors are trying to document but not given adequate support by WRI.

It is good practice to document an application such that it follows the same paradigm and merges smoothly with the Wolfram paclet documentation. It's perfectly possible to do this. The Wolfram documentation method is plenty good. It's not fair to ask a user or reader to learn a new, usually poorly designed, Help paradigm that perhaps clashes with paclet documentation.

Mathematica documents as part of documented applications or supported by applications are by far the best method of development and communication of technical subject matter. The ability to easily document is the weak point to promoting this usage. Wolfram Research would be providing a benefit to everybody, especially the scientific community, by providing documentation facilities to every user.

Posted 4 years ago

Count me in

Yes, please!

Yes, please continue to support Workbench! Maybe I am not making use of the Front End features enough, but I often catch myself starting out "quick and dirty" in a notebook, only to discover that things are getting quite messy and cluttered, then wishing I had started out using Workbench earlier on.

I may not be programmer enough to judge Eclipse against alternatives, but working with .m files makes integrating version control probably much easier than working with .nb files afaik? I also like the ease of refactoring names accross a project with different files all at once.

Working with bigger projects and splitting them up into parts works nice and smooth in Workbench. Maybe I have to see this all be done in the Front End in a convincing way, but as long as I have not seen this I would strongly ask to continue work on Workbench.

I would argue that either Wolfram Research releases a (free, or even better boundled with Mathematica,just like Java) version of Workbench (and the Eclipse plugin) very soon, or professional programmers will still not take the Wolfram Language serious for larger program development. I do use the Eclipse-plugin-beta-version of Workbench nearly every day, sometimes simultaneously with the IntelliJ plugin (both have their strong and weak points). But I am hesitant to teach my clients to use Workbench at all, since it is so very much unsupported and undocumented from Wolfram Research.

So, if Wolfram wants outside developers to use Wolfram Language for more than trivial programs, there is just no other way than to support Workbench (and the Eclipse plugin of course). Pure programming in the FrontEnd is far inferior to a true IDE, since the FrontEnd is very slow in searching and handling of larger projects (actually you cannot search through more than one .wl or .nb file at once, which is trivial and fast in an IDE), not to speak of frequent hangs and spinning wheels and so on, which still occur (sometimes inevitably). And of course integration of a code versioning system like git is a must in any non-academic program development setup.

I used Wolfram Workbench extensively to write the documentation for my Mathematica application. An update to Wolfram Workbench would be welcome by me.

As an afterthought:

What strikes me is that Workbench 2.0 is still advertised as "state of the art in integrated development" and it is still published, that Workbench 2.0 supports Mathematica 6 and higher.

You can spend 120,- Euro for nothing indeed

Last time I knew, the workbench supported "profiling" - the execution trace histogram.

I'd like to be able to use this again, is installing and using the workbench was easy.

-- Mark

I also would like to see a new version of Workbench. Moreover, I agree with Rolf Mertig that for developing large packages the FrontEnd is not an option. Working with large files like this one is just too painful in the FrontEnd (especially if the file would be a .nb), while in WWB everything works fast and smooth.

I think that WRI should either offer a proper support for the WWB or (if they plan to drop WWB) actively support the development of the IntelliJ plugin and make it possible to create documentation without WWB (as Szabolcs Horvat suggested). You simply cannot do any serious development using Wolfram language without a proper IDE with unit tests, profiler and a built-in VCS support

For the record, when I visited ACAT 2016 conference in Chile earlier this year I also asked one of the WRI representatives about the Workbench and got a similar reply as the OP. So let us show to people at WRI that we do care about the Workbench and would like to have clarity about its future.

I would welcome an updated Workbench as well.

Posted 3 years ago

I use the Workbench and I would like to see it supported by WRI. A new post-beta release would also be welcome.

I also think Mathematica/WL needs and deserves more attention and tool support for larger projects. I'm still trying to get my head around how WolframAlpha was built using the IMO rather primitive Workbench Piggybacking on Eclipse...

I don't think it is unfeasible to start an IDE from scratch designed for Mathematica. Starting from the already available notebook (or package file) editor might be doable. As mentioned, there are just a few essential things missing from Mathematica right now that "serious programmers" expect, including:

  • no more hangs/crashes of the front end
  • easy-to-use debugger
  • version manageable plain-text files
  • search (the current find and replace dialog feels very out-of-date)
  • refactoring
  • support for multiple files
  • not having to manually re-evaluate definitions when things change

Mathematica is AFAIK in a unique position offering such wast symbolic computation power/knowledge and data access. Being able to instantly visualize some output is something other languages are only starting to get (e.g. Apple's Swift, check out "WWDC14 Apple Swift Demo") which Mathematica has had from the start.

Please keep WL alive and help it spread and be adopted.

I use Workbench 2.x and I would like to an update of this product. In alternative I would like to see its features - in particular the documentation capability - included in the coming version of Mathematica

Posted 3 years ago

I'd like to reiterate other posters' comments about the criticality of an IDE for WL to make the transition from "small code" to "big code" - at least more regularly outside the WRISphere. My history is that while WW used to be a large part of my workflow, nowadays I would say that 95% of my development work takes place in the front-end. That 5% though, pareto-like, is still worth more than this percentage might indicate: it provides an "orienting home" for my project; it is used to generate documentation, v.occasionally for stubborn bugs and rudimentary refactoring; to push and package deployments (although I would also say that I've never found WW especially natural to use).

The advantages of certain front-end features, in the end, I found too useful and there is one game-changer that I think now makes it feasible to produce large projects in the WL - the advent of Associations (for implementing a version of object-orientation, structs etc). To be sure, to harness this in the front-end, I've probably spent ~2 months in total (spread out over several years) creating a native front-end IDE (git integration, "Front-end staging area", notebook manipulation, stylesheets, modifying Shift-enter, granular organization, code refactoring, multiple screens etc) but to me what this indicates is that something far more powerful could be industrially created (in fact I no longer add to this IDE having got it to a functioning level since I suspect something is already in the works - something that could perhaps be galvanized with sufficient community sentiment?).

Hence (while never saying never) I can't imagine foregoing these advantages or transiting the code-base already canned away from the front-end, but having said this I would still like to have the back-up of a "traditional IDE" for when other languages are required (or the other 5% of the time and/or when certain features are yet to make their way into a "native" IDE) while also noting that others might have a greater need for such language integration.

Therefore, I don't think this is an either/or scenario but that actually, a two-pronged approach/strategy is essential for bringing people on-board in the creation of WL "big code"; Something along the lines of:

  1. A state of the art, front-end IDE (focused on those who predominantly develop in Mathematica - documentation, git version control, unit tests, refactoring just to start with)
  2. A "traditional IDE" that is used in-house at WRI but which is now also coupled to each Mathematica release (for those who need connections with other languages or prefer this environment)

(I don't know enough about WRI's in-house requirements or IntelliJ IDEA's innards to judge the feasibility of the following proposition but ... given the availability of willing contributors, its newness, the lack of WW-love and releases, maybe a bold route would involve positing IntelliJ IDEA as the "traditional IDE" for the WL?).

I also want to make a final point, perhaps off-topic and obvious but one that I feel sometimes gets overlooked in such discussions. It is not just the technology that is at issue here, nor even the education of how to use it effectively but equally pivotal are the designs on which it operates. My experience is that a soundly designed architecture on a limited IDE will every time beat a poorly designed architecture on a state-of-the-art IDE.

Wolfram has up-to-date version of the Eclipse plug-in - please see http://support.wolfram.com/kb/27221 for more details.

Is this a new official replacement for Wolfram Workbench 2 and 3?

Is it available to all Mathematica users?

Just wondering because I thought there might be something of a more official announcement and not just an installation procedure.

I also would like to know about the official status of this "release." Workbench 2 appears as an entry in my user portal under "My Products and Services" and is installed by an installer. It was advertised as a benefit of Premier Service. I have been using an unannounced Workbench 3, provided by tech support and also installed by an installer. I assumed this to be a pre-release but, if so, the real release has been a long time coming.

The link points to a "quick answer" in the Wolfram support site. It makes no mention of Premier Service, and gives an installation procedure which requires interacting with Eclipse rather than an installer. It is obviously recent, since it references MMA 11.0.1, but it isn't dated. And it does not state (or I don't find) a version number for Workbench. Is this Workbench 3? Or is this how you install Workbench 2 without an installer? If it's Workbench 3, does this mean it's not offered as a real product, but instead we can install for ourselves an internal Wolfram tool, and use it at our own risk and without support?

Available to everyone, even without Premiere Service! This is excellent news. Making the documentation tools available to every Mathematica user was very much necessary. I hope that this will lead to more people publishing quality packages.

I agree completely. Everyone -- including Wolfram -- will be better off if a good development IDE is part of the standard Mathematica product. I hope Wolfram will provide a better description of what is offered on the Quick Answers page. Failing that, I hope that forum participants who are familiar with the mechanics of Eclipse will offer some guidance.

Posted 3 years ago

Yes, 'my' Workbench 2.x has been sleeping the sleep of the just deep within my software relics vault for about three or four years.

I'm at the WTC. The Wolfram website is not up-to-date regarding Workbench, but all should be cleared up in a week or two. The new Workbench will be available (and supported) as a plug-in to Eclipse, which means that you will need to download Eclipse (and for Macs, the JDK) in order to use it. The link given earlier has the procedure. People have done this at the conference, and it works.

This plug-in will be available to everyone.

Any remaining confusion (e.g., references to Workbench 2 on the Wolfram Website) should be cleared up 'soon'.

This is good news for all Mathematica users.

Posted 3 years ago

Yeah exactly. I agree with you

Is the download available from the following page, with the downloaded .zip dated Oct 28, 2016, the new version of the Eclipse plug-in you're referring to? That is, a version compatible with Mathematica 11?

http://www.wolfram.com/workbench/?source=footer

Yep, that the same plugin!

And it works with the 64-bit version of Eclipse Neon?

I looked at http://support.wolfram.com/kb/27221, which makes no mention of 64-bit vs, 32-bit Eclipse. But the October 2016 answer at http://mathematica.stackexchange.com/questions/18183/how-to-install-the-wolfram-workbench-plugin-into-eclipse-kepler-or-neon says 32-bit Eclipse.

64-bit Eclipse will work on all 64bit operating systems.

Yes, I know that 64-bit Eclipse will work on my 64-bit macOS, but will the Wolfram Workbench plug-in work with that?

(I ask because posts in various places in the past seemed to say that the plug-in worked only with 32-bit versions of Eclipse.)

I have the 64-bit version of Eclipse running with the WB plugin under windows.

Posted 3 years ago

Probably, I am missing something.

When I purchased the Workbench 2.xx license, I just ran the installer then launched Mathematica and everything worked (not as I expected but it worked). In other words, to run Workbench I did not need anything extra (as for example and additional piece of software not included in Workbench, say, Eclipse). What I am saying is that I understood that Eclipse was, somehow, included in Workbench 2.xx.

To me, this is a bit confusing.

Which is the difference now between Workbench 2.xx and the new Workbench (3.xx) ?

The difference is that Workbench 2 doesn't work with new versions of Mathematica (e.g. M11). You need WB3 for M11.

WB3 is a plugin to Eclipse. You need to install Eclipse first. Detailed instructions are here:

Personally I have always preferred the plugin version to installing multiple versions of Eclipse (one "Eclipse" and one "Workbench").

Posted 3 years ago

Many thanks.

Posted 3 years ago

Related: Workbench now compatible with Wolfram Language and Mathematica 10 and 11

http://community.wolfram.com/groups/-/m/t/963774

Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract