Virtual Book >
MATHEMATICA TUTORIAL

Incompatible Changes since Mathematica Version 1

Introduction

Every new version of Mathematica contains many new features. But careful design from the outset has allowed nearly total compatibility to be maintained between all versions. As a result, almost any program written, say, for Mathematica Version 1 in 1988 should be able to run without change in Mathematica Version 7—though it will often run considerably faster.
One inevitable problem, however, is that if a program uses names that begin with upper-case letters, then it is possible that since the version when the program was first written, built-in functions may have been added to Mathematica whose names conflict with those used in the program.
In addition, to maintain the overall coherence of Mathematica a few functions that existed in earlier versions have gradually been dropped—first becoming undocumented, and later generating warning messages if used. Furthermore, it has in a few rare cases been necessary to make changes to particular functions that are not compatible with their earlier operation.

Between Versions 1 and 2

  • 260 new built-in objects have been added, some of whose names may conflict with names already being used.
  • Condition () can now be used in individual patterns as well as in complete rules, and does not evaluate by default.
  • Debug has been superseded by Trace and related functions.
  • Power no longer automatically makes transformations such as Sqrt[x^2]→x.
  • Limit now by default remains unevaluated if it encounters an unknown function.
  • FontForm takes a slightly different form of font specification.
  • Framed has been superseded by Frame and related options.

Between Versions 2 and 3

  • 259 new built-in objects have been added, some of whose names may conflict with names already being used.
  • N now always tries to give n digits of precision if possible, rather than simply starting with n digits of precision.
  • All expressions containing only numeric functions and numerical constants are now converted to approximate numerical form whenever they contain any approximate numbers.
  • Many expressions involving exact numbers that used to remain unevaluated are now evaluated. Example: Floor.
  • Plus and Times now apply built-in rules before user-defined ones, so it is no longer possible to make definitions such as .
  • The operator precedence for and has been changed so as to be below . This has the consequence that expressions previously written in InputForm as must now be written as . V2Get[file] will read a file using old operator precedences.
  • is now an operator used to generate a superscript. Raw octal codes must be used instead of for inputting control characters.
  • In Mathematica notebooks, several built-in Mathematica functions are now output by default using special characters. Example: is output as in StandardForm.
  • More sophisticated definite integrals now yield explicit If constructs unless the option setting GenerateConditions->False is used.
  • and now have built-in values only, but these handle all possible Mathematica characters.
  • is no longer supported.
  • Arbitrary-precision approximate real numbers are now given by default as digits`prec in InputForm. This behavior is controlled by $NumberMarks.
  • Large approximate real numbers are now given by default as in InputForm.
  • and are now obsolete, since all computer systems support pipes and links.
  • Subscript and Superscript now represent complete subscripted and superscripted quantities, not just subscripts and superscripts.
In the notebook front end, changes that were made include:
  • The file format for notebooks has been completely changed in order to support new notebook capabilities.
  • Notebook files are now by default given .nb rather than .ma extensions; .mb files are now superfluous.
  • The front end will automatically ask to convert any old notebook that you tell it to open.
  • The kernel command NotebookConvert can be used to convert notebook files from Version 2 to Version 3 format.
  • The organization of stylesheets, as well as the settings for some default styles, have been changed.
  • Some command key equivalents for menu items have been rearranged.

Between Versions 3 and 4

  • 61 new built-in objects have been added, some of whose names may conflict with names already being used.
  • N now yields a machine-precision zero rather than an exact zero.
  • Element or now has built-in evaluation rules.
  • The symbols I and E are now output in StandardForm as (\[ImaginaryI]) and (\[ExponentialE]) respectively.
  • A new second argument has been added to CompiledFunction to allow easier manipulation and composition of compiled functions.

Between Versions 4 and 5

  • 44 completely new built-in objects have been added, some of whose names may conflict with names already being used.
  • Precision and Accuracy now return exact measures of uncertainty in numbers, not just estimates of integer numbers of digits.
  • FindRoot is now used to specify a starting vector value for x, rather than a pair of values. The same is true for FindMinimum.
  • The default setting for the MathLink LinkProtocol option when connecting different computer systems is now rather than .

Between Versions 5 and 6

The graphics functionality has significantly changed. For compatibility purposes, use to restore graphics capabilities from Mathematica 5. To restore the Mathematica 6 graphics capabilities, use .
  • Over 800 completely new built-in objects have been added, some of whose names may conflict with names already being used.
  • The output form of a Graphics or Graphics3D object is now the rendered graphic rather than an output such as .
  • $DisplayFunction is now set to Identity, so that no side effect happens by default when evaluating a graphic. To produce a side effect similar to Version 5 output, you can use the Print function to print the graphic.
  • The default font in graphics has changed from Courier to Times.
  • ListPlot now aggregates lists of points into a single Point primitive.
  • Lighting now supports a syntax for specifying different kinds of light sources, including spotlights, point light sources, directional lighting and ambient lighting.
  • The graphics primitive is no longer supported.

Between Versions 6 and 7

  • Over 400 completely new built-in objects have been added, some of whose names may conflict with names already being used.
  • For raster image formats, Import[file] now returns Image instead of Graphics[Raster[...]] to take advantage of the new image processing functionality. Use Import to import file as a Graphics expression.
  • For more precise expression structure, Import[file, "XML"] and Export[file, "XML"] now always imports and exports symbolic XML expressions only. Import will still determine the XML format automatically as in Mathematica 6.
  • To allow for more diverse interactive controls, the option has been renamed TooltipDelay. The usage is unchanged.
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
Format:   HTML  |  CDF