Depends. For the most part, Flash is overused and heavy on resources, making it terrible for mobile computing. If your site is built primarily on content -- even photographic content -- there should be little or no need for Flash. If it's built for gaming, video, or some other purpose, then it can make sense.
Obvious question: Why is everything Adobe does so fat and heavy-handed?
-zridling
There is a madness to the method.
* I assume that you are referring to Adobe Reader and Flash.
Adobe Reader is heavy in part because it's a platform and not *just* a program. The same holds true for Real Player, Internet Explorer, Quicktime, Microsoft Office, and Windows Media Player. They are platforms for developers to build on top of, and there's overhead for that.
But back to the topic at hand...
<rant>
There is little in this existence that can set me off into a raging fury of screaming profanity and obscenity like incompetent web designers/developers.
The barrier to entry for web development is extremely low, and that attracts a lot of people that simply don't know what they are doing. This ranges from tiny sites for Sally's doll collection all the way up to fortune 500 sites. Nothing is immune to idiocy on the web.
Ajax is great, but an entire site done in it? Good Lord!
Flash can do wonderful things, but chew up all your CPU for some silly navigation and a few banners?
JavaScript can be used for basic client side
error checking... Not that anyone actually knows what that is until they've put a space in their telephone number or credit card number only to have to do it again, and again... This REALLY sets me off! It shows utter and complete incompetence and supreme idiocy.
REGULAR EXPRESSIONS! USE THEM!A lot of web design is done by marketing people that have no idea what they are doing beyond some basic usability and layout. They just don't understand how things are supposed to behave. They know that they need to be there, but as to what they are supposed to do? No clue.
PowerPoint presentations with wire frames and storyboards do not make great web sites.
Microsoft created the
Expression series of programs to help make web design better. Hint. If you don't know what they heck you're doing, start using them. Your sites WILL be MUCH better!
If you need to do something complex in a web page... Hint... Choosing the right technology is a good first step. Silverlight is capable of complex operations that you simply cannot do in Flash. Developing a new skill set isn't a bad idea.
Flash is the lazy choice for lazy people. It's common. It's familiar. It's the default. It's usually the wrong choice when those are the reasons.
Flash uses an interpreted scripting language which is heavy and chews CPU. It's fine for simple things or for when you actually have real application software running in the browser. But if neither of those are true, then 10 browser windows all running crappy ActionScripts will grind your computer to a halt.
I get why Steve Jobs hates Flash so much, even though he's a total douche about it. I've never been a Flash fan simply because too much of the Flash out there is done very poorly. But it isn't the fault of Flash most of the time; it's the fault of poor design decisions. The problems are the people using Flash.
Use the right tool for the job. Please! Oh God! Save us from incompetent Flash developers and web design committees full of PowerPoint jockeys!
Grrrr...
</rant>
Java is rarely a problem on web sites because it's rarely used.