this post was submitted on 02 Jun 2023
7 points (100.0% liked)

Programming

13376 readers
1 users here now

All things programming and coding related. Subcommunity of Technology.


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 1 year ago
MODERATORS
 

Do you think they can be powerful enough to build production-grade applications some day or are they going to stay as educational tools or build into specific applications forever?

you are viewing a single comment's thread
view the rest of the comments
[–] glad_cat9187 7 points 1 year ago* (last edited 1 year ago) (2 children)

I've tried some and it's less powerful, annoying, you need proprietary tools because showing graphics is way more difficult to do than writing a parser, and you can't store your "source code" or show diffs and commit your modifications. So, unless I see one which is free and open-source and good, I don't really believe it will happen.

[–] Mars 3 points 1 year ago

Some low code tools like app smith are git compatible. Most visual programming tools in the end are JSON generators…

[–] BBloggsbott 2 points 1 year ago* (last edited 1 year ago)

I felt the same. I am working on a new visual programming language (will be making it open-source) as a side project to kill time. I want it to be able to write any generic code. But I suck at front-end development so I was wondering if anyone would be interested in collaborating.

What I'm building can't show diffs or do commits (yet, these are good ideas), but you can extract the source code, share it and run it somewhere else.

The current state of the project is

  • It supports Int, String, Float, and Bool types
  • Arithmetic operations are supported
  • Variables can be assigned and used I am currently working on implementing Lists and Flow control (if/else and loops)

My vision(?) for this is to be a good place to learn and continue programming while also making it easy for the user to transition to a normal programming language like Java or Python. For the latter I am trying to achieve this by using very similar and in most cases, the exact same terminology and concepts for the design of the language.

I don't have a UI yet, but this is what the API call and the exported source code will look like

[
  {
    "description": "a = Int",
    "type": "Assignment",
    "name": "a",
    "value": {
      "type": "Int",
      "value": 30
    }
  },
  {
    "description": "b = Int",
    "type": "Assignment",
    "name": "b",
    "value": {
      "type": "Int",
      "value": 40
    }
  },
  {
    "description": "a + b",
    "type": "Plus",
    "left": {
      "type": "DefinedVariable",
      "name": "a"
    },
    "right": {
      "type": "DefinedVariable",
      "name": "b"
    }
  }
]