Hardware changes all the time requiring new software to use it even for the ‘same’ program.
Consider my history with HyperCard, a great Apple program I started using in 1987. Apple didn’t support it after it moved away from Operating system 9 — new hardware managed memory differently. So I was left with OS X which still had a way to access OS 9 even though the processor was a 2.1 GigaHertz PowerPC.
Then newer hardware no longer accessed even the power PC, so as long my iMac G5 held out I was OK. But hardware doesn’t last forever, so I tried to migrate my database to FileMaker Pro, another Apple product (although they tried to keep this quiet).
Filemaker documentation is simply horrible. Example: they don’t tell you what the reserved words are believe it or not.
So I’m currently trying to migrate my HyperCard database to Mathematica. I had bought Mathematica 10 and the computer it runs on in 2015. It was a macBook Pro with a 2.2 GigaHertz Intel Core i7. But this year the battery started swelling (which Apple offered to replace for free), and worrying about exploding batteries in cars, I decided to move on.
So I bought the latest macBook Pro, which has 64 bit hardware instead of the 32 bit hardware of the old macBook Pro. This means that Mathematica10 won’t work on the new computer so I must upgrade to Mathematica 12.
Well what you get when you actually try to open a Mathematica notebook written in Mathematica 10 on the new machine is something like this.
(* Content-type: application/vnd.wolfram.mathematica *)
(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)
(* CreatedBy=’Mathematica 10.0′ *)
(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 69720, 1756]
NotebookOptionsPosition[ 63597, 1546]
NotebookOutlinePosition[ 64410, 1576]
CellTagsIndexPosition[ 64240, 1569]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[
RowBox[{“(*”, ” “, “W645″, ” “, “*)”}]], “Input”,
CellChangeTimes->{{3.8400255875558558`*^9, 3.840025593274387*^9}}],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{“newList”, ” “, “=”, ” “,
RowBox[{“ReadList”, ” “, “[“, ” “,
RowBox[{
“\”\</Users/lewisrobinson/Desktop/ Cards 9461 to 9462\>\””, ” “, “,”,
” “, “string”}], ” “, “]”}]}]], “Input”,
CellChangeTimes->{{3.8400252429862013`*^9, 3.840025260918976*^9}, {
3.840025304055138*^9, 3.840025325036539*^9}}],
Hardly readable or usable is it? Presumably the as yet unpurchased Mathematica 12 will be able to read this notebook and put it into recognizable form on the new machine.
Now let’s move 20 years into the future. Further new hardware, further new software. Will you be able to find a machine like my new computer