I've taken on a commissioned scripting job and my client wants me to build the system upon several other already existing scripts. Sadly, that person didn't put the scripts in one project and made them all work. Nope. That person gave me only a bunch of demo projects. So I'm thinking "Alright, whatever. Not a big deal." I start opening up the projects and copying the scripts over. Suddenly I notice that one of the scripts uses the Script Destruction Kit. "Well, shit." is what goes through my mind. Then I find another and another. I figure, since there are several versions of these, the best thing would be to use the most up to date that I can find in those projects. It's SDK 2.3 with MACL 2.1. I notice some SDK 1.5 scripts and I already know that they will probably be problematic.
After copying them all over, I run the project. BAM! First crash. I check it out and it's the SDK. I fix it by removing the SDK check and restart. BAM! Another one. Again, an SDK check back from 1.5. That happens a few more times.
Finally I should be able to run the project. BAM! Another messy script that requires you to put the configuration into an external text file. I don't want to bother setting that one up so I comment it out. Running it again, BAM! Again the SDK. Once more. BAM again. SDK again. Finally I think that I got rid of the SDK problems and what happens? Materia script crashes (I could have sworn this one was SDK, too, but it wasn't). At that point I figured that I should give up rather than wasting hours of making all of this work. I'll talk to my client and see how we can change our agreement so that I make the requested scripts with loose hooks that can be filled in by somebody else later.
There you go. It's the proof that SDK is crap. It's incompatible with itself.