Programming with Stella? (pre-conceptual idea)
Rayman
Posts: 14,646
At work, we have a waveform manipulating macro language called Stella.
It's not really a programming language because it doesn't have loops or branches.
Still, I've wondered if it would be nice as a real language...
Anyway, attached is a program that takes a look at what a Stella programming tool might look like.
It's basically a grid where each row is like a line of code.
You could turn on an LED connected to an I/O pin with one row (see attached screenshot #1)
You could blink the LED with a few more rows (see attached screenshot #2)
The column labels change, depending on what selections you make and which row is selected.
I've stolen the background colors from the Prop Tool.
Anyway, this is perhaps similar to Blockly, but perhaps could be more functional (?)
Anyway, this Windows executable doesn't generate any output.
It's just something to toy with at the moment...
It's written in pure MFC though, so should work with Wine on Mac and Linux (at least, I think)
It's not really a programming language because it doesn't have loops or branches.
Still, I've wondered if it would be nice as a real language...
Anyway, attached is a program that takes a look at what a Stella programming tool might look like.
It's basically a grid where each row is like a line of code.
You could turn on an LED connected to an I/O pin with one row (see attached screenshot #1)
You could blink the LED with a few more rows (see attached screenshot #2)
The column labels change, depending on what selections you make and which row is selected.
I've stolen the background colors from the Prop Tool.
Anyway, this is perhaps similar to Blockly, but perhaps could be more functional (?)
Anyway, this Windows executable doesn't generate any output.
It's just something to toy with at the moment...
It's written in pure MFC though, so should work with Wine on Mac and Linux (at least, I think)
Comments
Just how hard do we want to make it to program something? As far as I can tell each line is a line of code in some language or other.
It's confusing:
How is "repeat" or "wait" a "pin function" as the column they are in suggests?
How is "forever" or "N milliseconds" a pin number, as the column they are in suggests?
I have no idea where the name Stella came from...
I'm wondering if it would be better to put the category dependent column labels on every other row.
That would improve readability at the cost of half the density.
I'll have to try that and see what it looks like...