Depends. Free tools tend to be rather limited. By "flash programming" I assume that you mean Actionscript, in which case I'd imagine that Macromedia Flash MX would be the best tool, though certainly not free. Though I don't really know what free software is on offer since I have never had any interest in Flash.