Loved AS3. We managed to make lots of great work with it that didn't hog the CPU and performed beautifully. But the Flash runtime was the big problem. I'd love to have AS3 now as a language of useful programming. Still, big ups to everyone who worked on Flash, past and present. Thanks, y'all.
You're welcome! (though I only worked on a small part of it - vector/SIMD instruction support, for gaming usecases)
I think a lot of the stuff that screwed the language was that it was initially supposed to be "an evolution of javascript" (ecmascript 4? I forget), so it took a on lot of the undesirable features of JavaScript, it was never a complete break from it.
Also, Adobe made a big-ish mistake in that it didn't keep the runtime separated from the VM - a lot of the VM abstractions (like pointer tagging) leaked into the runtime, and this is why a lot of things were harder to optimize in the VM than they should've been. Fortunately, the browser vendors didn't have this problem, that's why their GC could "run circles around Flash".
Hey, hello! I know there were features that AS3 couldn't access, but other languages like Haxe could. Would you be able to elaborate more on the VM/runtime issues?
Well, see e.g. https://blog.semantiscope.com/2009/10/29/getting-pointers-fr... ; the Flash runtime relied in various places on how pointers are represented for various "smart tricks"/optimizations. While this may have had the local effect of being faster, it also had the side effect of making global optimizations in the VM harder, since the VM was limited in the ways it could change. With the flash runtime codebase being pretty large, and the team being fairly paranoid about backwards compatibility ("you don't want to be the one who breaks the internet!"), this slowed down change quite a bit. Sure, it was easy to add new features - but it was pretty hard to improve how the old ones were working.