all 5 comments

[–]zyxzevn 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (0 children)

I disagree with this statement.

While I agree that most software-tools have been build for specific cases, it is not so difficult to make general case or even system software with a graphical interface. The biggest problem in using it, seems how other solutions deal with state.

My design for such a language is at reddit:
http://www.reddit.com/r/unseen_programming/

The blocks in this case are text. You can put C or Python in them, I don't care. But the basic of a block is that it is a function or micro-service. And the functions are pure/stateless.

The actual low level coding can also be done with function-blocks. Just like hardware-design languages like VHDL. And to make it a lot simpler, the connections between the blocks can be streams as well.

And combined with types, you can create functional programming constructions very easily with them. This is very unlike the C and Python programming that we are used to. But much more like Excel.

The second step is that these blocks can be reused in many different ways. You can change the types. Insert new blocks. Change components inside the function. Or whatever. In OOP this would be inheritance, but I see them more as copies or templates. Copies if the design is not clear yet.

The graphical system has 3 programming layers: Architecture(what?), Timing(when?) and Functions(how?). These are 3 different styles of programming that interact with each other. C/Python only define the functions. What? describes the architecture and data and relationships. In databases we can usually do that, or in Prolog. When? describes the timing, using events and state-machines. Some graphical systems can already do that. How? describes the functions, which can be solved with a data-flow diagram in most cases. Some programs do not need functions(how) or even timing(when), because the compiler can derive a solution from the definitions (architecture) alone.

The system also has other layers: Test, Types, Optimisations. All layers have their own comments.

I encounter very different problems as one building a new compiler. 1) I need a compatible graphical system with a good editor. Only a web-browser seems to work on every computer. 2) I want life coding after a block is completed. And optimised compiling after a fully completed diagram. 3) Internally the streams need to be replaced with loops. This is a bit more difficult in a graph than in a text. 4) The program has many layers (architecture, timing, functions, testing, types, optimisations, etc.)

The complexity is similar to building a modern web-browser. That is why no-one has made one yet. And to prevent failure I first want to make the design perfect / good enough.

Current state: I am satisfied with the functions layer, but not with the rest yet. On paper: I translate the diagrams to C or javascript. Replacing streams with loops can make it as fast as C, but it works only for a few variations, before it becomes too complex.

Feel free to add your own ideas on the subreddit.

[–]Vigte 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (2 children)

As an outsider to (modern) coding (since I gave up on trying to figure out "pointers" in college) - could someone explain what codeless software is? Is it just... kind of "baked in to the processor" - single function electronics?

It seems like an impossible comparison! Software is code, so how can software be codeless?

[–][deleted] 2 insightful - 1 fun2 insightful - 0 fun3 insightful - 1 fun -  (1 child)

I think they mean a general purpose system that is so good that you don't have to hire programmers to do custom stuff with it. I've never really heard of it before, I don't think it's too popular of a term. "Serverless" services (servers) is somehow becoming a thing though.

[–]Vigte 2 insightful - 2 fun2 insightful - 1 fun3 insightful - 2 fun -  (0 children)

Thank you!!! I was honestly wondering what I had missed...

I was like, what's next, DNAless humans?

[–][deleted] 1 insightful - 1 fun1 insightful - 0 fun2 insightful - 1 fun -  (0 children)

Salesforce has done well with a general purpose app although they have a big development ecosystem involved as well. Maybe in 10 years AIs will be writing these straightforward web apps and coordinating integrations for us.