Building on Mathematica's rich paradigms, Version 10 introduces a host of new ideas that not only extend the domain of Mathematica, but also streamline and make more efficient many existing patterns of usage.
The problem of multiple undo in Mathematica has been solved!
When you edit an input line, its corresponding output goes gray to indicate that it's not connected anymore
Whenever you type a function, help on it is just one easy click away
Use Ctrl + = to insert entity names and much more in natural language
Just press Tab before you type content in a cell to go from section to subsection to...
Context-sensitive autocompletion that suggests detailed settings for options
When you need to pick a file or a color, there's always a wizard to help
Autocomplete millions of entity names, properties, etc. when they appear in functions
See visual previews of fonts, plot themes, styles, and more
Just start to type, and a heuristic suggests creating a code, text, string, or other cell
Introducing <| ... |>: highly efficient key-value associations deeply integrated into the system
Introducing a new way to handle relational and hierarchical structured data
Countries, chemicals, movies: there are built-in symbolic entities for all of them
Make any part of any expression completely inert, for formal manipulation, code transformation, etc.
As part of the large-scale geometry system, there's now a uniform way to represent and use any geometric region
Select[criterion][list] is Select[list, criterion]—and lots of other functions have operator forms, too
Lots of functions for handling key-value pairs—as well as lists of rules
FirstPosition, FirstCase, SelectFirst: no need to check and select first parts anymore
PositionIndex, Count, etc.: where, how many, etc., given as associations
MaximalBy, CountsBy, GroupBy: lots of "adverb-like" forms of functions
When it makes sense, what works for Association also works for lists of rules
Key-value associations: for example, <|a->1, b->2|>
#x is Part[#, "x"] to make it easy to use values from an association
Making it easier and easier to do serious functional programming
It's now so easy to generate strings from templates...
So much easier than notebook programming: just use templates to create documents
Just a few special tags in your HTML, and you've got a powerful computable template
As easy as making a notebook—but now it's a template for making other notebooks
Write templates with Pluralize to make words plural when necessary
Date and time objects allowing arithmetic, interaction with units, etc.
Lots of powerful time series analysis, modeling, and forecasting
It's so easy to read code when it simply says "Here" or "Now"
Convenient immediate astronomical computation
There's now a built-in way to represent every point on the Earth (or Moon etc.)
LocalTime and new time zone handling
Time series are now part of the core of the system
Geo computations—and geo maps of everywhere on the Earth—and beyond
Four more Dirichlet functions, a couple of Fresnels... not to mention Farey sequences or fibonorials
Finite elements have arrived—after nearly a decade of development
Efficient functions for computing and visualizing Mandelbrot and Julia sets
Another piece in the whole framework of random processes and modeling
Get just the main result from solving an equation...
Test if matrices are orthogonal, positive semidefinite, antihermitean, etc.
Solve, Reduce, Integrate, Optimize, etc. all now work with arbitrary geometric regions
DSolve, Integrate, Interpolate, and many more now handle quantities with units
Yet more functions to make mathematical code convenient and readable
Use Inactive to maintain inactive versions of math expressions, for manipulation, display, etc.
Areas, volumes, distances to figures, etc.—all built in and symbolic
Full symbolic representations of domains and ranges (and periods) for all sorts of functions
Differentiate a formal sum, operate under an integral—do formal operations on unevaluated math
Curvature, arc length, Frenet, and more
Use SASTriangle etc. to specify a triangle, then solve for anything about it
Beyond 2D and 3D plotting; this is 1D plotting—of points, intervals, etc.
New optimizations for new machine architectures, new algorithms, etc.
Reduce and solve systems of exact polynomial equations much faster
New "functional telescoping" algorithms—significantly expanding the universe of doable sums and products
A major new algorithm for solving numerical systems of polynomial equations
A new algorithm finds nearest neighbors faster in high dimensions
Optimizations in several core data structures reduce memory usage by factors of 2 or more
Traveling Salesman Problems with 1,000+ points are now easy
For the first time ever: symbolically solve ODEs with delays and discrete events
The kernel now runs as a shared library, cutting the code space needed to run multiple kernels
Completely redesigned and modernized look for visualization
Just set a plot theme to get back the classic look for all visualizations
Now you can immediately see what RGBColor[1,.7,.8] is: it just displays as a swatch
Automated algorithms for creating legends, including quantities and units if needed
InterpolatingFunction, NearestFunction, InputStream, etc. now display in a consistent format with drill-down
Minimal, web, business, scientific, sparkline...: pick a theme to automatically set graphics options
Automatically format anything into multiple (perhaps ragged) columns
... and of course,
500+ built-in string interpreters—for everything from cities to cat breeds
Encoding, decoding, shortening, calling like functions, etc.: all kinds of URL operations
TouchPosition for touchscreens
Start an external process, and do repeated I/O with it
Tweet, update status, etc. from inside any program
Send images, sparse arrays, and more through LibraryLink to DLLs, and get called back too
ReadString, ReadLine, etc.: exactly what you need for low-level string I/O
Better support for the zoo of camera connections that exist on computers
New drivers and more streamlining come to DatabaseLink
Questions? Comments? Contact a Wolfram expert »