2 ms·
Microsoft's "Touch Develop" research project from a decade ago was actually amazingly productive and usable. It made each separate part of a line of code into a
by russellbeattie 4y ago
Microsoft's "Touch Develop" research project from a decade ago was actually amazingly productive and usable. It made each separate part of a line of code into a selectable element, and used predictive analysis to guess what your next entry would be with surprising accuracy. So, for example, if you've already created a variable within a specific scope like a function, when you've come to a point in a line where a variable would be useful like "a += [variable could go here]", you could just tap-select it from a list. Since the named elements were kept track of, you could select and rename a variable or function and it would automatically be changed everywhere. You could grab whole functions like this and move them around as needed.
It had some clunky bits and had to use its own language, but I've been surprised some of the ideas of the system hasn't made its way into normal IDEs. The key advantage is that you never had to worry about syntax. You couldn't forget a semicolon, because you were never typing out a line, just picking and choosing from options, while still piecing together a line of code as you would if you were typing it out manually. It was a higher level than normal coding, but well below something like Blockly. I think for beginners - who really struggle with syntax - it was brilliant, and even for more advanced developers it would be sort of handy not having to do find/replace or copy/paste and missing that last bracket or whatever.
Conceptually, imagine that instead of writing out a line of code as a text sentence, you were assembling the program's syntax tree by choosing from a pile of premade items you've created, and then being able to grab whole branches at a time and manipulate them. It was an interesting experiment.
https://www.microsoft.com/en-us/research/project/touchdevelop/ https://www.microsoft.com/en-us/research/project/touchdevelo...