О семантике
Mar. 19th, 2022 09:13 amС ней бывает просто: ну вот лук бывает модный, бывает репчатый, бывает спортивный. А бывает сложно, и вот как раз "сложно" - неплохая иллюстрация. Есть у этого слова два оттенка, на самом-то деле кардинально различные, но вне подробного контекста сложно различимые.
Один - это "все сложно и нуегонафиг". Второй - это "сложно, потому что надо же раз-два-пять-десять сделать, а потом еще и еще раз, это ж время и силы занимает, поэтому ну вот как подвигаемся, так подвигаемся".
Вот плюсы, к примеру - это сложно. Для кого-то это повод открыть и закрыть, для кого-то это долгое вдумчивое грызение гранита. Окей, те, кому плюсы просты, вы круты, и офигенно смотритесь в белом плаще, гарцуя на белом коне. Но вот имею мнение хрен оспоришь, что если мы говорим за плюсы, как они есть сейчас, а не как язык впервые придумал Страуструп, то ни фига они не простые, и хватает там нетривиальных моментов со стрельбой в ногу. Move- и copy-конструкторы уже интересный вопрос (и что с памятью делать при всем этом), STL вот та же, а куча угловых скобок не так, чтобы упрощает читаемость и все такое. Причем если ты активно на этом не пишешь, то за каждым углом все равно открытия (я вот слыхом не слыхивал про placement new до этой недели).
Так что процесс освоения долгий, трудоемкий, и с постоянной стрельбой в ногу и FFUUU по этому поводу. Сложно, короче, и подвигается потому медленно. И это мы даже не будем поминать сопровождение кода, в котором в классе X перегружен оператор += и не перегружен +. Ну или совсем классику, когда перегрузили на что-то совсем нетривиальное, "потому что методы некрасиво".
Это меня на философию потянуло, потому что меня тут очень просят: "Дяденька, расскажите мне за це с крестами, а то я не понимаю". Да ясно, почему не понимаешь: я вот помню, как плакал, кололся и ел этот кактус, а я ж старался, мне было надо. А тут у человека и с мотивацией кисло, и с базой не очень, а ты ему тут рассказывай про больные фантазии Страуструпа, Степанова и прочих Александреску.
Один - это "все сложно и нуегонафиг". Второй - это "сложно, потому что надо же раз-два-пять-десять сделать, а потом еще и еще раз, это ж время и силы занимает, поэтому ну вот как подвигаемся, так подвигаемся".
Вот плюсы, к примеру - это сложно. Для кого-то это повод открыть и закрыть, для кого-то это долгое вдумчивое грызение гранита. Окей, те, кому плюсы просты, вы круты, и офигенно смотритесь в белом плаще, гарцуя на белом коне. Но вот имею мнение хрен оспоришь, что если мы говорим за плюсы, как они есть сейчас, а не как язык впервые придумал Страуструп, то ни фига они не простые, и хватает там нетривиальных моментов со стрельбой в ногу. Move- и copy-конструкторы уже интересный вопрос (и что с памятью делать при всем этом), STL вот та же, а куча угловых скобок не так, чтобы упрощает читаемость и все такое. Причем если ты активно на этом не пишешь, то за каждым углом все равно открытия (я вот слыхом не слыхивал про placement new до этой недели).
Так что процесс освоения долгий, трудоемкий, и с постоянной стрельбой в ногу и FFUUU по этому поводу. Сложно, короче, и подвигается потому медленно. И это мы даже не будем поминать сопровождение кода, в котором в классе X перегружен оператор += и не перегружен +. Ну или совсем классику, когда перегрузили на что-то совсем нетривиальное, "потому что методы некрасиво".
Это меня на философию потянуло, потому что меня тут очень просят: "Дяденька, расскажите мне за це с крестами, а то я не понимаю". Да ясно, почему не понимаешь: я вот помню, как плакал, кололся и ел этот кактус, а я ж старался, мне было надо. А тут у человека и с мотивацией кисло, и с базой не очень, а ты ему тут рассказывай про больные фантазии Страуструпа, Степанова и прочих Александреску.
(no subject)
Date: 2022-03-19 06:31 pm (UTC)(no subject)
Date: 2022-03-19 06:39 pm (UTC)(no subject)
Date: 2022-03-19 07:37 pm (UTC)Эти все сложности для знатоков.
Date: 2022-03-20 03:20 pm (UTC)Re: Эти все сложности для знатоков.
Date: 2022-03-20 05:09 pm (UTC)Плюсы - это язык для сложной логики, которая должна летать в рантайме. Совсем другое.
За меня уже всё выбрали.
Date: 2022-03-20 05:20 pm (UTC)Re: За меня уже всё выбрали.
Date: 2022-03-23 04:10 pm (UTC)Тут в чем нюанс - дописывать и править существующий плюсовый код относительно несложно (я это делал при том, что голый Си я знаю, ну так, сносно, а вот плюсы - слабо). А вот писать с нуля, особенно если алгоритм не самый тривиальный или структуры данных нужны, или какие-нибудь корутины из Boost.asio - вот это не под цейтнот для простого программера.
На том же питоне я могу гнать код десятками строк в день, пусть в отдельные дни эти строчки будут изрядно попахивать. Вот это почти идеальный язык для цейтнота, но, да не для хайлоада ни разу. Хотя хайлоад понятие растяжимое - для кого-то это сотни кило-rps, а кто-то мне пытался доказать, что его пара сотен rps - это хайлоад; во втором случае и питон пойдет, особенно если задача IO-bound и поверх asyncio.