Quora is a web site where members ask questions on a multitude of topics while others share their point of view in response. This came up in the Technical forum and needed an answer.
What is a disruptive programming language idea?
How about dispensing with programming language? Does that qualify? Would that disrupt the information technology industry sufficiently?
It has been something of a “holy grail” within IT to “program” by describing the requirements of an application rather than by interpreting the requirements into a programming language. Dani Richard (Quora – What was the most innovative programming concept? – July 2019) states
The utilization goal yet to [be] realized in common use is “code generation from requirements.”
That is the goal. It has been realized.
How do we describe the requirements of an application? As we have always done – by Analysis and Design. They can be documented within a metaprogram system as –
- Data having certain properties and usage characteristics
- Information; being collections of Data that have meaning within the application
- GUIs to allow users to interact with the application
- Sequence to allow the user to progress through the application in an orderly manner
- Tables to allow the Data to be recorded.
That documentation is not hard. The challenge is to use it in a metaprogram system to generate an application. I am not going into all that detail. It will take too long. It has taken me three years to code and more than 40 years to realise.
What does the metaprogram accomplish? It is targeted at “commercial” applications. It generates 99% of the code required for an application. It is generalised to the extent that it can be considered as a replacement for programming language. It generates 100% of the SQL required to record and retrieve Data from a database. Because the metaprogram uses the Analysis and Design, the application is always documented with up-to-date details. It applies “logic” (where necessary) through definition of two dimensional decision tables. It applies a “Black Box” structure where each application program performs one “job” and only one job.
Disruptive enough to qualify? Perhaps not! ENIGMA is not a programming language.