Are Programmers Scientists Or Just Really Weird Wizards?
Saturday • August 10th 2024 • 11:33:40 pm
I was once tricked into going to swag plundering event, opening of a carpet store or some such.
Where they gave away free pens, and staplers, or coasters, and other useless junk.
I don’t know what this company was thinking, I didn’t know people kept track of such events.
But it was interesting, and I discovered, the sales people imprisoned in the cubicles.
Who had to act nice, as not to ruin their lives.
Enjoyed asking the swag scavengers what they do for living.
Computer Scientist, I said before I could stop myself.
The man released a puff of air through his mouth, and murmured something about his printer.
I don’t think I am an actual computer scientist, bu I have been programming since I was a child.
And I don’t know what it is called, and yet scientific principle is what I use all the time.
I personally believe, that programming belongs to young people.
It is not a chore, but a necessity like reading, writing, and arithmetic.
And because, shool are profit oriented.
Whether the little teacher wants an easy paycheck, or the big university wants profit optimization.
Functional and authentic education, it not the top priority.
Today, I’ve been working on making HTML, which is a way to layout text.
Into a programming language, which is often a joke.
Where kids put HTML under programming languages, on their resume.
With frameworks like Svelte and React, HTML is all about programming.
I normally work on Visual Programming languages, where you drag and drop program components.
And then connect them with lines, so that you can see…
Where the output of one component, becomes input of another.
To make this visually simple, I need a simple application framework.
And while I was examining Svelte application building framework, I realized I don’t need it – I can make my own.
And so I set down to ask, what is a framework, compiler, programming language in 2024.
And the answer I came up with is a loop, a loop that iterates over lists of things.
But when not fed a list, it will still work, pretending to it self that it just received a list with one item
250 lines of code and a good chunk of a Saturday later, all my tests turned out to be successful.
Just the loop was enough to create a complex user interface, that automatically updates as its data changes.
I’ve decided, that in this experiment, all variables in the data structure I was looping over, were reactive.
Meaning whetter it is a list of things, or a thing, such as user, or the user’s name.
Whenever altered, it will announced a change, and the user interface I create with the loop will automatically update.
The procedure for such a thing is, find user named Alice in list of users change phone to 555-1212.
And that change, automatically propagates, to all the UI components showing information about Alice.
That could include the database on the server, as it is a tiny and flexible mechanism.
Now in my visual programming language, I can just visually create trees of data.
And they will be displayed, automatically, in the application builder and preview windows.
There is always a possibility I will encounter some big problem, but since this is a programming world.
There is always a way to rebuild some fundamental layer, and tip it in my favor again, so it is only ever a delay.
Scientist, a Hacker, a Cool Cat, whatever it is, it is my jam – it has always been fun – and never frustrating.
And I suspect, plowing through complexity, keep the mind really sharp, so it is a healthy challenge.
It takes a while to learn everything, but the results are like you see here - tiny little brilliant programs.
Building components that can create larger things, in my case a tiny operating system with a fun little application builder.
I expect that as my experiments draw to a close, it will be a desktop application that will build web applications.
A home laboratory, capable of deploying applications and service networks, for whatever reason the user needs them.
I have very unusual design principles in mind, the operating system, or development environment.
Is a zooming user interface, no taskbar, not even a mini map, just windows with useful tools and lines that connect them together.
Much the same way that various electronic equipment, is connected together in a laboratory setting.
Where things can be repurposed as needed, during each development stage.
Minimalism is a great power, and though code wisdom changes with decades.
The constant pursuit of code minimalism, is a reliable way to keep an application going.
People adore the Command Line Interface, PureData, HyperCard, WikiWiki, Visual Basic 6, and today’s Automator.
It is because it is easy to wrap the mind around their ideas, it is easy to see the full picture.
Once again I recommend learning programming, and starting with JavaScript and open source web technologies.
For all the broken schools in the world, programming will always be something that anyone can learn on their own.
By just searching the internet, for programming tutorials.