How to encourage someone to learn programming? | I have a friend that has a little bit of a holiday coming up and they want ideas on what they should do during the holiday, I plan to suggest programming to them, what are the pros and cons that I need to mention?


I'll add to the list below as people reply, I apologise if I duplicate any entries.


**Pros I have so far**


1. Minimal money requirement (they already have a computer)
2. Will help them to think in new ways
3. (Rob Cooper) Great challenge, every day really is a fresh challenge in some way, shape or form. Not many jobs can truly offer that.
4. (Rob Cooper) I like the way it makes me think.. I look at EVERYTHING more logically as my skills improve.. This helps with general living as well as programming.
5. (Rob Cooper) Money is/can be pretty good.
6. (Rob Cooper) Its a pretty portable trade.. With collaboration tech as it is, you can pretty much work anywhere in the world so long as you have an Internet connection.
7. (Rob Cooper) It's an exciting industry to work in, theres massive amounts of tech to work and play with!
8. (Quarrelsome) Jetpacks. Programming is Technology and the more time we spend with technology the closer we get to having Jetpacks. (*Teifion: This is a really cool analogy!*)
9. (Saj) Profitable way of Exercising Brain Muscles.
10. (Saj) It makes you look brilliant to some audience.
11. (Saj) Makes you tech-smart.
12. (Saj) Makes you eligible to the future world.
13. (Saj) It's easy, fun, not in a math way..
14. (kiwiBastard) If the person likes problem solving then programming is no better example.
15. (kiwiBastard) Brilliant sense of achivement when you can interact with something you have designed and coded
16. (kiwiBastard) Great way to meet chicks/chaps - erm, maybe not that one (*Teifion: I dunno where you do programming but I want to come visit some time*)
17. (epatel) Learning how to program is like learning spell casting at Hogwarts . The computer will be your servant forever...


**Cons I have so far**


1. Can be frustrating when it's not working
2. Not physical exercise
3. (Rob Cooper) There are a lot of people doing it just for the money. They have no love for the craft and just appear lazy, annoying and sometimes it can really grind my gears seeing an industry and workforce I enjoy so much being diluted with crap. Which can often reflect badly on all of us.
4. (Rob Cooper) Not so sure about the initial cost.. Yeah you can get started with Java or something at low cost, but for me, locally, the vast demand is for .NET developers, which can be costly getting up and running with. However, this is rapidly/has not becoming the case with the amount of work put in by MS with releasing pretty damn good Express editions of their main development product line.
5. (Rob Cooper) Its a lifelong career.. I truly feel you never really become a "master" by nature of the industry, you stop for 1-2 years. You're behind the times.. Some people do not like the pace.
6. (Rob Cooper) Some geeks can be hard to work with.. While I think the general geek movement is really changing for the better, you will always have the classic "I am more intelligent than you" geeks that can really just be a pain in the ass for all!
7. (Saj) Can cause virtual damage.
8. (Saj) Can make one throw their computer away.
9. (Saj) Can make one only virtually available to the world.