You are correct.That form is valid C and C++ and makes perfect sense -- the trailing decimal point is sufficient to distinguish a floating point constant from an integer. This form is also acceptable in Rust and Go, so not just a characteristic of ancient languages.
Depending on the characteristics of the language, this form may make the language harder to parse, because of conflicts with other uses of '.'. This is why Haskell requires at least one digit after the decimal point and presumably why Nim has a similar requirement.
