What is the difference between reading code and writing code?

Reading code starts with syntax and ends with semantics.

For example:

The compiler (or you) reads 0X3.14159L and says:

Syntax:

    0X       3.14159   L
    |        |         |
    +--------+---------+
    |
    "expression / literal / floating / hexadecimal / long double"
        attribute: value: 3.14159

Semantics.

Writing code starts with semantics and ends with syntax.

For example:

You want to express the semantics "expression / literal / floating / hexadecimal / long double" whose attribute "value" is 3.14159:

  1. You create the semel "expression / literal / floating / hexadecimal / long double".
  2. You set the "value" attribute to 3.14159.
  3. The Semel Editor (TM) adds the leading 0X and the trailing L during codification.

Semantics:

    "expression / literal / floating / hexadecimal / long double"
        attribute: value: 3.14159

which is codified as:

    0x3.14159L

Syntax.

The processes of reading code and writing code are inverses.

The Semel Editor (TM) facilitates the process of writing code.