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.

  • glad_cat9187@beehaw.org
    link
    fedilink
    arrow-up
    0
    ·
    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"
          }
        }
      ]