Re: Mathematica daily WTF
- To: mathgroup at smc.vnet.net
- Subject: [mg115000] Re: Mathematica daily WTF
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Tue, 28 Dec 2010 06:48:32 -0500 (EST)
On 12/26/10 at 4:02 AM, no.email at please.post (kj) wrote: >In <if1o3h$p60$1 at smc.vnet.net> Bill Rowe <readnews at sbcglobal.net> >writes: >>Adding more layers of abstraction won't change this behavior. >>Additional layers of abstraction simply obscures the fact that Set >>doesn't pass on attributes. >Our brains, yours and mine, are clearly deformed in very different >ways... Undoubtedly true >Mine has been deformed by programming languages other than >Mathematica, There was a time when I used C or C++ heavily. For me, this was late 80's to early 90's. I started Mathematica with version 1.2 around 1990. Eventually, I started using Mathematica over C/C++. Since about 2000 I've been using Mathematica on a daily basis pretty much to the exclusion of anything else. So, at this point, programming in Mathematica has pretty much crowded out my previous experience with other programming languages/environments. >Bottom-line: the meanings that Mathematica puts on of >bread-and-butter programming terms like "="/"assignment", "value", >and "dynamic scope" are entirely sui-generis, This certainly has a lot of truth to it. >and therefore the Mathematica documentation should at least show the >user the courtesy of making this perfectly clear, rather than let >him/her figure all this out through hard knocks I can see where that would be useful to those well experienced in other programming languages >(in the form of "things that *should* work but don't"). Your "should work" is clearly based on your other programming experiences. Mathematica clearly has a lot in common with other programming languages/environments but still remains unique. And this is where your experience leads you too the problems of "should work but doesn't". I am reminded of an experience I had traveling to England to discuss technical design details of an ASIC with another engineer employed by the company I was visiting. We both spoke English fluently as for both of us English was our native tongue. Yet, I found I had to be very careful about word usage during conversations to ensure my meaning was truly communicated. In many ways, things would have been simpler had we both not been native English speakers. Then there would have been no assumptions about shared meaning.