Сопоставление с образцом (pattern matching) — сильный механизм языков программирования, который, к сожалению, встречается не так часто. Причём, как в коде разработчиков, так и в поддержке со стороны самого языка.
Разработчики на функциональных языках используют этот механизм довольно часто, потому что у них вообще многое определяется статически через правильный подход к системе типов. Разработчики же на императивных языках очень любят огромные многоуровневые ветвления. Есть даже такое понятие «Спагетти-код» — раньше его применяли к коду, перегруженному операторами перехода, но в современном виде это скорее об избытке операторов условия.
Pattern matching позволяет накладывать на объекты некоторый трафарет и смотреть, попадают ли они под него. Это не только выглядит лаконичнее и короче, чем дерево условий, но ещё и понятнее с точки зрения восприятия человеком: вот у нас заказ содержит более 10 элементов и при этом стоит более 1000 долларов, значит делаем на него скидку 10 центов. При этом трафарет работает как сортировщик монеток: самая маленькая проваливается в первый паз, следующая по размеру в следующий итд, применение условий идёт сверху вниз. Есть и неявный плюс: такой подход автоматически провоцирует разработчиков проводить проверку на null. Ведь null не может подходить под трафарет «содержит более 10 товаров».
К счастью, в C# этот механизм в последних версиях активно развивают и совершенствуют. И это одно из многочисленных преимуществ C# над Java.
#dev
Казахстанские олимпийцы 10 февраля: итог выступлений и результаты
Сборная Казахстана выступала на Олимпиаде‑2026 в Италии в пяти видах спорта. В лыжном спринте классическим стилем 7 казахстанцев не прошли квалификацию. В шорт‑треке на дистанциях 500 м и 1000 м Яна Хан, Ольга Тихонова и Денис Никиша завершили участие на предварительных этапах.
В фристайле‑могуле Павел Колмаков набрал 76,24 балла и занял 9‑е место после первой квалификации, выйдя в финал. Женские могулистки — Анастасия Городко (70,98, 12‑е место), Юлия Галышева (69,60, 14‑е) и Аяулым Амренова (63,50, 20‑е) — получили шанс в следующем раунде квалификации.
В фигурном катании среди мужчин Михаил Шайдоров в короткой программе набрал 92,94 балла (https://www.championat.com/figureskating/_otherfigureskating/tournament/1050/match/81074/#stats) и расположился в первой десятке.
Команда Казахстана завершила день без медалей, но с выходом одного спортсмена в финал и достойным выступлением в фигурном катании.
#stats
#TIL# I learned about this interesting concept called martingale.
> ... at a particular time, the conditional expectation of the next value in the sequence is equal to the present value, regardless of all prior values.
https://en.wikipedia.org/wiki/Martingale_(probability_theory)
The value transferred with the help of stablecoins in August exceeded $ 110 billion.
For four months in a row, the indicator renews its maximum, and a year ago it was five times less.
#stats