I used Macromedia Director extensively about 15 years ago. It had a scripting language called lingo, with a few unique features. It supported an old syntax, something like "set the visible of sprite 10 to true", and a new syntax, more like "sprite(10).visible = true". While most usual statements could be expressed in any way, some statements could only be expressed in the old syntax, and some other statements only in the new syntax. Worse even, there were a few corner cases where a statement written in the old syntax behaved slightly different from its new syntax counterpart. For example, the old syntax would return 0 while the new syntax would throw an error, I can't remember the exact details, but something like that, so you'd have to be very careful. It took me more than a year, maybe two, to find and work around many of these idiosyncrasies. It was, simply put, awful. It also had many bugs, some of them reported and not fixed for years.