A coworker's 15-year-old daughter recently asked whether JavaScript would be a good first programming language. She's interested in making small games, so I'm trying to point her toward something fun and beginner-friendly rather than overwhelming her with low-level details like memory management and segmentation faults.
JavaScript and Python both seem like reasonable general-purpose choices. JavaScript could also introduce her to the browser, though learning HTML, CSS, and the DOM at the same time might be a distraction. Python with pygame is another possibility, while Lua-based game mods or a beginner-friendly engine such as Godot could provide a more direct route into game development.
I've already suggested a couple of online programming courses and heard that interactive coding platforms can be useful. What languages, game engines, websites, or beginner projects would you recommend for helping a teenager learn programming while keeping it enjoyable?
4 Answers
Godot with GDScript is probably one of the most approachable choices for a beginner who specifically wants to make games. GDScript is Python-like, the engine is designed for 2D and 3D projects, and the documentation includes tutorials. Python with pygame is also a solid choice if she wants to learn programming without using a full game engine.
JavaScript can work really well for small games, especially with p5.js. It provides a simple online editor and lets her focus on drawing and interaction without needing to set up much HTML or CSS. The browser’s canvas API is another good option if she wants to understand how the graphics work underneath.
JavaScript is a perfectly reasonable first language. Starting with canvas and simple shapes can keep the focus on programming instead of making her learn the entire web stack immediately. Later, she can explore HTML, CSS, and browser development naturally. The Mozilla Developer Network is an excellent reference for JavaScript and canvas, and starting without a library can help her understand what those libraries are actually doing.
Scratch is still worth considering, even at 15. It removes syntax frustrations and lets her concentrate on variables, loops, conditions, events, and game design. She can move to JavaScript, Python, or GDScript once she feels ready.

A game engine may be more motivating because she can see characters and movement quickly, while pygame is a nice option if she wants to build more of the game systems herself.