A Fistful Of Pickles; Or, Programming Stuff Shouldn't Take Very Long
A Fistful Of Pickles; Or, Programming Stuff Shouldn't Take Very Long

Sunday • November 19th 2023 • 11:17:34 pm

A Fistful Of Pickles; Or, Programming Stuff Shouldn't Take Very Long

Sunday • November 19th 2023 • 11:17:34 pm

When programming takes too long, it means that there aren't enough tools.

Programming is a desperate science, and it is often true that programming bare bones are best.

But complexity is always increasing, and what is bare shifts as well.

There is a lovely and rebellious movement, called Behavior Driven Development.

Where people speak a subset of English called Gherkin (as in pickled cucumber) and describe what they need and how it should work.

And then real programmers bind that text, to code.

If that text changes, the code will need to be rewritten.

Well it just so happens, that 2023 is the year of AI.

We don't have it yet, we may not be close.

But thanks to the language models, we can get a good idea of what it will be like.

Now what we do have, is good enough for subsets of English.

That means, the language models can attempt, to create the code that BDD describes.

That means it maybe possible, to create programs in just BDD.

But even with AI, what do you say, and where do you start.

You start with Visual Programming, and Packet Based Programming.

Where you send packets through Filters or Actions, that Transform them, or form into multiple wires.

Visual programming languages, demand high level actions and filters.

So that instead of talking about querying a database for users, we can just drop a Box that represents a stream of all users.

That then can be filtered, rerouted, transformed, and altered.

Up until now, the best we had, was making high abstraction visual programming nodes.

With low level visual programming, that would call for writing functions.

This is very good, luxurious even, but it takes time, planning, implementation.

By introducing BDD to Visual Programming, we can describe a Visual Programming Action in English.

Send it to a programming AI, and see if the solution passes tests.

Here, we can focus on describing Actions in English, without any programming.

It is still not perfect, but the result is the entire internal communication network.

That is normally obscured inside programs, is not only visually mapped out and editable.

But gets done, long before the UI comes into question.

User interfaces are traditionally built by using nested boxes, as in the button is in a footer, footer in a form.

The form is in the main area, the main are in the body, and the body in the view-port, and in a window.

The Chat user Interface, or Conversational User Interface, shows that something as complex as a form with logic.

Can be filled out, by a bot interrogating the user.

There is more to discover in this ares, taking to multiple bots over email is another kind of Conversational UI.

Some programs don't need User Interfaces, rewriting web pages is about tiny program internal to User Scripts.

So the Visual Programming pipelines, is all it takes.

Database browsing programs, just need a cursor, search box, and a form builder.

Visual programming language, with nodes that represent, departments, or department managers.

Can go a long way to automate a company, here some nodes would represent an actual person.

They would be part of the Visual Program workflow, a slow Action, that instead of a CPU uses humans.

And finally, the Visual Programming Canvas, is a user interface as well.

The end user simply demands high level actions, so that they can connect temperature to furnace control.

And instead of hoping to find an app, just make the feature they need.

If Visual Programming was more popular, and nodes were made with BDD and AI or even Code Bounties.

Creating programs for home of business, or programs that make business would take a lot less time.

It used to be that clicking view source on a web page, would reveal the bare bones.

But today, we should be able to view, the intern communication network of an application.

Represented by a visual programming language, that easily allows adding or requesting new features.

Artwork Credit