Dylan Winter has been killing it lately with his tutorials for After Effects, and here he provides a great overview for Scripting in After Effects. Right off of the bat Dylan makes a distinction between scripting in After Effects and Expressions in After Effects.
Scripting: the lost continent. The final frontier. Unlike expressions, scripts operate from the application level and are not locked down the a single parameter. They can be used to affect multiple properties of multiple layer simultaneously, as in this lesson where we’ll increment through layers and rename them according to their indexes
In an effort to further Break down the difference, After Effects Expressions are sort of like a script that evaluates a single value for a simple layer, for a single property in time. So within that definition you are able to also create relationships between layer properties and use something in one property to do something in another layer dynamically. Conversely, Scripting “tells” the After Effects application to do something, not just a single property or layer.
As Dylan notes in his tutorial, scripting does not get attached to individual layers or individual composition in After EFfects, think of scripting as something that runs almost on an application level in After Effects. If you want to find out more about expressions, check out the page at Adobe here, or check out Dan Ebberts’ MotionsScript.com for a great After Effects Expressions and Scripting Resource.
I have posted some of Dylan Winter’s other tutorials in the past, and if you have missed them or simply as a refresher, you can check out Using Layer Indexes With Expressions In After Effects For Automating Repetitive Tasks and Creating Animated Trails With Custom Leaders In After Effects Using Trapcode Particular