Show HN: New visual language for teaching kids to code
A new web-based IDE called Pickcode aims to bridge the gap between block-based tools like Scratch and text-based languages by offering a structured, menu-driven way for kids to write code that looks closer to Python or Java. Commenters praise its polish and real-time feedback, but debate whether creating a custom language is better than teaching a subset of Python, how much syntax and OOP complexity young learners should see, and whether visual tools should prioritize imperative or functional styles. Practical feedback focuses on UI friction, the need for clearer pricing and sandbox access, support for younger or non‑English‑speaking children, and the importance of teachers who can explain how code maps down to actual computation.
Overall reaction to Pickcode
- Many find the site polished, the idea appealing, and the editor “slick” for teaching typed programming.
- Several are excited to try it with their kids, especially those outgrowing Scratch but not ready for full text coding.
- Others are skeptical that a new language/IDE is needed versus starting directly with Python or other mainstream tools.
Target audience, goals, and pedagogy
- Tool is aimed at middle/early high school students, as a bridge from block languages to Python/JS/Java.
- Some think this “bridge” approach is valid and motivating; others question why not just teach a subset of Python or use existing educational languages that progressively grow in complexity.
- A recurring theme: the real goal is getting kids excited and feeling empowered, not perfectly modeling how hardware works.
Visual vs text-based / structured editing
- Pickcode uses structured, menu-driven editing with real-time reruns, not traditional block snapping.
- Some praise structured editing as closer to “real” code than Scratch; others say it combines the worst of both worlds: constrained input but still allows syntax errors and awkward expression editing.
- Suggestions include:
- Allow plain-text editing of expressions with parsing back to bubbles.
- Support keyboard-driven token insertion to reduce friction.
- Improve handling of parentheses, empty tokens, and dragging of nested blocks.
Language design: imperative vs functional, keywords
- Debate over whether kids should start with mutable/imperative style or functional/declarative models.
- Some argue imperative matches the underlying hardware and is necessary; others think “data-first” or functional thinking is conceptually cleaner for beginners.
- Keywords like
var,set, andcallare seen by some as clarifying (especially distinguishing assignment from equality); others find them noisy and unnecessarily verbose compared to BASIC/LOGO-style commands.
Comparison to other tools & alternatives
- Thread references Scratch, Snap, Pyret, Racket “language levels,” Hedy, LOGO, NetLogo, LabView, Node-RED, and others as adjacent or prior art.
- Some believe a Python subset or tools like Hedy are better bridges; others value Pickcode’s structured editor and tight integration with curriculum.
UI/UX, pricing, and ecosystem feedback
- Requests for:
- An obvious free-form sandbox mode and clearer sharing/community features.
- More examples on the landing page and clearer tutorial hints.
- Upfront pricing; hiding cost behind signup is viewed as off-putting.
- Mobile/tablet tweaks (numeric keyboard for numbers, scrolling glitches).
- Some teachers stress that teaching skill matters as much as technical depth, and that tools must fit into constrained school environments.