Rhinoceros Nurbs Modeling for Windows, in short Rhino, and more recentely Rhino for Mac, is a versatile 3d modeling package that is used in many industries. Originally born as a plugin for Autocad, it has become the standard tool for industrial designers and (naval) architects.
From the very beginning of Rhino, it has been possible to automate repetitive tasks by writing macros. Macros can be described as a series of instructions, Rhino commands in this case, that can be assigned to aliases, or placed in a custom button.
For more power however, Rhino has always had RhinoScript, a visual basic script editor inside Rhino to write more sophisticated sequences of commands that are otherwise not possible using simple macros. But since the start of development of Rhino for Mac, McNeel has brought python scripting to Rhino, and has given users access to Rhino Common, which essentially means users can write cross platform scripts.
Beside that, it also gives users access to Rhino Common, in other words we now have direct access to the very core of Rhino. While this is exciting, it also makes things a bit more complicated, because working your way through the documents of Rhino Common is to say the least 'scary'.
Beside making scripts inside Rhino Python or Rhinoscript, there is Grasshopper, a Rhino plugin that is currently being developed for both platforms and allows you to make scripts - or as they call it: generative algorithms - visually, by dragging components onto a canvas and connecting pieces of code by wires in a very attractive and well thought out user interface.