I am Lorand Kedves (39) software architect and programmer from Hungary, and I have found the required qualities mentioned on your website a perfect match to what I do and how I do it. For example, as you can see in my CV among other stories, I have designed and implemented the major part of an abstract, modular framework for the agricultural management systems in Hungary, and I think its success (we were able to launch it in spite of the impossible time frames, and it is still in operation without major flaws in an extremely critical environment; the greatest current complaint from the programmers is that "it is quite boring" to make the new forms and processes) mostly depended on its structure, from the GUI frameworks to the core database management components.
I think you should be interested in my personal passion, the Dust Framework, on which I have worked ever since I have started programming. This is a generic software framework, perhaps quite similar to what you are working on, as far as I can understand your focus (knowledge domain, "language", etc.). The essence is a theory, that we have forgotten the most important lesson from Von Neumann. Before his architecture was born, computers were built to solve a specific task - for another task we had to build another computer those days. Just the same way, we build software to solve a specific task, and for another task we build another software (not to mention the several different, incompatible solutions to the same problem, and the continuously upcoming new versions).
Dust Framework is an experimental terminology, architecture and core operation set to do the same to the software making as Von Neumann had done to the hardware.
You can see many things here beyond the Wiki specifications, for example:
- I have separated the "data" (attributes and structures) from any storage method and actual programming language - therefore the actual implementation of the required service, to which its "own data" is connected via a core API (all the test applications are based on this);
- "The generic language processor"... I have made an assumption that a language can be described in EBNF form. I have created components to deal with the EBNF nodes (constant, sequence, repetition, ...) and an environment that is able to feed these nodes with objects (on output) and character events (on input). In this way, I have a generic serialization tool for ANY language, that can be described in EBNF (and of course, the language itself can also be serialized from its EBNF syntax description...) You can see the working Java sources here;
- "The program as JSON document"... Dust considers the software itself as a structure of service components, where the hierarchy of properly set up configuration objects "is" the application, and this is loaded into an environment that has actual implementations of the service components. Here you can see a C# test application, where I use source code to build the app hierarchy, but only to save that to JSON (because it would be hard to write that ugly format without help). When I actually start the application, I only load the JSON into this, otherwise empty frame, and I have a working application (now a sample for an advertising touch terminal). Sorry for the code quality, I started using c# three weeks before the last commit; and I have realized too late that the selected "JSON serializer" actually does NOT produce valid JSON file...
Side note: to my greatest surprise, I sense the same concepts behind the Apple / Cocoa / Objective-C environment, which I am picking up currently, because of a current "for-profit" work - but I consider that to be "the best wrong answer to good questions", because I think plain old C, with a proper IDE to build the rest will be enough (as long as we need C at all, because the program source is just an EBNF-compatible serialization of an algorithm node hierarchy, and this is used during compilation - so, it is not essential at all).
Reviewing your glossary, I think I am quite close to your aims here. The only problem is that I think "changing the world" is not a slogan, but an urgent need, and must be started with changing our mindset about "companies", "properties", "secret", "ownership", etc. This is why all my stuff is public and owned by my foundation, along my plans on how to change the world and why it can work (short version / long version). And this is why I am currently in a serious lack of money despite my (subjectively assumed) value...
What do you think about all this?
Best wishes
Lorand Kedves
Lorand Kedves