I think I can safely say Fortran, by IBM, was the first compiled language; at least the first successful one. It had many interesting concepts:
Much of the generated code used "Floating Point" so instructions were generated to do input/output conversion to and from decimal.
The real tragedy is, this error is still used in most computer languages, even today. I would like to take credit for noting this error, but I was first aware of it when it was pointed out in a lecture given by Tom Osborne who could be called the father of Hewlett Packard calculators.
With spaces FORTH takes almost exactly the opposite point of view. Every word must be bounded by at least one space. Even though I find it a real pain, LaForth still had this space dependency. Incidentally, this is the one area where Bob Smith and I disagree. But it is not a problem. We are each willing to accept the other's being wrong once in a while.
When at RCA I wrote a Fortran IV parser to identify any
Fortran statement very rapidly, (this was in IBM 360 Assembly Language)
allowing names of any length. It is a religion
for me: a computer language should allow any length names. I
put this into LaForth and it was the first change to change the Fig
Forth, which allow names up to about 18 characters before it was
released. Initially FORTH in a way allowed long names, but kept only
the first three characters and the length of the name. This was OK to
just get a job done; but
was a disaster for a programming language. It meant that it could not
differentiate between such words as:
Bob Smith and I had both used APL (Another IBM product) it allowed names up to 128 characters. We both wanted to allow any length names in LaForth. It was done very simply: Names were just stored with a null character at the end. Actually the names were kept in reverse order to simplify other things.