Pardon My Turkey; Or, An XML Thanksgiving
Friday • November 29th 2024 • 12:08:00 am
Preface
This is not a sad thing, it is a triumphant thing.
I’ve been programming since I was a child, It is my hobby and profession.
I’ve never been able to find respectful employment, un-education has robbed people of class.
So like a proper scientists, I have retreated, to work on my contributions in private.
To me fitness is more important than work, so I am well proportioned.
But when the gym is over, I just sit down to work on my program.
Over multiple decades, I learned, that I can make Holidays my own…
By challenging myself, to writing little programming gems.
Rarely complete, or even related to my work, I program on holidays.
And today was just such a Holiday, I have enjoyed myself immensely.
I’ve learned a precious thing, and will remember it for life.
In a way my private little holidays never end, and always add.
An XML Thanksgiving
Earlier this year, being a hecking curious cat, I asked Artificial Intelligence about writing an XML parser.
XML is a way to represent objects such as Cat, Image, or Link, in plain old text.
You can efficently say, the webpage object has a link object, and the link object has an attribute that holds a web address.
So you can nest objects, as in webpage has a link.
And you can give objects attributes, as in link has a web address.
I will not bother you with the actual syntax, but to make nesting possible you open an object.
Put a bunch of objects inside it, and then you have to remember to close an object.
In other words two lines of text are required per object, an opening line and a closing line.
This is scary, infinities, multiple tags, and don’t know what you are opening and what is closing where.
And it seems like, it is a terrible idea, to even think about writing a program to tame this complexity.
But, shockingly, shockingly I say, parsing XML is so easy, that the parse is only 50 lines of code.
And conceptually speaking, it has only 3 concerns.
Detect the object, get attributes, and detect the objects nested inside it.
This inner detection repeats the process, it is a recursive process.
What I have learned that XML is not only special, because it is a wonderful way to create object hierarchies.
But also because it takes just a few lines of code, to write the parser – due to the extreme self similarity of the syntax, and processor.
Aftwerword
I work on the much despised next generation of programming languages, today they are called Visual Programming Languages or Low Code Inventions.
I am to ease the entry bar into complex programming, and my focus is on young people who refuse to pretend to learn in school.
Who want to learn for real, and want every piece of their effort to be clear to comprehend powerful and meaningful.
The current generation of programming languages, serves as a good starting point, but is riddled with mnemonics and code management tricks.
Models, Inversion, Patterns, all existing, because we have monkey brains, that are good at navigation.
And not so good at writing programs, for computers only.
The human friendly front-end human interface in a visual programming language, is just about connecting boxes together.
A process made even more friendly, with the use of AI.
The result, that actually runs on the server is a data network, in its basic implementation an Event Emitter netwok.
But the visual program adds in special data routing instructions, allowing programs to self heal from failures, to smartly reroute.
And introduce hidden concepts of queues that make execution efficient, and buffers that ensure the program does not overwhelm the sytem.
These concepts are not new, but they are hard to implement, and even harder to comprehend by multiple programmers.
In a visual programming world, they are easily tucked away behind a easy to grasp drop-down menu.
Lastly to the hordes of Visual Programming critics, to understand the power of Visual Programming…
You have to give up grunt work, all the stuff that yo always repeat.
And focus on producing results, and getting stuff done.
There are no User Interface Builders in Visual Programming, there are no HTTP libraries you use to make servers.
All these things are already done, you have a reverse proxy box, that you can connect to several http server boxes that each expose a routes.
Which are just more lines, streams of requests, carrying a response object that you modify.
All the big ideas from ORM and Access/PageMaker like Uis, all the way up to Dashboards, backends and Websites, all ship with a VPL.
They are boring, predictable, and each performs one large taks, and it performs it well.
For those who need customization, there is a bounty back-end, where programmers can collaborate with customers.
And network owners take a small percent, of the final payments.
Please don’t just critique Visual Programming, build your own service, where you can teach and prosper.
Don’t leave yourself behind, advance, challenge, innovate!
And above all let your contributions be meaningful, visible, whole, grand, and life changing – stand up, and stand out.
Don’t let decades pass you by at the office, make your beautiful art count for more.