What are the programming tools that are not made u...
# thinking-together
e
What are the programming tools that are not made using text files ? Is there any recent one ? edit : by text file I mean anything that feels like a text file to the user editedit : I mean that it's the programming tool itself that's not implemented using text files
🤔 1
t
BPMN is my favourite (in production) text/diagram duality. Its a much better UML in my opinion https://www.bpmn.org/
j
There are a lot of node-and-wire tools out there. BPMN is in that category, I think. There are also the puzzle-piece methods like Scratch and Blockly, which is where I have put most of my efforts. But for some definition of "programming tool", you have to count Minecraft Redstone, as the only widely used 3D programming tool. 🙂
i
Does a spreadsheet feel like a text file? I'd say yes, but I'm just trying to narrow the selection criteria.
👍🏻 1
e
Ok I didn't formulated my question like I intended. I meant a programming tool that's not programmed using any text file. I guess that the first programming tools were made using punch cards ?
A spreadsheet... I'd say yes ?
t
You can program industrial robots by pushing them around in zero gravity mode to input the keyframes (kinesthetic-guidance)
amiga tick 2
e
Ok, these are indeed ways of programming that are different, but is there any programming tool made with something different like this ?
e
omg how did you think of that 😂 yeah, yeah that counts
j
yay!🎉
j
Lots! Some of my favorites: Enso: https://enso.org Scratch: https://scratch.mit.edu Tangible FP: http://conal.net/papers/Eros/ Airtable: https://www.airtable.com And perhaps check out ITTT/Zapier
e
Let me try again, is this a better formulation ? There are plenty of ways to program computers without needing to manipulate text files. But what are the programming tools that have been made with such alternatives, without the use of text files ? Not necessarily a whole environment, maybe just a simple little widget that somehow helps for programming. Maybe, I don't know, it has been made using punch cards, or maybe it's for education purpose, like what @Jason Morris linked to. (@Ivan Reese yes I have extended my question's reach 😛)
a
E.g. a dev tool built in Scratch? Almost like there are two layers of "non-text"-ness?
e
yes ! 🎉 Exactly 😄
👍 1
k
Is the spirit of your questions about how far non-text generalizes? That maybe it has a low floor but also low ceiling?
e
hmm my opinion is more that we haven't actually tried to cut our ties to pure text files, yet
👍🏽 1
I even believe that once they'll be clean cut, things could go very fast
❤️ 1
k
It's a bit of a chicken and egg problem.
☝️ 1
c
If such a thing exists I think it would either be a pointless geek-gizmo (e.g. Piet interpreter written in Piet), or "mod"/subset type thing where the second tool is very similar to the thing is was made in (i.e. Mario Maker in Roblox)
k
Nobody mentioned Smalltalk so far. Not exactly recent, but people are still working on and evolving it.
e
Woah, super roblox maker is impressive, it wonder if there exists others "editor mods" like this I never used Smalltalk, but to me it seems that it's very dependent on text files, no ? How much can one do with a regular text editor that's not within smalltalk ?
k
With the exception of GNU Smalltalk (which is the outlier that nobody seems to use anyway these days), Smalltalk implementations do not use text files at all for their core operations. All code and data is part of "the image", which is a persistent object database. Development tools live inside the image as well. A regular text editor is not of much use for using Smalltalk.
e
mmh, ok I see from an object standpoint, everything in Smalltalk is an object, but from a 'text' standpoint ? Could we also say that it's a complex hierarchy of text-based code, and that's what describe all objects and their behavior ? My question is, how much of it can come down to text in hierarchies ? How far from text files are we ?
k
There is no "text standpoint" in Smalltalk. The closest you get is a string object. Textual code exists as method objects, which store a text representation and a compiled code representation. The overall code structure is an object tree (class hierarchy), of which methods are the leaves and the only nodes that have a text representation. You can of course represent Smalltalk code as text files. That's what GNU Smalltalk does. It's also what Pharo (the Smalltalk that I use) does for storing code in git repositories. (see https://github.com/khinsen/GT-OpenAlex/ for a small example). But I hardly ever look at those text files. They are an implementation detail.
e
I see Can you build anything interesting without manipulating text ?
k
In Smalltalk? No. Anything non-trivial requires writing some methods, which are written as text.
s
@E. Lop A tool made in Roblox doesn't quite fit your definition because it would have been made using text. Roblox has no visual scripting and uses Lua for almost all dynamic behavior. There is often an assumption that Roblox = end user programming = visual scripting of some sort, but that's not the case. It works more like a traditional game mod system really
Unreal Engine has tools for building art pipelines that are largely Blueprint driven. Maybe not 100% what you want but interesting. https://docs.unrealengine.com/4.27/en-US/ProductionPipelines/ScriptingAndAutomation/
Tools like Houdini, Notch, Substance Designer, Blender nodes, etc. are designed for this. Make nodes that create tools that can create procedural artwork
d
Turing Tumble allows for programming just by moving little plastic pieces around. https://www.turingtumble.com/
I am surprised there is not yet a lego based programming language, where you take actual lego blocks, and their configuration specifies a program.
s
There is at least one prototype

https://youtu.be/kRTsk7SAKMs

🤯 2
j
Hot damn that is delightful. Reminds me of the way that sound engineers use patch cables to combine effects modules, which has always seemed like it would be so much FUN.
💯 1