The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Утверждено добавление в Python операторов для сопоставления ..."
Отправлено Ordu, 10-Фев-21 10:12 
> Это поколение "программистов" спрашивать не буду.

В смысле тебе поколение хипстеров ближе? Я тоже очень не люблю старпёров, но как говаривал Юдковский: если самый тупой человек на свете говорит, что небо голубое, это не значит, что оно зелёное.

Пайп как "или" используется, как минимум со времён C... Хотя не, в BNF ведь | используется, а это вообще середина XX века ещё. Отказываться от этого я не вижу никакого смысла, это уже будет негативизмом, в смысле позицией "назло мамке в лужу сяду".

> Есть ли у вас ассоциация оператора выбора с выбором в словаре? И
> есть ли ассоциация возможности реализации выбора с помощью типа данных словарь?

Нет и нет. Паттерн-матчинг -- это древняя техника, с которой я например ознакомился где-то в 90-х читая учебник по лиспу (примерно 80-го года издания), где в качестве примера программы реализовывался паттерн матчинг для создания чего-то там. Может быть чат-бота по типу Elisa. Паттерн матчинг несводим к ассоциативному массиву, хотя ассоциативный массив иногда можно использовать для более эффективной реализации. Но это проблемы компилятора, будет ли он использовать ассоциативный массив, просто jmp table, последовательность cmp/je, или что. Хороший компилятор лучше меня должен знать, как данный случай на данной платформе сделать быстрее.

Но дело не в скорости, глянь на примеры в тексте статьи, они немного приоткрывают возможности. Возьми тот пример с функцией whereis, и попробуй переписать это без match, и сравни количество затраченных усилий и читаемость результата.

В целом я рад, что паттерн-матчинг стал must have фичой языков. И дело даже не в том, что когда его нет, а он нужен, начинаешь мухой на стекле выёживаться, лишь бы не писать ad hoc реализацию, а в том, что он реально удобен и может превратить безумное нагромождение if/else в несколько уровней вложенности в няшную и понятную структуру кода, которая хорошо отражает программерскую мысль, и легко при этом компилятором преобразуется в эффективный машинный код.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру