💾 Archived View for ggg.karleklund.se › ideas-for-computers.gmi captured on 2023-11-04 at 11:04:41. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-09-08)
-=-=-=-=-=-=-
A programming language where there is no difference between source code and object code. The visual representation of code is a projection onto machine code. "Compile" and "Save" are the same operations in the program editor. Disassembly is the same thing as "Opening" the program in the editor.
Metadata like function names, variable names etc will a be part of programmer tooling rather than source code. Unfortunately, this tooling artifact (a file with names of variables, functions and modules) can be withheld when supplying the program to the user and can be sold as a premium product, perhaps called "source code availability". Curious but less affluent users would have to make up their own names for structural items in the program.
There can be no obfuscation. Possibly the programming language vendor can create an "enterprise" version that encrypts interesting sections of the program at the "Save" operation and decrypts them when running or "Opening" the program, and the user would have to use special tools to extract the decryption key out of the object file in order to open the program in the editor if the program manufacturer has not provided it to them along with the object code.
A software lifecycle where when you make a change to a program in the text editor, the change immediately affects the user, or as fast as an automated process allows, under certain conditions.
There needs to be no:
In order to achieve the desired level of quality assurance (reduce time between failures to a lower interval), depending on the domain, we can have any of:
These are steps of the automated deploy process or operation.