Engineer’s New No-Code Programming Language Uses Visual Diagrams
Nicholaus Cranch has a dream. Imagine if you could draw programs — just like you’d draw a flow chart. Cranch has been pursuing that vision for decades, and he’s now proposing his own home-built, no-code solution that allows programming with visual diagrams. Among other advantages, it could finally unlock the full potential of programming for multicore processors.
As Cranch wrote in a recent blog post, “Maybe it’s time to reevaluate the way software is built?”
It’s not just a vision, Cranch said in an email interview this week. He’s already created his own IDE for writing in his KonneX language, which outputs non-hardware-specific code, “akin to machine code or Java byte code.” And he’s also built a new kernel for microcontrollers, which performs the scheduling and synchronization of tasks (as well as all the necessary object locking and error handling).
But what’s equally remarkable is just how long he’s been pursuing this dream. “Ever since around the early 1990s, I had been pondering on the idea of drawing programs rather than writing them,” Cranch added.
As it stands now, “We use charts and diagrams for pretty much any complex design,” Cranch explained on his blog “except programming…”
Visual Multicore Programming
Cranch sees an alternative where the arguments of a function become lines into boxes, and the function’s “return” statements become lines leading out. Errors can be also captured visually (just like functions throwing an exception). It’s a typed language — but with data types easily represented using colors.
And it’s something he’s very serious about.
“For years, I toyed with different ideas, trying to work out how it could be done,” Cranch remembered in his email. For more than four years, Cranch developed the idea, eventually completing a working prototype. Once he even pitched the system to Sir Clive Sinclair, a legendary tech pioneer in both personal computers and pocket calculators. Unfortunately, Cranch remembers, the idea “failed to spark his interest.”
Cranch recently detailed his vision in a series of blog posts, with titles like “A Picture Paints a Thousand Words.” But there are also other significant advantages. Cranch argues that computer code, in general, “was designed for a single CPU to follow a list of instructions” — which now handicaps its ability to describe multithreaded applications. “Multicore programming for programmers is, to be blunt, an absolute pain…” Cranch says in his email.
“Typically when a programmer writes a program, it will only run on a single core, so no matter whether the computer it runs on has 2 or 64 cores, the performance will be the same.”
So Cranch had an inspiration when playing with the Parallax P2 8-core processor. “One of the wonderful things about KonneX is its inherent ability to distribute tasks over multiple CPU cores without the programmer needing to know about it… I saw the opportunity to revive KonneX. The P2 is powerful enough to run KonneX and simple enough for a single individual to write sufficient code to make it viable for users.”
For decades California-based Parallax has been making educational accessories (including robotics kits). And fortunately, Cranch says they also turned out to be “a small and very approachable company. I demonstrated my old software, and was delighted when founder Chip and [CEO] Ken Gracey commented that they had tried to come up with something similar a few years back.”
So where do things stand for his KonneX proposal now? “The only issue was that my software was old, looked dated and barely ran under Windows 7. Chip suggested I go away, update the software and come back with a better product. So, that’s where I am now. I am currently re-writing my software in Java (so that it will run on Windows, Mac and Linux, rather than just Windows like the old version).”
And Cranch is also streamlining the IDE to make it feel more intuitive.
KonneX has other advantages. It also works across multiple CPU architectures. And it would breeze past issues with internationalization — since, as a visual language, it could be easily adopted in the world’s 195 countries. (Cranch bemoans the fact that currently “If a translator for a particular language is not economically viable, it doesn’t happen.”)
But Cranch’s vision is, in part, a commentary on the state of the industry today. “The cascade of updates rattles down the development chain upsetting everything in its wake,” Cranch’s blog post complains at one point.
And over the last 30 years, “The internet has made this worse. The fact that software houses can ship untested, shoddy code, knowing that they can simply supply an online update, almost encourages poor-quality software… Developers can now dispense with quality control and push the beta-testing directly onto paying customers, knowing full well that should there be further bugs, sending out a fix will cost them nothing.
“In the early days of software development, software was published on physical media, tapes, floppies, CDs and DVDs. The software had to work. Huge effort was put into software quality control and beta testing. The failure to spot a bug could sound the death knell of the software house. Issuing bug fixes and updates was an expensive process, so it was imperative that the software be right when shipped.”
In short, as Cranch writes, “It has all gotten very messy… I wonder how much productivity is being lost due to updates…”
Cranch’s own website describes him as a computer polymath who’s worked with computers since the 1980s, “a time without drop in libraries to do the complicated stuff. A time when you had to do everything yourself.”
Today Cranch is a developer, UNIX/Linux sysadmin and engineer based near Brighton, England who now works as a technology consultant. After years of experience, Cranch thinks he’s hit on a way to improve how code gets produced. “I believe that KonneX might be the next thing in programming,” Cranch says (while adding “I freely admit there is probably some bias there.”)
Cranch also thinks his KonneX system could help introduce programming to children. “Kids get it,” Cranch tells me (wondering if it’s because they’re “unbiased by preconceptions about what programming is.”) Another possible market he sees is the emerging market for home automation. “Every home is unique, as is every homeowner’s requirements,” Cranch says. “And manufacturers can’t possibly cater for them all.”
Cranch is also a prolific tech hobbyist, whose steampunk projects include a device that mechanically lowers a vision-magnifying loupe over his left eye (after using ultrasonic soundwaves to calculate distance and select an appropriate lens — plus a light-sensing resistor to adjust the aperture of a built-in iris.)
Maybe it’s fitting that this long-time steampunk enthusiast could be the one who ultimately tinkers with the very act of computer programing itself.
- At the open source conference “DevConf” a panel explores how open source projects can serve as a venue for education.
- Original “Agile manifesto” signatory looks back on its origins and other Adventures in Software Development Evolution and Revolution described in their new book. [Stack Overflow’s podcast]
- FTC solicits comments on cloud business practices, gets responses from Red Hat, Corey Quinn, the Chamber of Commerce, and the FSF.
- Bill Gates urges educators to create clearer pathways to careers.