Learning to Code: Are block or text-based languages best?

Learning to code with Snap!Many people assume that graphical, or block-based interfaces for programming are a “baby step” in learning to code. Not true! This article, written by a software developer helps dispel that myth and explains why graphical programming languages are “real” programming.

From: TechAge – Graphical vs Text-Based Coding for Kids. Read the whole article! But here’s the summary:

  • Graphical vs textual isn’t really that important an issue.

  • It’s whether a particular language allows your child to do what they want to do in a way that’s efficient and enjoyable for them.

  • Start with what they want to make and find a good language for that which is suited to their expertise level and the way they think.

  • It’s a myth that adults don’t use graphical languages. They do.

This is a good article to share with parents who are pushing back on learning to code with Scratch and arguing for “real” programming languages like C++.

I’m in favor of this functional argument for learning to code. The best language is the one that does the job. If the job is to “mess around” with some of the big ideas of programming, then graphical languages do that well. The argument that we should teach children “real” programming languages used in the “real” world of work falls flat when you consider:

  • There are many, many different kinds of languages used in the real world.
  • Today’s languages will not be tomorrow’s languages.
  • Just because a language is used by software developers doesn’t make it a developmentally appropriate language for learning to code.
  • There is lots of coding done in the real world outside of software development. Every area, from history to biology to music production has languages that are specific to the field.
  • Last but not least, the experience of coding is about acquiring mental models of computing that meet your personal needs and interests, not about getting a job in the future. (Or at least that should be true.)

For more information about a variety of graphical, or block-based programming languages that support learning to code, see The Invent To Learn Guide to Block Programming.


Also published on Medium.

One thought on “Learning to Code: Are block or text-based languages best?”

  1. They are many coding-related skills – including UX, how to approach and do a coding project more efficiently, design thinking, working with constraints/limits, testing, debugging – that kids need to learn. These computational thinking skills apply regardless of the programming language kids use. In my opinion, kids would benefit more if they build up these skills before moving to text-based coding language.

Leave a Reply