![[Photograph of Neil Fraser]](neil.jpg)
I worked for three years as a programmer at Ingenia in Ottawa, Canada. Then I moved to Scotland for seven years where I founded Digital Routes. Now I'm a software engineer at Google in California.
Over the years I've created a mélange of open-source software. I've also built some rather unusual hardware. On rare occasions I've even been known to write something interesting.
Last week MIT hosted a meeting with the developers of several different graphical programming languages. The discussion was extremely interesting and raised some great questions about these languages.
Graphical programming languages have been at the fringe of computer science for a couple of decades. They mostly inhabit a niche in the educational community, teaching CS concepts to new programmers. Routine syntax errors are incredibly frustrating to new programmers. Don't forget that semicolon. Don't forget to close the quotes. Balance the parentheses. Graphical programming languages can be designed to have no syntax errors. This removes the initial mechanical frustration and lets new programmers explore if statements and loops without the aggravation.
Education is not the only use case. As computers become woven ever deeper into our lives, more and more non-CS people need to be able to write scripts. Such as secretaries using macros in spreadsheets. Or managers writing email filters and auto responders. Or sales people controlling ad campaigns. Even expert programmers benefit from graphical programming languages in new environments since they don't need to study the API. Instead they can just start dragging the available blocks from the toolbar. In a way, graphical languages are the opposite of auto-complete: they help you get started rather than helping you get finished.
Here are some of the questions raised at the meeting which particularly interested me:
My feeling is that graphical programming languages have the potential to be far more useful than they currently are. The field is wide-open for innovation. What's needed is a tremendous amount of diversity and experimentation. You can bet that this won't be my last post on the subject.
Older news: Busted - EncodeURI - Airship Tails - Justice - Archive