Just popping in ![Just popping in](https://www.amigans.net/uploads/rank3e632f95e81ca.gif)
|
@ChrisH
As this is a general thread on AOS and its evolution, could you say a little bit more about "dynamic compilation"?
I presume it means that a generalised assembler like language, TAO's VP, is compiled to the particular processor on the fly, but that it is compiled for a particular configuration?
For a number of reasons I see scripting taking a central place. However, specifically compiled generalised code is a necessity (whether statically or dynamically - TAOs efforts have convinced me that the loss of speed in doing this is real, but practically negligible).
I would break things down into a number of connected but essentially independent aspects.
1) Hardware agnosticism, whether dealt with by "easy" porting or dynamic compilations. This translates into forms of software permanency as well as widespread application.
2) Software bloat, not just in terms of size, but overburdened functionality, needless code duplication, an intractable barrier for efficient usage.
3) Off the shelf do everything applications (related to point two), which effectively means adapting work to fit the the program, rather than evolve the apps to fit the needs of real world tasks.
4) Making the user into a mere appendage to software design (the cultural aspect of point two and three), the user needs the tools to dissemble and reassemble software components to fit tasks.
Obviously this last point will take time to evolve, but it begins by separating out the elements common to all software - the processing engine, from the form of presentation (GUI), the flow of data from pre-designed engines. Data handling and general flow control needs to be something that the experienced user can adapt and change.
I am against using scripting as a cure-all, it is not. Rather I want it to be the glue between high performance engines that can be harnessed together practically. There, if things are done properly, the processing overheads of the interpreted language, the simple flow control involved, is no deficit to speed at all - ideally, despite the interpretation, the processing is done within the manual mouse click (it is slower than compiled code but placed where this does not matter).
The design trick is in making truly generalised compiled processing "engines", cut down to their most efficient form.
A scripting language that is easy to learn (and remember) flexible, syntactically consistent (no specials), unbloated: Like LAU or REBOL, but not like Python, which has become overburdened by special extensions.
The last two bits:
5) A minimalist OS, to run all this.
6) A file system which "tames" and organises all the multitude of "bits and pieces" being shared.
|