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?

  • skami@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    There are other ways to structure and edit programs than just a bunch of source files that we manually edit through a text editor. For instance image files as in Smalltalk. I don’t see any reason why a visual representation couldn’t succeed in this regard. The issue, imo, is that text is really nice to work with, and it would require a very nice visual editing experience to beat the text based tools we have today.

  • Hexorg@beehaw.orgM
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    It’s not that they aren’t powerful enough - they are Turing complete and so can compute anything computable. But text-based programming tools have many many many many helper tools that we’ve developed over decades. Text-based programming is also more information-dense on the screen so it’s easier to keep references up to different parts of the code. Finally - it’s just a matter of adaptation - the reason keys on your keyboard are in layout they are is because 100+ year old typewriters used to get stuck more often with different layouts. And since text-based programming is an industry standard - I doubt it’ll change anytime soon.

  • Swimmerman96@beehaw.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    I work with something like this on a day-to-day basis. We make and production API endpoints on microservives using a largely click, drag, and fillout options style UI, using a functional language of thiers to transform data, this is all written to XML which is consumed by their engine to create a Java application that deploys into their cloud environment. We can also add custom written Java to fill in a few gaps here and there.

    It’s good for what it does, making creating API and consuming a variety of data easy. It does allow us to get down to business and start working with the design of the endpoints and manipulating the data off the bat. It’s only good at that though, it wouldn’t be any good at doing ML or creating an OS or writing a web browser Even with the stuff it’s good at, you can feel the limitations as soon as any real logic complexity is involved and it starts to cumbersome quickly.

    And I think that’s where those kind of “languages” will excel, it does this one thing that’s tedious with a lot of nittygritty boilerplate under the hood but that’s not too hard logic-wise well but that’s probably about it.

  • glad_cat9187@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    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.

    • BBloggsbott@beehaw.orgOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      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"
          }
        }
      ]