Allow compiler to name variables, (database) fields, ... to be named like keywords. Example: "DEFINE VARIABLE value AS DECIMAL NO-UNDO.", "Entry", "Color" and much more.

And yes i know "you can use the progress supposed hungarian notation": let me quote the linux community: https://www.kernel.org/doc/html/v4.10/process/coding-style.html#naming .

Examples why:

------------------------------------------
DEFINE TEMP-TABLE Vehicle NO-UNDO
    FIELD Guid      AS CHARACTER
    FIELD Type      AS CHARACTER
    FIELD Model     AS CHARACTER
    FIELD Color     AS CHARACTER
    FIELD GuidOwner AS CHARACTER
    /* ... */.

DEFINE TEMP-TABLE NumberRange NO-UNDO
    FIELD Guid                AS CHARACTER
    FIELD TenantNumber        AS INTEGER
    FIELD TableName           AS CHARACTER
    FIELD GuidOfTableName     AS CHARACTER
    FIELD Type                AS CHARACTER
    FIELD StartValue          AS INT64
    FIELD EndValue            AS INT64
    FIELD IncrementationValue AS INT64
    FIELD Value               AS INT64
    /* ... */.
------------------------------------------

Yes in that cases we renamed these field designations to "Color_" and "CurrentValue" - but the other keywords seem okay (Guid, Type). It's a bit of poker everytime your designing such tables (and i'm sure almost nobody knows all of these 1575 (!) keywords and which of them are reserved and which not).