I went through a week-long training class on Flex last week. I have never been a fan of Flash or Flex. If it was up to me, I would probably never create a website entirely using Flex. Since the training is work related, I decided to give it the benefit of the doubt.
So after the week-long training, did I change my mind about Flash or Flex? Well… hardly. Besides the things I mentioned before, here are a few new items I would like to add:
1. ActionScript does not support function overloading.
There are few modern languages that do not support function overloading and for a language that tries to mimic Java, not supporting function overloading seems odd.
2. Error reporting is insufficient in ActionScript.
It seems that the error reporting in ActionScript still needs tons of work. In one of the Labs during training, I used a object’s property without creating the object first (null reference). Surprisingly, there was no error or warning given at compile time. And no error was given at run time either! The only clue I had was that the TextArea was not showing any text. I am not sure why a null object reference is not an error. The inconsistent error reporting in ActionScript makes debugging more difficult than it should be.
3. ActionScript does not support threading.
At a time when dual-core is common place and quad-core is no longer uncommon, a language with no threading support seems to be deficient by design.
So to me the prospect of Flex becoming the desired website platform remains bleak. After all, who would want to wait for ten seconds for a web page to load?