I looked at this a while ago while seeking out a good language for my daughter to learn some simple programming with. While I liked it, I can't help feeling that all these "visual" substitutes for programming languages are counter productive. It is so tedious to create even simple loops and logical structures. Consider a simple for loop such as in python:
for thing in ["cat","dog","tree"]:
print thing
I can explain this to her and she can run it and see it do something, modify it in small ways, etc etc. The same thing in TouchDevelop actually looks more complicated and is harder to experiment with. I feel like we should teach computer languages as languages and not try to turn them into lego blocks.
I'm curious if others feel the same way or not? Have people had success starting with something like TouchDevelop and then transition to a non-visual language? Or do kids just get good at playing in the visual sandbox and never make the jump?
Granted, it's not the same, but my programming career started with RPGMaker. It's a point-and-click interface to make simple 2D RPG games for Windows. Much of the point and click interfaces let you create programming constructs like if-else conditions, go-to statements, and loops.
I was intimidated by the idea of using a real language, instead I liked just pointing/clicking my way through things. This was the case until I wanted to make something sufficiently complicated that doing it in RPG Maker would create spaghetti code.
For me, after spending years playing with RPGMaker 2000 (I was 11 when I started), moving onto a real programming language like Python was completely effortless. It was a transition from "I need to click this to make this if-condition" to "I need to write this if-condition here".
I'm curious if others feel the same way or not? Have people had success starting with something like TouchDevelop and then transition to a non-visual language? Or do kids just get good at playing in the visual sandbox and never make the jump?