Ошибки во время выполнения из-за чувствительности к регистру в (переменных) именах - PullRequest
0 голосов
/ 05 декабря 2009

У нас недавно возникла проблема ( ANTLR «Невозможно запустить отладчик. Тайм-аут ожидания подключения к удаленному анализатору». ), когда возникла ошибка времени выполнения, которая могла быть вызвана чувствительностью к регистру в (переменных) именах и зависел от ОС. Это было в ANTLR, но мне более интересно, существуют ли общие случаи (на любом языке), когда имена различаются только в том случае, когда программа компилируется, но есть ошибки времени выполнения из-за конфликтов имен. Существует ли разница между UNIX и Windows?

В качестве возможного примера я могу создать два Java-класса в одном пакете: Foo в Foo.java и foo в foo.java в UNIX, пока я не могу сделать то же самое в Windows? Если нет, блокируется ли это компилятором и какое ограничение он накладывает на равенство регистра? И как другие распространенные языки относятся к этой проблеме?

[Конечно, я сознательно не пытаюсь это сделать, но ошибки появляются, и я в значительной степени полагаюсь на компиляторы, чтобы их обнаружить.]

1 Ответ

0 голосов
/ 20 декабря 2009

Для большинства людей это не вызывает особого беспокойства

...