This question is not technical, but is still about programming.
What is the funniest, most interesting part of programming for someone who have never programmed?
What do you do to light the programming interest on a adult person? I don’t feel like talking about print, functions and loops will be a good way when trying to get someone interested.
Python is probably the best language, but where do you start so it wont be boring?
Learning the other person to solve a specific problem might work, but I feel like I would need more than that.
I doubt you’d be able to get someone interested in the mechanics of programming. It’s all horribly sadistic.
What you can do with programming, on the other hand, is awesome. I was introduced to it in the context of game programming, and I currently program little physics sims (almost always some kind of numerical integrator) to help me visualize and toy around with the concepts we learn in lecture. I find that these are great examples of what you can do long term with programming. I know that they’re all simple examples (I wonder how many of you laughed at ‘long term’), but they’re complex enough to be interesting and “non-obvious” to someone with no knowledge of the subject.
What I would recommend more are things that the average beginner programmer will actually be capable of, such as:
basic web programming, even in python if you want. Lots of people like making their own webpage, and including some php or python functionality to give some more interesting interactivity is always nice.
I also recommend small automated scripts for certain tedious things. My favourite example is an automated login script for my university’s course selection process, which has a horrible capacity. Saved myself a lot of carpal tunnel and tears.
I find that the last one really works for people. The light that clicks the first time they have a problem and then go “I can actually do something about this now”, or “I don’t have to waste my day on something that can be done in seconds” is the insight I think early programmers (especially reluctant ones in an intro class) really need.
As for language, I second python. It’s beautifully easy to use, and lets you focus on the actual problem at hand without getting wrapped up in syntax, which really simplifies the learning process and lets you get to the good stuff faster. People who want to dive deeper into programming can always apply what they’ve learned to lower-level language later.