Skip to Content

"Real" Programming

« How do I...?
8 replies [Last post]
Karen Brennan
Hi ScratchEd!

I received a great email this morning --

If some person pronounces that visual programming is not "real" programming, what resource should I point them to?

I've encountered this misconception (that visual programming != real programming) before. It made me wonder how many of you have also encountered it -- and how you think about it.

How do you respond?


Collin D
 I believe that Scratch programming is directly linked to Javascript. It has all the same features, and a lot more. If the person that emailed you doesn't know Javascript, but wants to know, show them this website:

I am actually working on a Scratch-javascript converter right now. They are that similar.

Hope this helped you Karen!
Peter Kirschmann
I've been teaching Scratch for a number of years, and a coworker and I would often have this back and forth. I'd say I wasn't a programmer, he'd argue that I could use Scratch, so I could program. Now I am student in Karen Brennan's class, and am thinking about this question in my final paper.

I try and draw parallels to other things I know how to do, using iMovie is editing video but is not as powerful as using Final Cut Studio, but I'd still say they are both video editing. So, why, in my head is Scratch not programming or programming in the same sense but just lacks some of the capabilities of other languages. I think for me it has something to do with identifying as a "programmer," but I am still trying to break that down.

@Rafael, I am compelled by the idea of different environments supporting or leading to different potentials, that begins to take away some of the heirarchy between text and visual based programming. I wonder how many people on this thread do know how to program in a text based language. I think its probably valuable to foster the identity of a "programmer" in youth in Scratch classes I am facilitating, but its still struggle with calling myself a programmer.
Rafael Fajardo
I'm glad that this idea is compelling for you. :)

In the visual arts, part of the training/learning/discovery is what expressive potentials and opportunities exist with which "media" and "substrates". Pencils, brushes and crayons offer different things. It's easy for me to forget this, or to treat it as transparently self-evident.

Sometimes, when I'm feeling mischievous, I think about the range of expression possible with a hammer and a piano. Both could be seen as percussive uses of a lever. ;)
Rafael Fajardo
A blog post submitted/reblogged by "fyprocessing," a Tumblr site devoted to the work of artists experimenting with Processing, offers an interesting point of view with regard to the different expressive potentials offered by different programming environments. It suggests that different imaginaries, or different imaginations, may be sparked or accessed by interaction with different tool kits. The argument echoes Clifford Geertz and Marshall MacLuhan's observation that humans shape and are then subsequently shaped by our tools.

The link for the original is:

and I quote it here in its entirety:

My first animgif programmed in Nodebox. I still prefer code, but I see the advantages of Nodebox:

  • Pause, play and rewind your animation.
  • Go to the previous and next frames.
  • Tweak values and modify your program *while it runs*. No need to stop and restart your program. This is great for experimentation.
  • Export a range of frames.
  • Export an mp4 movie or a vector PDF file.
  • You can write your own modules in Python and Clojure.

What I don’t like:

  • No animgif nor gif export.
  • Each time I export I must set the range and file format.
  • Frame rate not so high.
  • No access to the great collection of Processing libraries (midi, webcam, graphic tablet, OSC, etc).

It’s great for people learning to code, and for those who don’t like typing code. It may also be great for sketching concepts, tweaking values and experimenting, to later port the idea to an environment that performs faster.

Our creations are influenced by the tools we use. I suspect the kinds of creations we produce by typing code (Processing, Open Frameworks, SuperCollider) and by connecting nodes with wires (Nodebox, PD) can differ, the same way the kinds of results we get when using different programming languages can also be different. For instance, some languages  make it easier to write recursive programs. Other languages make it easy to work with big data sets, or with strings. I wonder… what is Nodebox best at?

James Abela
It is a legitimate concern that visual languages may not contain all of the functionality of something like C++, but for everyday programming tasks Scratch is more than capable and I know that in the UK they use it right up to A-level to teach key concepts. 

Such concerns remind me of the days when people used the Command line and WIndows was not a real operating system.  I wonder how many of these people are exclusively using the Linux Shell now? There are advantages in terms of resource use, but the rest of us have moved on.
Rafael Fajardo
I've encountered this misconception frequently. There tends to be a forgetting that these words that I'm typing in this response are themselves abstract pictorial symbols strung in a learned and agreed upon ordering. I've begun to ask if there is a cognitive benefit, or a cognitive difference, in the construction and recognition of these typographic patterns, that renders them superior to other kinds of visual patternings.

There is a sense of cultural interia, tied to a received definition of authenticity, of what behaviors or signals mark "real" programming. It's taken persistent conversations, and a recognition of when someone is ready to hear this "novel" definition.
I would give the example of HTML creation tool. It is possible to write direcly the tags on a text document or use a a WYSIWYG tool like dreamwaver. Using a WYSIWYG tool will save a HUGE Time and it is accessible to everyone even with no background on CS. 
And after all, why programming should be difficult with typing code. 
Later I want to open a thread: Do we still need to write algorithm on a paper and than translate them into a programming language?I think with scratch there is no nead any more. 
Hope that it helps.

Jens Mönig
 Was Barbara Cartland a "real" writer? After all, she never used a typewriter but dictated all of her bestselling books.