Imagine you are using a scripting environment, perhaps a little like Flash, if you have ever used that.
It has it’s own bizarre scripting language “Lingo” that is meaningless to anyone who has ever done any programming in their life, but fortunately it can also use an ECMA style JavaScript variant. Or can it? There is no discernable documentation and although you can write Object Oriented code in either Lingo or Javascript it is only vaguely oriented towards objects and is mostly oriented to stupid. If you want to change something, you might decide to check the help files, but unfortunately they don’t contain any documentation for the Javascript so you have to look for the Lingo documentation. Sometimes they have documents for that which you can use to work out what the Javascript would be. Other times you don’t. I have found entries that say “this method is deprecated- you should use newMethod() instead” where newMethod is completely undocumented. Sometimes you can only find things in the help file by using the search facility, other times you can only find things by browsing the document tree.
Often your code will stop working for no clear reason until you quit Director and then when you load it again, your code will work again.
At best you only have partial control over stuff through code. There is a syntax colouring system in the code editor that colourises every command or method name, regardless of whether it is a method of the object you are using. It is aimed at Lingo, though, and misses out on Javascript methods if they don’t have the same name as their Lingo equivalents. It also ignores case although the Javascript is case sensitive.
Over the last few years of using it, I came to the conclusion that Flash was written by a bunch of halfwit monkeys with no idea of how to write an application, but now I realize that at least they were monkeys. I have no idea what was responsible for director, but I guess someone’s cat walked across a keyboard, by chance what they had written compiled and Macromedia decided to charge a thousand quid for the result.
Worst. Product. Ever.