Nodebox + Blockly
There's a new project from Google called Blockly. Somewhat similar to Nodebox. I think it would be cool if NodeBox implemented stuff like this to make a full blown programming language.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by john on 07 May, 2018 05:17 AM
Hi Chris,
Lego brick tools like Blocky can make coding seem less intimidating for kids, but I don't find them very interesting as visual programming languages. Blocky is "full-blown" in the sense that it maps directly to five different established text-based languages, but that it also its weakness.
I think a truly visual language should fully use 2D space to more directly visualize coding structures. Blocky simply replaces each text word with the same word inside a colored rectangle. It is helpful in visualizing loop structures but beyond that does not really take full advantage of 2D space. It is stuck simply mimicking text in a literal way.
NodeBox is more deeply visual. Like Lisp and Cloture it is a functional language, so the computation naturally moves in one direction, thereby avoiding endless spaghetti-like tangles.
NodeBox is also already a "flow blown language" (almost). I've been using it for years both at work and at home and it can do most things that other languages do. You can also extend it with custom nodes written in Python or Cloture.
But there are three basic things it does need to become "full blown" in my opinion:
1. Recursion. Unlike most other functional languages NodeBox does not yet support recursion - which makes many algorithms which are easy to implement in other languages all but impossible in Nodebox.
2. End-user Interaction. NodeBox has one of the most elegant and powerful interaction systems I've ever come across - at design time. But it can only output still images and animations, so there is no way I can make D3-like interactive visualizations for end users using NodeBox.
3. Various missing features. Some functions common to most any other language are missing in NodeBox. On the top of this list is images: there is no way to display a pixel-based image in NodeBox. I don't expect to manipulate pixels in a vector-based tool, but it sure would be nice to at least place images as references to draw against or as static elements in larger compositions. Such features would not be too hard to add; the lack of image nodes is a particularly bizarre omission for an image creation tool.
Fix those three things and NodeBox would be a first-class language. Even without them it is my tool of choice.
John
2 Posted by Chris Vaccaro on 09 May, 2018 06:37 PM
Also, what do you think about turning natural text into code?
Something like this
https://youtu.be/j79uEItrsFk <https://youtu.be/j79uEItrsFk>
Another example is Google. When you google “Where is the nearest Starbucks” it translates that into what you mean. What do you think of something like a “Fuzzy” programming language.
2 plus 2 <https://www.google.com/search?client=safari&rls=en&ei=MzfzWqi3E8rOjwSy95pQ&q=2+plus+2&oq=2+plus+2&gs_l=psy-ab.3..0i67k1j0l9.5653.7175.0.7503.8.5.0.3.3.0.163.686.0j5.5.0....0...1c.1.64.psy-ab..0.8.750...0i131k1j35i39k1.0.b8kqaTK_78c>
In a programming language like python you would have to type that exactly perfect, like 2 + 2. What about a programming language that doesn’t have to be so exact.. one that just can figure out what you mean usually. It’s funny because everything else on computers are so advanced… if my grammar is wrong, MS Word fixes it. But if i miss one comma in python it’s like ‘wtf’… i think a language that didn’t need to be so exact would cut down the stress of programmers enormously.
Something like that could work alongside the nodes so people could switch back and forth between the two. I mean we have systems to turn language into code all over the place. Google, Siri. Don’t see why we can make something for programmers