Slashdot Mirror


New 'Asciidots' Programming Language Uses Ascii Art (And Python) (github.com)

An anonymous reader quotes Motherboard: If the esoteric programming language Asciidots looks like a mess, it is at least a very different-looking and even aesthetically pleasing mess. Simply, its mechanics and syntax are based on Ascii art... Asciidots is a unique sort of programming language known as a dataflow language. In this sort of language, we can imagine units of data (like our variable x) following a data go-kart track that's interrupted in different places with pit stops that change the value of the data go-kart that's following the track around. One pit stop might add 1 to the variable, while another might chop it in half. At some points, the track might even split, with the data go-kart picking one fork depending on its current value. If, say, it's greater than 2 it might go left; otherwise, it goes right...

In Asciidots, the aforementioned go-kart track is represented by lines (|,-,/,\)... Most of the other non-line symbols are mathematical operators, but there are also symbols that direct the program to request input from the user, set values, print values, and change the direction of the unit of data... Under the hood, Asciidots is a Python program. An Asciidots program is just fed into that underlying program and digested into normal Python code, which is then executed.

The article includes some examples, and argues that esoteric esolangs like Asciidots force programmers to consider fresh perspectives. And in addition, "it looks really cool."

28 comments

  1. It's been done by Smidge204 · · Score: 4, Informative

    RUBE is 20 years old...

    https://github.com/catseye/RUB...

    Though if you want something that looks like art, there's also Piet:

    http://www.dangermouse.net/eso...

    =Smidge=

    1. Re:It's been done by phantomfive · · Score: 3, Insightful

      Yeah, I thought it would be lame, but seeing how the code flows and watching it execute is kind of cool, actually. The ascii art turns into a kind of flow chart. It's like a map of the execution of the code, and you can watch the program counter travel through, like a car in a small city. It's just a toy but it gives me ideas for visualization that might work in larger, more realistic, projects.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:It's been done by MangoCats · · Score: 1

      Watching an animated 6502 emulator run a program is cool and entertaining too...

    3. Re:It's been done by Anonymous Coward · · Score: 3, Interesting

      You ain't lived until you've watched your deck of punched cards get sucked through the card reader. Godspeed little cards! And pray that none of them jams.

    4. Re:It's been done by phantomfive · · Score: 1

      And wished you had earplugs to deal with the drum memory......

      --
      "First they came for the slanderers and i said nothing."
    5. Re:It's been done by sensei+moreh · · Score: 2

      You ain't lived until you've watched your deck of punched cards get totally randomized because you dropped them on the floor. I know. I've lived.

      --
      Geology - it's not rocket science; it's rock science
    6. Re:It's been done by sysrammer · · Score: 1

      You ain't lived until you've watched your deck of punched cards get sucked through the card reader. Godspeed little cards! And pray that none of them jams.

      Sorry. You put the JOB card in the wrong order. Try again later.

      --
      His ignorance covered the whole earth like a blanket, and there was hardly a hole in it anywhere. - Mark Twain
    7. Re:It's been done by Anonymous Coward · · Score: 0

      So did I, that's why I numbered my cards by hand.

    8. Re:It's been done by hraftery · · Score: 1

      Heh. It's nothing like either of those. Really worth checking out for its unique properties.

    9. Re:It's been done by Anonymous Coward · · Score: 0

      Did you ever try a diagonal stripe on the side ?

  2. Slashdot Lives! by __aaclcg7560 · · Score: 1

    Bow down to your ASCII Goatse Overlords!

    1. Re: Slashdot Lives! by Anonymous Coward · · Score: 0
  3. This is what happens.. by sheramil · · Score: 1

    .. when people learn how to code by playing Minecraft.

    ... we can imagine units of data (like our variable x) following a data go-kart track that's interrupted in different places with pit stops that change the value of the data go-kart that's following the track around.

    I don't have a problem with that. I just wish we had a kind of hopper that fed upwards as easily as it feeds down.

    1. Re:This is what happens.. by Anonymous Coward · · Score: 0

      Sounds a little bit like a TTA, or clasic data flow. Why the need for the mine cart explanation?
      It only confuses the situation.

    2. Re:This is what happens.. by Anonymous Coward · · Score: 0

      The main thing that bothers me is that people doesn't seem to grasp the difference between a language, an interpreter and a compiler.

      Under the hood, Asciidots is a Python program. An Asciidots program is just fed into that underlying program and digested into normal Python code, which is then executed.

      That is clearly just true for one particular implementation of an Asciidots compiler.
      Well, at least this appears to be a fairly documented language.
      A lot of the times when someone puts together a "new language" is is pretty much just an interpreter without a well specified function.
      If someone else can't take the language specification and write a compatible compiler/interpreter I am reluctant to call it a language.

  4. Befunge by pushing-robot · · Score: 4, Interesting

    Is this really so different from Befunge?

    --
    How can I believe you when you tell me what I don't want to hear?
    1. Re:Befunge by spaceyhackerlady · · Score: 1

      Or, for that matter, Brainfuck?

      ...laura

    2. Re:Befunge by Tablizer · · Score: 4, Funny

      "Pyfuck". Reminds me of a joke:

      A little girl goes to a pet shop and asks, "Excuthe me do you have any widdle wabbits?" The shop keeper's heart melts.

      He gets down on his knees so that he is on her level and says, "Do you want a widdle white wabbit or a thoft, fwuffy, bwack wabbit, or one like that widdle bwown one over there...?"

      The little girl blushes, rocks on her heels, puts her hands on her knees, leans forward and whispers . . . "I dont weally fink my pyfon gives a fwuck."

    3. Re:Befunge by tietokone-olmi · · Score: 1

      Or SNUSP, the other path-routing esolang?

  5. 10 points by Anonymous Coward · · Score: 0

    10 points for originality.
    Minus several hundred points for readability.
    Minus several million points for maintainability.

  6. Javascript as art by globaljustin · · Score: 0

    Good info.

    To me Javascript has always looked like an abstract impressionist version of M C Eischer's work.

    --
    Thank you Dave Raggett
  7. Is it memory and thread safe like Rust? by Anonymous Coward · · Score: 0

    It's an interesting idea, but is it memory safe and thread safe like Rust is?

  8. I imagine you'd write better code with Inform7 by Presence+Eternal · · Score: 4, Funny

    A variable is here. It is a number. "A positive integer between two and four." It is very dark. You are likely to be eaten by a grue.

  9. .. sadly.... by lkcl · · Score: 1

    ... the beauty of ASCII art is completely lost on the windows and macosx n00bs of yestercentury, what with all these GUI-based apps all using FUCKING VARIABLE WIDTH FONTS. *sigh*...

    1. Re:.. sadly.... by phantomfive · · Score: 1

      Look at gitlab, they have ascii art all over the place in their developer tools (open source).

      --
      "First they came for the slanderers and i said nothing."
  10. Blank web page? by antdude · · Score: 1

    https://motherboard.vice.com/e... show up blank in my SeaMonkey v2.48 web browser. I had to turn off my uBlock Origin to view it. :(

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
  11. Seems very similar in concept to Rail by KeithIrwin · · Score: 1

    It's more compact, but the control flow seems very much like Rail.

  12. Anyone remember Prograph? by danberlyoung · · Score: 1

    It was a dataflow language back in the early 90's. I think I still have the floppies and manuals for it somewhere. https://en.wikipedia.org/wiki/...