В ветках С++ тоска — изредка правда встречаются фрики, которые не имея опыта пилят странные велосипеды, что доставляет массу веселья, да 3 с половиной опытных плюсовиков немножко оторвавшихся от реальности. О подобных персонажах и тенденциях развития С++ и хочется поговорить. Вообще С++ классный язык появившийся в нужное время, который покрыл потребности инженеров — тот-же С, но с классами и шаблонами. И если классы и виртуальные функции на С еще можно самому написать, пусть и ценой излишних усилий, то аналогов шаблонам там нет. И все было класно, но потом в комьюнити пролезли фрики оторванные от реальности и стали пилить чудовишную дичь под названием Boost: в разы замедлившаяся компиляция, километры невнятных ошибок, быстродействие даже не на уровне Питона, а в 3 раза хуже (пруф:
http://rsdn.org/forum/flame.comp/6943929.1Автор: MTD
Дата: 25.10.17
). Мммм, нравится!
Дальше было хуже, из своей резервации они пролезли в комитет, да спасибо друзья за смартпоинтеры и пару других удобных вещей, но то что вы делаете сейчас просто ни в какие ворота! Внимание, на дворе 2017 год, а в языке нет юникодных строк, нет файловых операций, нет модульности и корутин, зато с азартом обсуждаются новые фичи метапрограммирования. Блин, дорогие ученые, да я рад за вас, пилите, если вам это нужно, но не в ущерб же интересам инженеров на которых был положен болт.
Посмотрев любой мастер класс по плюсам уже через пять минут ловишь себя на мысли — да все упоролись, то что на других языках делается не задумываясь тут предмет для получасового обсуждения. Вот не самый упоротый случай:
https://www.youtube.com/watch?v=83ci6JeZIG4&list=PLgsLnJ-wgYTZRDRK3jrSOoarFg0ART6Ea&index=10
Чувак на полном серьезе рассказыват, что вместо того чтобы пилить класс строк для того чтобы сравнивать строки независимо от регистра, можно написать класс-свойство, который передать в шаблон стандартной строки и который будет переводить строки в нижний регистр перед тем как положить в память, ну и потом можно эти строки сравнивать. Друг, ты совсем что-ли? Может лучше просто написать функцию (а лучше чтобы она была в стандартной библиотеке) compareCaseInsensitivity? Это и проще и в коде сразу понятно, что происходит
Короче, мой месседж — С++ маргинализируется и становится убежищем фриков, на интересы инженеров там положили болт.
“Внутри С++ сидит более компактный и понятный язык, отчаянно пытающийся выбраться наружу.” — Бьерн Страуструп
Увы, его отчаянные попытки тщетны.