2015. november 18., szerda

Dust state

https://www.linkedin.com/pulse/critical-new-role-system-simplification-specialist-roger-sessions

Roger, I could not agree more, with one note: the definition of "mathematically". I have not the best feeling about that term, ending in complex expressions with weird characters. It is quite easy to frighten away programmers like me with that, even though I know that with proper handling, that is the best way to express something. And even though at one of my workplaces, they always told me "this is not university, it has to work!" But they gave me time to make it work, and used it. Good old days.

I think the situation is similar to where we were before John von Neumann.

At that time, reacting machines were made as custom logical circuits, and they had to fight for every second with the slow and thirsty hardware. Then he came with his brilliant essay saying "don't solve the problem as a whole, but separate the components that are required for a reliable IT solution, make hardware for that, and instruct them to solve the problem."

That must have looked stupid for all engineers: make it even slower and more complicated? But their actual designs simply could NOT be verified, optimized, not to mention being built into chips, they had to build everything with their hardware tools, and their knowledge was buried in the metal. Solving real problems with direct building was so complex itself that higher level constructs were simply over the horizon. Simply put: the complete approach was not industrial.

Replace the "hardware" with "big software components, toolkits, platforms", and you have the IT world today.

Everyone hacks together big "systems" from big and custom components, there is nothing that you could rely on because all is done individually by someone, upon (and locked to) constantly moving tools, chasing constantly moving targets. There is no reusable terminology and actually working toolchain that you can use to express your needs on a higher level, above being locked to your tooling.

That part should encapsulate the complexity of atomic segments of problem solving, and offer the solution in a global, uniform, usable and efficient way. Nonsense. Unless you spend 20 years on learning to see the structures instead of the solutions, and for example, separate the needed code from configurations and repetitions. Like me. Unfortunately but naturally, this separates me from "the rest of the world".

I can show you a prototype of a system that contains its own definition, and much of my knowledge about programming. It can generate its own Java sources and projects, but is "theoretically" independent from the language itself. I had to create it because its design is so complex that the only way to make it work is to let it actually execute its own configuration.

Of course, it is not different from the Wright brothers' "thing". It is just a bunch of hacks compared to the super-sophisticated trains that we use to "solve problems" today. Okay, okay, it can fly, but who cares? Or who would waste time to understand its weirdness? How does it carry anything? This must only be a toy, huh?

The first "real" question is: how do you sell it? Well, if you understand what it means, all big names would die to have it and lock it in a box, because it simply changes the IT business. The next is: does this ever solve a "real" problem? Come on, your "real problems" are BORING, and exist mostly because of short vision, unforced design errors and mindless cult-coding... ("... you are so rude, Sherlock" ;-) )

So, regardless of the trust I received recently, it's on the waiting list. I now write a frontend to a webshop for the monthly wages and watch "transit gloria mundi".