a long time ago, when computers were large, and they had a small typical memory (16Kb, 8Kb, 4Kb and even less), the developers were very perverted to fit into a small memory.
parsing is greatly simplified if all statements are syntactically the same:
оператор операнд [,операнд]
for example, Assembler
but already in the first generations of languages from such a hard format began to move to more free grammars and to a more convenient syntax for humans. In particular, the operand for the assignment instruction very quickly became optional.
for example, Basic with its keyword LET
Therefore, such keywords were needed to simplify the "high-level" parsers of languages and to meet the tight memory restrictions of the time. After the victory of the structural style and general strict typification, the variables became declared using variable types. And now we are back to the automatic types and operators auto, var, val, let. But with a new meaning and new content.
Let in few places is used in the context of "constants". Is that in modern Javah. Let is rather a tribute to BASIC, where this operator meant an assignment operation. BASIC once performed the role that Java is now playing, a simple high-level language that is not tied to the architecture of a particular iron. BASIC had a strong influence on IT. And, to be honest, contributed to a significant increase in the number of programmers - "Every cook can code in BASIC"