Mathematica's highly optimized architecture makes it easy to create programs that are both elegant and efficient. Its symbolic character lets you immediately run and test even the smallest program fragments. And it provides full-scale software engineering support, from arbitrarily detailed compilation control to novel high-level symbolic analysis.
Monitor — dynamically monitor values during a computation
Print — print any expression or graphic
PrintTemporary — print temporary output, cleaning up at the end of a computation
Dialog — enter a subsession at any stage in a computation
Assert — give an assertion to be checked when code is executed
On — switch on a single message or a group of messages
TimeConstrained — constrain CPU time for a computation
Clear — clear values
MemoryConstrained — constrain memory usage in a computation
Method — specify particular methods for algorithmic functions to use
PerformanceGoal — specify whether to optimize for quality, speed, etc.
ExampleData — data for test examples
Parallelize — automatically parallelize computations across available processors
GraphPlot — lay out a symbolic call graph