Я разрабатываю синтаксис для шаблонов / обобщений. Языки семейства C ++ используют для этого угловые скобки, но вместо этого я использую символ-разделитель. Например, где в Java вы можете написать:
Map<String, Foo> foos = new HashMap<String, Foo>();
Я стремлюсь к:
.foos = hmap*string*foo
Я пытаюсь решить, каким будет символ разделителя; это не может быть буквально *, потому что это уже используется для умножения (не то, чтобы я не мог его перегрузить, но приоритет был бы неправильным). Глядя на доступные символы, некоторые варианты
.foos = hmap!string!foo
.foos = hmap$string$foo
.foos = hmap?string?foo
.foos = hmap^string^foo
.foos = hmap`string`foo
.foos = hmap|string|foo
.foos = hmap~string~foo
Поскольку это в некоторой степени эстетический вопрос, я решил провести опрос: какой вариант вам больше нравится? Есть ли другой вариант, который был бы предпочтительнее? (Как обычно с такими вопросами, если ваш ответ уже был опубликован, пожалуйста, проголосуйте, а не дублируйте.)
Кроме того, на стандартной клавиатуре США `не смещен, для всех остальных требуется клавиша Shift. Есть ли разница на международных клавиатурах? Существуют ли какие-либо раскладки клавиатуры, на которых любой из вышеперечисленных кандидатов особенно прост или труден для ввода?
(Поскольку это вопрос без единого правильного ответа, это должна быть вики сообщества?)