If you want to teach someone the very basics of computer programming, then JavaScript might be a good place to start.
- The syntax is flexible and uses only a handful of keywords, plus functions and objects.
- The language includes standard control flow structures (if/else, while, do, switch, throw).
- A beginning programmer would also have an easier time understanding a number of other popular languages, including Java, C#, and C++.
- JavaScript runtimes are ubiquitous.
- Knowing how to program in JavaScript is marketable skill.
Once you've settled on JavaScript as a starting language, then the next question is what tools and environment to use. Node.js might be a good place to start.
- Node is free and easy to install on all the popular desktop operating systems.
- As a pure JavaScript execution engine, you can start by explaining Javascript without explaining HTML DOM APIs.
- Node has a REPL for interactive programming
- Node has a large universe of packages to build anything from a web server to desktop applications.
- Node projects follow simple file system conventions.
- You can still pick any editor or IDE to work with the JavaScript language.
Using node and JavaScript to learn programming fundamentals is something I'm putting together for a future Pluralsight video, and it's working quite well.