Recently, Andrew Clinick, Microsoft's Program Manager in the Programmability Group, sat down with Dr. Dobb's Journal contributor Mark Baker to talk about VSA, Windows Scripting, and how scripting will evolve under the .NET platform. This is the second part of the two-part interview. The script code will be able to take advantage of the advanced features that CLR provides, like being able to inherit from the object that is passed in. In VSA you add a reference to the object first, then the object instance itself. In Active Scripting, the threading model used by engines requires careful attention by developers to what engine interface methods are called in secondary threads.
Any thread can enter the engine but only one thread can be in the engine at a time.
An attempt by a thread to enter the engine while another thread is in the engine doing work will be refused. The ability to load pre-compiled bytecode into VSA is a great improvement over Active Scripting, where the script was compiled every time. In reality it comes down to how well-designed your application object model is and how you use Script. For server scenarios, being able to load a pre-compiled script will help reduce the load imposed by the script since all that is required is to run the compiled code, not do an expensive compile. Obviously, VSA builds on the experiences with Active Scripting.