A few months ago, I was daydreaming about creating a new programming language and started thinking about language internationalization. I found this page, with some interesting comments: https://blogs.msdn.microsoft.com/alfredth/2011/07/21/why-are... As an aside, this one stuck out to me: "One of the difficulties in allowing the keyword to be switched on the fly to a different language is that keywords have to be 're…
It is always good to not have possible ambiguity in a language though. A classic example is a C++ line such as: a ** b Before you know if a and b are variable names or type names, you do not know whether this line is a variable declaration or a multiplication or a syntax error. My point is that some keywords could be used as identifiers in some situations, but this might not always be the case. One option would be to…
Both inherited the restricted list from C so for legacy reasons they prohibit those keywords from being used as identifiers, but newly introduced keywords are always contextual due to compatibility concerns.