Это может показаться глупым вопросом, но я все еще не знаю ответа.
Почему языки программирования не допускают пробелов в именах (например, именах методов)?
Я понимаю, что это облегчает (разрешает) синтаксический анализ, и в какой-то момент было бы невозможно проанализировать что-либо, если бы были разрешены пробелы.
В настоящее время мы настолько привыкли к этому, что норма не позволяет видеть пробелы.
Например:
object.saveData( data );
object.save_data( data )
object.SaveData( data );
[object saveData:data];
и т.д..
Может быть записано как:
object.save data( data ) // looks ugly, but that's the "nature" way.
Если это только для синтаксического анализа, я думаю, идентификатор может быть между .
и (
, конечно, процедурные языки не смогут использовать его, потому что нет '.' но ОО делать ..
Интересно, является ли разбор причиной only , и если это так, насколько это важно (я предполагаю, что это будет и будет невозможно сделать иначе, если только все разработчики языка программирования просто ... забудь вариант)
EDIT
Я в порядке с идентификаторами в целом (как пример с Фортраном) - плохая идея. Сужая до ОО-языков и, в частности, до методов, я не вижу (я не имею в виду, что это не так) причины, почему так должно быть. Ведь можно использовать .
и первый (
.
И забудьте о методе saveData
, рассмотрите этот:
key.ToString().StartsWith("TextBox")
как:
key.to string().starts with("textbox");