Is flash programming a tool for beginners? if i mastered flash programming,can i do full option, 2d games or 3d games , what are the limitation for flash if not can you advice me about other tools
Potential of Flash is very high.
- FlasCC technology is yet another step bringing the performance closer to C++: http://gaming.adobe.com/technologies/flascc/
- There are a lot of tutorials about making games in Actionscript 3, targeted at beginners. This makes the language a good choice to learn programming with an approachable learning curve. So an answer to one of your question is: yes, Flash is a tool for beginners - but not only for them.
- There is a dynamic, living market for flash games. It's not for ambitious projects, rather for games done in a month. You get money for sponsoring, about a thousand dollars for a simple game (but with nice graphics).
- Flash, by some sources, has up to 99% market penetration (at least for PCs and Macs). If you want to make a browser game, you should consider Flash seriously.
- Flash is cross-browser compatible. There are limited functionalities that don't work same everywhere, like native mouse cursors, but they usually are not a problem nor a surprise to the developer.
- Flash has GPU acceleration support now. It lets you create both fast (some will disagree) 3D and 2D games (using Starling).
However, as Philipp said in the comment, Adobe Flash is unsafe. I personally don't believe HTML 5 will become as cross-browser compatible as Flash anytime soon, but that's just my opinion. I just wrote about the potential of it, and in the context of Flash in future, I'll add one more thing:
- Flash is weakly supported on smartphone operating systems and probably will be supported even less in future (and surprisingly that's Adobe's, not Microsoft's or Apple's decision)