Вот уже последние лет 10 одна половина человечества стремительно проваливается в пучину бесполезного повторения одного и того же с каждый раз всё худшими показателями, а вторая половина запрещает абы что.
в github, vscode и windows абсолютно каждое обновление уже несколько лет связано только с "ИИ", при этом ни один реальный показатель этих программ не стал лучше. В каждый поисковой запрос встроен ИИ, а качество поиска в гугле стало хуже (считал ли кто-то, сколько электричества ушло на это?)
Компилятор go переписывают на go, JavaScript существует больше 20 лет, появился TypeScript, но он... Всё также компилируется в обычный JavaScript, даже более объёмный, чем написанный вручную. До сих пор все оптимизации передачи джаваскрипта по сети не пошли дальше удаления пробелов из исходного текста, хотя на поверхности лежит трансляция TypeScript в бинарный JS, который позже напрямую быстрее интерпретируется и тратит в разы меньше сетевого трафика
Недавно я зашёл в браузер хром и решил поискать небольшую фразу в довольно объёмном файле

В файле было 400 упоминаний строки, а поиск вёл себя странно. Если нажать кнопку поиска следующего вхождения, то поиск быстр, а если нажать поиск предыдущего вхождения, то всё зависает на несколько секунд
Проблема очевидна - браузер каждый раз при поиске предыдущего вхождения искал с самого начала файла и считал количество вхождений. В 2025 году. Хотя этот браузер развивается уже десятки лет громадными компаниями
Я решил узнать, как же так вышло, что до сих пор в браузерах это окошко не поддерживает даже поиск по целому слову или поиск с учётом регистра... Оказалось, что в течение десятков лет хромиум отвергает все идеи как-то улучшить это окошко и основная причина - это кажется переусложнением интерфейса..

Честно говоря грустно. Завершу эту статью кодом, который ищет подстроку в строке эффективно в одну сторону и в другую на С++
Дело нехитрое, чтобы найти подстроку в строке в обратную сторону нужно... Искать перевернутую подстроку в перевёрнутой строке. Всё
using pos_t = std::string_view::size_type;
using namespace std::ranges;
using std::string_view;
// ищет первое вхождение needle в text
// возвращает индекс начала этой позиции или npos, если не найдено
pos_t match_position_forward(string_view text, string_view needle) {
auto [b, e] = search(text, needle);
if (b == text.end())
return text.npos;
return b - text.begin();
}
// ищет последнее вхождение needle в text
// возвращает индекс начала этой позиции или npos, если не найдено
pos_t match_position_backward(string_view text, string_view needle) {
auto [b, e] = search(text | views::reverse, needle | views::reverse);
if (b == text.rend())
return text.npos;
return e.base() - text.begin();
}
HardWrMan
Нууу, классика:
Kelbon Автор
В статье не пропущено слово
HardWrMan
Я теперь в замешательстве, к какой половине вышеупомянутого человечества относитесь вы...
PS Когда я цитировал - было пропущено. Нотариально заверенный скриншот под спойлером.
Скрытый текст
Kelbon Автор
нет, оно пропущено только в превью, которое хабр не обновил после изменения текста статьи, так уж он работает
HardWrMan
Я отвечал на открытую статью а не на превью в ленте. И там слова не было. Ну да ладно, исправили и хорошо. Но я править свой пост не буду.
Lomserman
Politura
Но ведь в любом виде деятельности люди повторяют какие-то действия для того, чтоб понемножку, раз за разом, улучшать результаты получая хороший прогресс, иногда достигая великих результатов. Спортсмены, музыканты, и даже программисты. :)
Всегда казался тот, кто написал этот монолог глав.плохишу тупым как пробка.
HardWrMan
Неверно. Уже обсуждали это в другой теме много лет назад. Главгад говорит "точное повторение". А у спортсменов не так, там каждая попытка всегда отличается. Например, вы никогда не накачаетесь, если не будете прибавлять тягаемый вес. А гонщик всегда чуть меняет траекторию и параметры скорости/торможения, нащупывая оптимальные.
Politura
Это все придирки, я так тоже могу:
Если подходить прям буквально, про точное повторение, то так-то никто вообще 100% точных повторений не делает, а главгад говорит, что видит их везде.
Очень многие близки к точным повторениям идеального для своей кондиции результата. Например, пловцы, когда начинаешь, результат не очень, но чем ближе ты к оптимальным для себя действиям, тем лучше результат и через несколько лет регулярных занятий ты в бассейне будешь повторять одни и те-же действия своим телом. Или музыканты, когда какую-то мелодию разучивают (у меня дочь на скрипке играет, я знаю). По-началу каждый раз отличается, но чем ближе к своему пределу, тем меньше и меньше отличий.
Вас сам главгероя все время по-разному убивал и все плакался как он одно и тоже действие делает.