2.4Kпросмотров
6 февраля 2026 г.
Score: 2.7K
Терминологически Не хочу писать про AI. Хочу написать старый-добрый разгромный пост о том, как в IT всё намеренно переусложнено. Не знал с чего начать, пока на глаза не попался самый ублюдский, бесполезный и идиотский термин, который наглядно иллюстрирует проблематику. "Функции высшего порядка". Это — адище. Слова, вызывающие Сатану. Клянусь богом, этот термин нужен ТОЛЬКО для гейткиперства на собеседованиях. Знание этого термина не даёт вам абсолютно ничего кроме завышенного ЧСВ. Вот смотрите: у вас есть функция и в большинстве ЯП можно передать эту функцию как аргумент другой функции, использовать как переменную или поле. На этом всё. Не существует ни единой причины как-то по-особенному называть это явление природы, но нет. ФПшники, фронтендеры и прочие недопрограммисты упорно используют этот новояз. А знаете почему? Чтобы звучало заумно и по-взрослому. Чтобы хоть как-то скомпенсировать зияющую дыру в своей квалификации, обусловленную примитивностью и бесполезностью своих подходов, они зацепились за термин из теории категорий в праздной надежде что он-то сделает их умнее и весомее в глазах коллег по цеху. Нет, не сделает. А взять вот C. Он проектировался нормальными инженерами, а не кривожопыми макаками. В сях сабж называется "указатель на функцию". И этот термин вполне оправдан, самодостаточен, короток и предельно точен, потому как опирается на концепцию указателей. А в указателях вся суть. Познаешь указатели — познаешь С. Познаешь программирование целиком и устройство мира на сдачу. Остальные особенности C будут казаться синтаксическим сахаром вокруг указателей. А самое главное — если ты умеешь писать на C, ты не нуждаешься в высоконагруженных терминах чтобы подчеркнуть свою крутость. Тебе это не нужно. Ты просто стараешься не вызывать free(0). А вот C#. Там есть делегаты, но во-первых, "делегат" — это одно слово а не целых три. Во-вторых, это отдельный тип и идиома языка чтобы не городить для управления короткими методами отдельные интерфейсы как в б-гомерзкой Java до появления лямбд. Точно, коротко, пунктуально. Мёд на мои старые уши. Вокруг делегатов в C# вращается небольшая вселенная, поэтому короткий и точный термин здесь уместен как никогда. Можно сказать коллеге "сделай там делегат", тип Delegate можно использовать в тёмной reflection-магии, слово "делегат" можно вбить в поиск по MSDN и получить кучу конкретных прикладных знаний, которые помогут тебе заработать на кусок хлеба с икрой. Этого всего нельзя сделать с термином "функция (мать его) высшего порядка". Или TypeScript. Он вообще не в курсе что он, оказывается, поддерживает функции высшего порядка. Ему до глубокой жопы всё происходящее в мире мясных мешков с костями, но мешки упорно кукарекают про порядки и функции на каждом собесе. А TS просто молча позволяет писать на нормальном языке вместо той срани, которую нам навязал W3C. И таких терминов тысячи. И не только терминов, но и целых концепций. Тупых и ненужных, как их создатели. Инженеры старой закалки создали языки программирования, фреймворки и API чтобы лаконичным и понятным человеку способом заставлять машину делать то, что нужно. А весь этот гнус с трёхмесячными курсами фронтенда за плечами и хеллоуворлдом в гите изобретает бессмысленный и бесполезный хлам с примитивными идеями в основе. Не чтобы решать реальные задачи, а чтобы щеголять друг перед другом псевдоинтеллектом в высокопарных, но насквозь пустых твитах, дискуссиях и подкастах. Они сами себя подготовили к замене на AI. Такие дела