RFC, позволяющий использовать не-ASCII идентификаторы

Можно будет написать

let Москва = Город { население: 10_000_000 };

Такие дела.

1 лайк

Ох, и хотят принять? Испытываю крайне смешанные чувства. Надо внимательно почитать рфц.

Лодочник проголосовал FCP merge.

Сразу захотелось

trait Х̛̤̫͔̩̳̩͇̰̂̂͋т̧̣̬̹͔̝͎͈̫͊͐͗ͤ̍͂̈́ͅо͓̼́̏н̣͚̫͕͉͔̬̖̓̏и̭̮̲̬̙̳͆̔̑̋̀̉̀̍з̛̙̌͒̋̇͑̎̓̀̚͝а̡͍̖͔̦͍ͮ̇̚͜ц̖̻̦̤̊́͝ͅи̛̰̖̭̪͍̥͚̰ͨͮ̑̆ͬя̙͙̺̇͡ {
  fn haha();
}
2 лайка

А читайте внимательнее :slight_smile:

Там только буквы. Например, это останется запрещённым:

  • Keywords: impl, fn, _ (underscore), …
  • Identifiers starting with numbers or containing “non letters”: 42_the_answer, third√of7, ◆◆◆, …
  • Many Emojis: slightly_smiling_face, crab, hankey, …
1 лайк

Хм, ну понятно, значит веселье будет не полным…

Additionally some math oriented projects may want to use identifiers closely resembling mathematical writing.

Немного боюсь что вот правда так и будет - скачаешь какую-то мат библиотеку, а без копипасты пользоваться ничем из нее не сможешь)

Хм, интересно. С одной стороны это удобно частично учиться программировать на родном языке, т.е. можно будет написать так:

struct Игрок {
   здоровье: i32,
   скорость_бега: i8
}

Тогда в чём минусы ? :face_with_monocle:

Для обучения минусов тоже осбо не вижу. А вот если в реальном коде реальных библиотек общего назначения будет юникод в идентификаторах, то я сильно боюсь что удобство работы с таким апи сильно грохнется.

А вот в чисто локальные проекты, где не будет не говорящим на каком-то языке людей, верю не очень сильно - пару раз приходилось пытаться разобраться в коде из иероглифов каких-то там, потому что логика была нужна. Лучше бы оно на ломаном английском было, блин, а родной язык автора ну хотя бы в коментах только.

Тогда уж надо писать:

структура Игрок (
    здоровье: и32,
    скорость_бега: и8
)

Ведь struct нужно выучить, а для {} и i32 надо переключать раскладку.

Python Rust code is written by many people in the world who are not familiar with the English language, or even well-acquainted with the Latin writing system. Such developers often desire to define classes and functions with names in their native languages, rather than having to come up with an (often incorrect) English translation of the concept they want to name. By using identifiers in their native language, code clarity and maintainability of the code among speakers of that language improves.

В корне не согласен с таким подходом. Ведь потом всё равно надо будет знать инглиш для эффективного гуглежа и чтения мануалов.
С моей точки зрения, программист без знания английского - не программист.

1 лайк

Вспоминается старая шутка.

Нужно написать тогда будет макрос ягтр!{} по аналогии с html!{}, и ящик с таким же именем.
Даёшь

# коррозияс --ревизия   // доллар нельзя использовать
Сборщик Языка Коррозия, ревизия №2.17.2, изменение 3рд5врн49

Это отсылка к Агда? :slight_smile:

А вот эможи не ааезли, эх, не буду лайк ставить

Причём тут английский? Речь идёт о том, что группа людей, говорящих на одном естественном языке, делает проект, и там определённые слова или даже термины из предметной области, на их естественном языке.

Например,

struct Паспорт {
  серия: ...,
  номер: ...,
  кем_выдан: ...,
  когда_выдан: ...,
}

лучше, чем выдумывать обратный перевод этих вещей на английский.

1 лайк

Там есть рекомендация использовать в библиотеках с открытым исходным кодом, в общих API, только ASCII.

2 лайка

Повеяло 1С :grin:


3 лайка

Так себе фича.
По мне, так смешивать в описаниях языки не очень хорошо.
Один хрен все стандартные структуры и вызовы, плюс куча сторонних библиотек, на ascii.
И на фоне всего этого, как бельмо на глазу, struct Паспорт.