The Readable Programming Language

Lisilogic, the Readable Programming Language

Client concept, specification, programmer tasks, code in the broader sense, technical documentation, user handbook: a normal software application gets described 6 times during its development Example.

  1. Concept

    ... Customer ... Profile ... Address ...
  2. Specification

    ... Customer profile:
    - Street
  3. Programmer task

    Implement customer profile, see specification
    Programmer: how long may be the address?
    Chief programmer: Well just take 50 chars for the street and 30 for the city, like the administrations. And 5 for the zip code.
  4. Code

    .sql CREATE TABLE addresses (id INTEGER auto_increment, street VARCHAR(50), ..., PRIMARY KEY id) CREATE TABLE customers (..., ADDRESS_ID, ...) .java @Table("addresses") class Address { ... @Column("street") private String street; public String getStreet() { ... } } @Table("customers") class Customer { @OneToOne("addresses") private Address address; ... } .xhtml <c:outputLabel id="lbl_street" for="it_street">#{intl.street}</c:outputLabel> <c:inputField id="it_street" minlength="5" maxlength="30" value="#{currentUser.address.street}" /> .properties street=Street ... ... ...
  5. Documentation

    ... Customer profile:
    - Street: 5 to 30 characters
  6. Handbook

    ... Customer profile:
    - Street: 5 to 30 characters
It is nearly impossible to keep these 6 descriptions coherent Example, X Compare the maximal length of the street in the previous example. and the very one description that is really effective (the code, that usually combines several programming languages like Java, SQL, HTML, XML, ...) is the longest, the most scattered and the most difficult to read.

The Lisilogic programming language answers this difficulty by being readable, even for non-computer specialists Example. X Each customer has an address. An address has: - a street, which is a string (min. length 5, max. length 50), - ... On the "Profile" page, the customer can: - edit his address's street, - ... - click "Save" to save. X With Lisilogic the code, the specification, the documentation and the user handbook are all one.

Key features and differences to historical "human decorated" Basic dialects:

Additional advantages of a readable programming languages are:

Lisilogic doesn't make the task of the programmers easier, but it doesn't make it more difficult either: Lisilogic's grammar is exactly as strict as any usual programming language, and the informations it needs are identically precise. The code is a bit more "florid" but less scattered and less redundant.
There are no more mandatory effect-free comments; clarity and cleanliness of the code are no more sources of reproaches and efforts, they become part of the job instead.
The interactions of programmers with other participants of the development process are more relaxed, because everybody understands what they've done.
Further advanced programming tools (Fully Structured Editor) are planned for the purpose of learning and to simplify the programming tasks.