what are the pros and cons of each?
This was a fantastic comparison of the two featured in Smashing Magazine:
Have a look at Chrome Experiments. Why use proprietary plug-ins when you can use standards? The knowledge and skills you develop will be useful and very marketable in a year's time.
Flash:
Pros
- probably installed on 90% (or more) of the world's computers by now.
Cons
- a fair amount of bad press due to bad Flash ads. There are several Flash blocking plugins for Firefox (for example).
Silverlight:
Pros
- it's being actively developed by Microsoft so any limitations are being addressed.
- developing in Silverlight is quite like developing a desktop application (in my opinion)
- the same code can be run both as a browser application and desktop application (recompile required).
Cons
- relatively new technology so it's not got as wide a user base.
- it's developed by Microsoft ;)
- relatively little used outside Microsoft and, despite Mono/Moonlight, runs only on Windows platforms. (thanks Rob)
Here is the answer: Silverlight is free to develop for. VS Express, compared to VS full, is, well, almost indistinguishable. If you haven't been using it for years you won't need anything in the full edition.
Flex however costs lots of money. Lots. And i'm guessing by virtue of you asking the question that you don't have a copy.