Re: Re: More /.{I->-1} craziness

*To*: mathgroup at smc.vnet.net*Subject*: [mg106598] Re: [mg106555] Re: More /.{I->-1} craziness*From*: Leonid Shifrin <lshifr at gmail.com>*Date*: Sun, 17 Jan 2010 07:30:48 -0500 (EST)*References*: <200912300915.EAA17299@smc.vnet.net> <hhhmn8$o9t$1@smc.vnet.net>

Hi Tony, I feel obliged to reply since your interpretation of those parts of my posts which you keep citing is not quite what I meant, but I hope that this is my last post in this thread. On Sat, Jan 16, 2010 at 3:11 AM, AES <siegman at stanford.edu> wrote: > > In article <hhpl28$9lf$1 at smc.vnet.net>, > > Leonid Shifrin <lshifr at gmail.com> wrote: > > > > > > > > I stick to my view of replacement rules as being aimed primarily at > advanced > > > users, or at least as a tool that should be used with much care. > > > And one or two other responses in this thread have suggested that users > should be given advanced training in the functioning and fine details of > ReplaceAll before they even begin to use Mathematica. > > This latter proposal strikes me as a really crazy proposition, and > essentially impossible in the real world. > I think that the notion of the real world is a moving target, and besides continuously changing. I don't think most of research and engineering in the near future will be done like it is now. In particular, the conventional research process may learn a thing or two from the modern software development techniques, in terms of making the generated knowledge more universally accessible and useful to a wider audience than just experts in that particular field with many years of experience in it. I expect that tools allowing automation and synthesis will in the near future play no less important role than tools for specialization. IMO, in lots of fields more than enough of specialized knowledge has been generated already. At least in the fields I've been working, the annual number of new articles increased dramatically since the seventies or eighties, but very few of these papers can compare in quality with an average good paper from that period. I think that at least partially this is a problem of communication between different sub-domains which became very specialized - resembles to me the Babel tower somewhat. But to efficiently combine specialized knowledge, you need some common denominator. I view Mathematica as one of the candidates for tools to be widely used in this spirit. So, addressing specifically your statements: indeed, viewed as a tool for specialization, learning Mathematica on a decent level may seem too much of a burden since most specific problems require only a fraction of its power. But I think that in the near future ultra-specialization will be generally no longer enough for people to stay competitive in whatever they will be doing, exactly due to the large amounts of potentially useful knowledge having been already generated in other (sub)fields and waiting to be utilized. This is only my personal opinion anyway, the time will show who is right. Regarding your specific queries about ReplaceAll etc, just two comments: 1. The whole topic of this thread is based on an exceptional situation (considering auto-evaluation of I and a couple of other symbols), and there are really just a few of such exceptions, so I don't think it is appropriate to base general statements on these. 2. For anyone with a decent understanding of Mathematuca pattern-matching and evaluation, all these things don't pose any problem at all - and these two topics are not that hard to learn either. Regards, Leonid > > Suppose an instructor of EE or physics undergraduates in an already > crammed and time-limited introductory network analysis or mechanics > course starts by going through some simple phasor analyses of linear > electric circuits or coupled mechanical systems with one or two > resonances "by hand". > > Then, as take-home exercises, the students are asked to analyze and plot > some 3 or 4 or 5-resonance cases using Mathematica and Manipulate (which > can be a very pleasant as well as educational experience), but to do > this the students first have to have a training course on Mathematica at > the level suggested above? Not gonna happen. > > Or, as a broader approach, suppose that training in Mathematica at this > level is going to be expected or required (before or after admission) of > all incoming college students who might go into any Mathematica-using > field of study, before they can take meaningful courses in that field? > Not gonna happen. > > In any case, waking up this morning after reading 60 or 70 posts in this > thread last night I realized that in 20+ years of using Mathematica I've > always had a mental model of ReplaceAll as being essentially an > **editing** tool, rather than a "mathematical" tool (whatever > interpretation you might give to mathematical in that phrase). > > When I typed in f = expr /. rule, I expected that rule would be applied > to expr as I originally typed it in -- or, better, to expr as > Mathematica played it back to me in an Output cell when I typed it in > earlier (very hard to argue with this latter interpretation, is it > not?). Only then would that edited version of expr be evaluated and > assigned to f. > > Isn't this more or less how the Find and Replace All capabilities > function in every other ordinary software program known to man? > > (And isn't it how the construct /. almost always in fact functions, > regardless of what internal shenanigans Mathematica goes through in > processing it?) > > And as a final query: Is there a formal name in Mathematica for the > string of characters that one types in and then sees in an Input cell > before (and after) one hits the Enter key? Referring both to this > character string and to the internal representation of this input string > inside Mathematica as an "expression" -- in fact, the same expression -- > is certainly a recipe for confusion, in debate and in understanding. > >