Python is a great option because it is high-level, easy to pick up, powerful and has a library for anything they are interested in pursuing. Something like streamlit is cool because you can write a small amount of code to build a useful web app that you can interact with. For data viz related things, Jupyter + Python (maybe Pandas, not SciPy or NumPy unless that sort of math is specifically interesting to them)
Javascript and webdev is also a decent option since you can build such interesting and shareable web apps quickly, but the frameworks and scaffolding can be intimidating and painful.
I would work backwards from a project/interest and pick a high-level language where it's easy to get a good enough solution and create something that feels like an accomplishment. I would want to teach both programming as well as the joy of programming.
> Javascript and webdev is also a decent option since you can build such interesting and shareable web apps quickly, but the frameworks and scaffolding can be intimidating and painful.
JavaScript can be a great choice for some people as long as you don't try to build a production-level web app from the get go. Start them with a bare HTML file loaded up in the browser and only scale up from there when they start actually having the problems that the scaffolding is designed to solve.
I believe there are plenty of languages better than Python to start programming. Python provides zero interesting or unique ways to look at the world. It's like starting to teach dance with TikTok dances.
Even if that was the case, it might actually be desirable. I think you can't appreciate the uniqueness in the other cases if you haven't met the general purpose mainstream.
Javascript and webdev is also a decent option since you can build such interesting and shareable web apps quickly, but the frameworks and scaffolding can be intimidating and painful.
I would work backwards from a project/interest and pick a high-level language where it's easy to get a good enough solution and create something that feels like an accomplishment. I would want to teach both programming as well as the joy of programming.