Re: What is the point of having Initializations in DynamicModule and Manipulate?

*To*: mathgroup at smc.vnet.net*Subject*: [mg123168] Re: What is the point of having Initializations in DynamicModule and Manipulate?*From*: "David Park" <djmpark at comcast.net>*Date*: Fri, 25 Nov 2011 04:55:35 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*References*: <14013627.124291.1322135502185.JavaMail.root@m06>

It is actually easier, more natural and intuitive. Writing literate notebooks with textual discussion and multiple presentations allows better understanding of mathematical and technical concepts. In "Visual Explanations, Introduction" Edward Tufte writes: "Those who discover an explanation are often those who construct its representation." And students who come to understand a principle are often those who do the same. I agree that one can do many nice things with the Manipulate expression, and many nice things have been done. But it has inherent limitations that, for all practical purposes, severely restrict the range of presentations that are possible and useful. For one thing, the main division of the Manipulate statement is between the displayed information (first argument) and the controls (remaining arguments). This means these things are forever segregated in the final display. Often, a more intimate interweaving of controls and displayed results will better illustrate a point. Methods to perform initializations and to calculate and use secondary dynamic variables, which depend on primary controlled variables, are not apparent in the basic construction of the Manipulate expression. Rather, they are relegated to options or to the second argument in a controlled Dynamic. And if you think the use of the Initialization option is simple, just follow the extended discussion the last few days between ADVANCED USERS OF MATHEMATICA, which also hides much more discussion from WRI help personnel. With a DynamicModule these things are trivial and intuitive. Serious topics require multiple presentations, original thinking to take advantage of the new active and dynamic feature of Mathematica, and extended textual discussion. David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: Helen Read [mailto:readhpr at gmail.com] On 11/23/2011 7:08 AM, Andrzej Kozlowski wrote: > On 22 Nov 2011, at 11:32, David Park wrote: > >> But isn't it all very complicated and unintuitive? This basically arises >> because WRI wanted a set-piece Manipulate statement that would do just about >> everything for standalone dynamic displays. I just about never use the >> Manipulate statement. It takes more than a Manipulate statement to present a >> significant idea. One has the feeling that the Initialization option was >> added as an afterthought to make Manipulate work on some additional cases. >> Then this was carried over to DynamicModule. > > > Let me just say that I entirely disagree. I only use Manipulate and > it allows me to illustrate all kinds of advanced mathematics, including > genuinely "bleeding edge" research (look at the Wolfram Demosntrations > site and you will see some of it). I think it involves a lot of > "significant ideas" and yet I have never come across any situation where > I would want to use Dynamic (and DynamicModule). Furthermore, we have > started teaching Mathematica here both in the context of general > computer algebra and also for specific applications (including quite > advanced applications in mathematical finance). We tell the students > about Dynamic and show them a fee examples but then we only use > Manipulate. If they want to know about Dynamic they are told to learn > more by themselves. We have really top class students here, both in math > and computer science but so far I have not yet met anyone who would find > Manipulate insufficient - and they have created some quite spectacular > projects with it. And at the other end of the spectrum, my first year calculus students use Manipulate in meaningful ways. Having to build everything from the ground up with DynamicModule would be a nightmare for them. -- Helen Read University of Vermont