The Readable Programming Language


From the point of view of research, the main question of the Lisilogic project is: how to describe software with readable sentences and texts?

Of course, it goes much further than replacing some cryptic punctuation with little words: it wouldn't be satisfying at all just to replace "for($i=0;$i<=5;$i++)" with "for i from 0 to 5 do". The aim is to describe the application being programmed from the point of view of a (participating) non-computer specialist.

One can already find such descriptions of software in their specification documents, that are written for humans, but list everything that the machine needs and should do, and also in technical documentations, that explain to a human what the software does and how it does it. The aim of Lisilogic is to make these technical but readable descriptions effective, in other words: to make them be the application, instead of laboriously put together appendages of some effective but opaque code.

This question has been answered at an early stage of the project for most basic features of web applications, like data structures, user interface elements, roles and rights, processes/algorithms. The corresponding Lisilogic parsers and translators are in development.

Formulations are still in research for the following features:

Lisilogic stands resolutely against the idea to "define an application with a few clicks". Applications defined with a few clicks can't be documented and are very difficult to examine; as soon as the implemented workflow reaches above the most elementary, it becomes more laborious and much less understandable to build the application by clicking than with "normal" programming. Every highschool forms programmers for all-purpose programming languages; configurators for this or that system that promises applications in a few clicks are either expensive specialists who have learned this system in addition to normal programming languages or amateurs who learned it by themselves without bases...

Lisilogic considers graphical representations with reluctance. Every programmer knows those UML diagrams and workflow drawings big like a bed sheet and knoted like celtic art... Graphical representations that are automatically generated and exhaustive are seldom usable for a human; hand made graphical representations differ from the programmed part they intend to describe alone because they are simplified.
At some point, Lisilogic could generate tables and diagrams for documentation purposes, if this seems meaningful. They are rather unwanted in the programming language itself or as programmer tools.