Message Boards Message Boards

8 Replies
10 Total Likes
View groups...
Share this post:

Package Development Standards

Posted 11 years ago
Anyone aware of a useful www accesible source of detailed documentation on how to write packages following Wolfram standards.  
POSTED BY: Ariel Sepulveda
8 Replies
P.S. I have no idea why my posting appears (at least on my system) with raw HTML in it.  Seems something is broken at the moment with the Wolfram Community markup.
POSTED BY: David Reiss
Hi Ariel,<br />
<br />
We could Skype sometime if you wish and I can tell you what I know from my experience.&nbsp;<br />
Wolfram standards, by the way, is a somewhat nebulous target. &nbsp;IF one looks at the standard add-on packages there is are a variety of styles though there are common elements.&nbsp;<br />
In my experience I have found the model of using multiple ,m files for a project to be more trouble than it&#39;s worth. &nbsp;A project may in fact partition into distinct topic areas naturally and so suggest using separate .m files for those subcategories along with a master .m file for the high level Context. But often when one gets into the bowels of the project one finds that there are complex interdependencies that make that model break. In the &quot;old days&quot; of small memory and slower CPUs the use of multiple .m files may have made sense to keep from loading things that are not going to be used in a particular instance. &nbsp;But that is moot these days. &nbsp;I have written 60000 line packages that load just fine. &nbsp;And I then organize the code into (in a Notebook rather than Workbench which is very limited compared to Writing code in notebooks) separate sections and so on.&nbsp;<br />
Best,<br />
POSTED BY: David Reiss
Hello Ariel,
what about screencasts using the Wolfram Workbench to create packages and also documentations? Try this:
POSTED BY: Joerg Schoenau
I appreciate your replies and both are useful (no problem with Spanish ;), however I'm more in the lines of getting advanced documentation online where the process of creating packages with multiple m files that "talk to each other" and how to call other packages needed in the new packages.  I have done this the hard way and I already have a solution but it would be good to know that this tedious process is documented somewhere.
POSTED BY: Ariel Sepulveda
Hi Ariel. Have you found something interesting?
I also realy miss some Wolfram deeper documentation on advanced package creation. I fell bad that the most complete book on the subject has 17 years (Roman Maeder book).
I saw all videos from WorkBench here, and they are too old and superficial. As you say, what are the best pratices for:
  • Big projects?
  • Packages that call another packages?
  • How to unload a package?
  • Handler name colision between them?
I have heard a lot about WolframAlpha creation over WorkBench (here), but there is no example on how it works.
I can't see how Wolfram Language can be a comercial one like C, Java or Python if there is no guide on how to work with more advanced code, and in a colaborative/team way. My impression is that Mathematica is a language for the final user, not for developers,  with all development been done by Wolfram Research. Just as an example of this, Workbench last version is from 2007, for a old Eclipse version, with no autocomplete, and another capabilities that are standard in another languages. I see posts like this and this, showing that this concern is not restricted to me.
I really hope changes in the near future, so Wolfram Language could realy conquer a bigger market share outside academy world. Let's see with we have some nice surprises with wolfram cloud to sove these problems.
POSTED BY: Rodrigo Murta
The best place to lear how do deal with pack that I know is the book from Roman Maeder, "Programming in Mathematica".
Here is the link from Amazon.

POSTED BY: Rodrigo Murta
Posted 11 years ago
You might find this tutorial useful, eventhough it is in Spanish, it has a lot of images that make clear the point: 

Construcción de un paquete básico (librería denuevos comandos) en Mathematica

More advanced features can be seen in this second tutorial

How to Create a Mathematica 6.0 Add-On with Documentation in the "Documentation Center" (Help Menu) and Palette in the "Palettes" Menu

They are NOT standard, they were created by my to teach others how do I create my Mathematica packages, I hope that helps

POSTED BY: Jose Gomez
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
or Discard

Group Abstract Group Abstract