How do I run pre-Mathematica 11 Notebooks in Mathematica 11?
Hi I just upgraded. I have Mathematica notebooks made I like to use in a previous version.
The first I tried uses Sphere[]. But it’s broken and there’s no “import”. Instead of renaming some NEW function that doesn’t do the same thing, Mathematica clobbers Sphere with a new definition.
I found there is a trail of “legacy .m” files one can download one at a time (GUGH!) such as “WorldNames.m”. However Sphere is “built-in” and I’m unsure if any “legacy.m” will prevent me from re-writing all my packages.
I refuse to see why 11 has to clobber my notebooks. And I’m wondering right now if new employees Wolfram at expect that my notebooks are SACRIFICIAL, and that only their new release easiness matters ? Put another way, if i can’t make mm10 run in 11, will mm11 notebooks run in 12? why am i urged to upgrade instead of keeping one of every version if they have taken a policy of creating version incompatibility?
What is the point of making notebooks if their functionality cannot be shared with others and are clobbered in any given mathematica release? Their’s always work and are sold mine are always broken and i’m up the creek? Who’s paying again?
I’m a huge Mathematica fan despite this issue but it’s an issue I will Raise
Could you give an example showing in what way Sphere is broken?
It was introduced as a system symbol in version 6.0.0, almost 10 years ago. Are you saying you have an older notebook where you defined your own function with the same name? Obviously it will need some adjustment to address the naming conflict.
During evaluation of In[13]:= Get::noopen: Cannot open NumberTheoryNumberTheoryFunctions.
During evaluation of In[13]:= Needs::nocont: Context NumberTheoryNumberTheoryFunctions was not created when Needs was evaluated.
Out[13]= $Failed
This should succeed because it’s already loaded. The definition of Needs was and is that loads if not already loaded and returns false when a Needed package is not available. As the following shows (show in version 11, this needed variable is in same context is already loaded):
This is a nuisance change - helping some hacker but hurting everyone who used Units in a notebook - which i HOPE is everyone.
It was difficult to find what worked because Mathematica 11 documentation does not say when the change occured nor tell me what package to load. Also (for iMac), the .m files are all gone so i cannot research the answer for myself - i’m left with using Kernel Evaluation to guess/find where SI units are to be found. however for other changes documentation DOES show where to go and what the deciding $VersionNumber is to use.
again i don’t like having other decide my job is to sit around re-writing what already works - to make their life simpler
Last login: Fri Aug 19 21:26:22 from foo2
This host is privately owned and requires permission of use.
All of Debian GNU/Linux system is free but comes with no
warranty to the maximum extent permitted by applicable law.
You have mail.
1 foo2 foo3@foo:/home/foo5
math
Mathematica 4.0 for Linux
Copyright 1988-1999 Wolfram Research, Inc.
In[1]:= ?Sphere
Sphere[(r:1, (n:20r, m:15r))] is a list of n*(m-2)+2 polygons approximating a
sphere with radius r.
(I think) I understand, in version 4 you probably had the old Graphics`Shapes` package loaded (reference) which defined the symbol Graphics`Shapes`Sphere. This was made obsolete by the introduction of System`Sphere in version 6, so one could simply do things like
Graphics3D[Sphere[]]
without loading any packages and without using Show. The new Sphere is an actual graphics primitive and not a crude approximation. If you really need what the old implementation did, just look at the legacy package source code. The code works fine in version 11, I just renamed Sphere to sphere:
Practically all of the legacy standard add-on packages have been superseded by new, better and easier to use built-in functionality. The old source code has also been made available on MathSource almost 10 years ago.
docs say it’s internal but not when done. i no longer have a .m to read definitions of what’s in it
?*`CRTlist
does show it still exists
but when called it does not evaluate as it had. i have no .m to know why
a notebook of mine uses this to show “crtwo” (among other improvements) solves chinese remainder showing ALL repeated solutions but the old ChineseRemainder (“by stan wagon et al”) could not do it
while crtwo itself is un-effected, the notebook describing “crtwo” is now needs repair.
it is not a simple notebook. such repairs are not 1-2-3. i really wish they hadn’t done that. i’ll be finding tons of needless (wonton) hackery makng my notebooks fail for days - and have time to fix a precious few - which has been delayed by talking about it.
As said by Ilian, Sphere is now a built-in that produces a smooth sphere without specifying rendering-related parameters. Also ChineseRemainder is now a built-in function (since V6 I think). No need to load any package. I think many of the functions you used before in V4 are now part of built-in function which are more convenient and most likely faster. Of course you can (down)load these packages again but be wary of naming-conflicts.
If you don’t want to leverage the functions of versions 5,6,7,8,9,10,11 and still use the old functions in packages, then you could just as well use V4…
It will take some effort to convert some of the package-functions to built-in functions…