Sep 26, 2024 11:19
Среди штук, которые меня вымораживают, из числа «на дворе 2024-й и до сих пор вот такое», есть, в частности, следующее. Очень распространённое, прям пипец как, поэтому сие нельзя уже списать на то, что «да это всё равно раз в десять лет встречается, поэтому лень заморачиваться с исправлениями».
Сплошь и рядом в математических и статистических работах попадается случай, когда у людей имеется список чисел и им надо найти сумму оных. И каждый же раз это записывается многоэтажной конструкцией с буквой сигма, счётчиком индекса от одного до n и указанием индекса под соответствующей переменной, обозначающей элемент этого списка.
Камон, гайс, эта запись появилась ещё до идеи о машине Тьюринга. С тех пор её успели воплотить в конструкцию «цикл for», которая, вообще говоря, более универсальная, но даже она с тех пор успела устареть и смениться гораздо более лаконичными и удобочитаемыми конструкциями. Которые очень широко используются в реально работающих программах, а потому сомнений «нет ли тут подвоха» давно уже не осталось.
Начните уже, наконец, писать как в двадцать первом веке: «list.sum». Или хотя бы «sum(list)». Если у вас список, то вам не нужен индекс и счётчик, чтобы найти сумму его элементов.
Причём даже если вам надо что-то сделать с каждым элементом перед их суммированием, то и тут тоже счётчик вам не нужен:
list.map(x → 2 * x + 1).sum
Да, у математики всегда было всё плохо с дизайном синтаксисов, но раньше люди всё-таки пытались хоть как-то их усовершенствовать. Однако в первой половине двадцатого века всё застыло как бы навсегда. Дальше, видимо, надо исключительно по заветам предков. Даже если в одном шаге от вас есть область, где с дизайном синтаксисов всё прекрасно и там давно уже придумали такие, которые охватывают все ваши случаи и бесчисленное количество других.