А был ли мальчик? (помянем плюсы)
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: А был ли мальчик? (помянем плюсы)
Лучше не пытаться понимать всё, что написано. Моск глючит.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 4379
- Joined: 20 Jun 2001 09:01
Re: А был ли мальчик? (помянем плюсы)
Тоже в вашем лагере, хоть и не программист. Template meta-programming, честно приознаюсь - основное, что мне нравится в плюсах, и чего не хватает в чистом, голимом С. Eigen - замечательный пример.partner_ca wrote: 14 Jan 2018 08:20Плюсую.Мальчик-Одуванчик wrote: 14 Jan 2018 07:54 STL - это, на минуточку, контейнеры и алгоритмы прежде всего. Одна из самых замечательных и мощных частей плюсов.
Medium-rare, sorry, наверное добавил гкюков, простите великодушно.
-
- Уже с Приветом
- Posts: 19041
- Joined: 11 Jan 2012 09:25
- Location: CA
Re: А был ли мальчик? (помянем плюсы)
Эта ли ?Мальчик-Одуванчик wrote: 14 Jan 2018 08:20 Ну вообще вся эта асинхронная красотища еще три десятка лет вполне себе присутствовала на голимом си, особенно в телекоме, где оформилась в виде actor модели, и чуть позже была реализована в языке эрланг. В хайп она попала лишь по прошествии угара по обьектно-ориентированныму программированию и переключением моды на функциональное. Но по-сути стюардессу опять откопали, как в том анекдоте.
Сссылки в студию плиз ... на три десятка лет назад
https://www.youtube.com/watch?v=wOwblaKmyVw
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: А был ли мальчик? (помянем плюсы)
Не про вас, вестимо. Больше про непонимание разницы между инструментом, и областью его приложения. Вы такого не писали. Да ладно. AndreyT лучше озвучит оную проблему обсуждения, если ему ещё интересен наш разговор бабуль на лавочке про C++.flip_flop wrote: 14 Jan 2018 22:14 Medium-rare, sorry, наверное добавил гкюков, простите великодушно.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 514
- Joined: 07 Dec 2001 10:01
- Location: toronto
Re: А был ли мальчик? (помянем плюсы)
Это только если в исходники не лазить, там будет много непривычного для начинающих.
Да и выдающиеся ошибки компилятора и линкера тоже могут кого хошь напугать с непривычки.
-
- Уже с Приветом
- Posts: 12017
- Joined: 08 Sep 2006 20:07
- Location: Силиконка
Re: А был ли мальчик? (помянем плюсы)
STL - как раз тот не очень частый случай, когда лезть в исходники реализации библиотеки особого резона нет. Я когда-то давно очень, когда ещё под Windows программировал, залез исключительно из-за любопытства, и быстро убежал в ужасе. Такое ощущение было, что код был какой-то автоматической тулзой нагенерён.tau wrote: 15 Jan 2018 01:22Это только если в исходники не лазить, там будет много непривычного для начинающих.
Да и выдающиеся ошибки компилятора и линкера тоже могут кого хошь напугать с непривычки.
Но дело даже не в том, что код (по крайней мере, той реализации, что с Visual Studio тогда шла) кучерявый. Просто из исходников вы почерпнёте знания только о той конкретной реализации. А STL это, в первую очередь, спецификация. Начинающим нужно потратить какое-то время (весьма небольшое) на то, чтобы вдумчиво почитать документацию. Может, мне просто повезло, что я начал знакомиться с STL из оригинальной статьи Степанова - как-то удивительно быстро всё на свои места встало.
Проблемы с STL по-моему бывают у людей, который пытаются сразу чего-то напрограммировать, полагаясь на интуицию или ещё что. Но это совершенно не тот случай, когда "метод тыка" работает.
Вообще, безотносительно STL, меня частенько расстраивает, что люди так часто полагаются на bottom-up подход, когда top-down был бы более уместным. Или боятся потратить чуток времени на чтение или написание документации, и потом тратят в разу больше на ...хм, беспорядочный тык.
Мир Украине. Свободу России.
-
- Уже с Приветом
- Posts: 8090
- Joined: 08 Nov 2004 12:24
- Location: GA
Re: А был ли мальчик? (помянем плюсы)
Феерический топик, вначале хотел "рвать и метать", а потом решил, что он показательный, в реальной жизни народ так же мнит что знает плюсы, а по факту такая ахинея из под пера выходит.
Элементарную вещь спросишь, сидят, не вдупляют. Вот например, что делает этот код? (вопрос риторический, не надо отвечать), ведь классика:
Добрая половина знатоков плюсов отвалится.
А 0х11 и выше это вообще вышка, народ просто ничего не втыкает. У меня тут эпик фейл приключился. Сведу пример к простейшему:
Вот эта тривиальная вещь порвала мозг всем. Вопрос был, что выведется в консоль?
Старики заявили, что копи конструктор, "продвинутая" молодежь, что "конечно же мув". О том, что не выведется ничего не допер НИКТО.
Так что не было никакого мальчика, умер еще при родах. Язык остался не понятым подавляющим большинством пользователей.
Элементарную вещь спросишь, сидят, не вдупляют. Вот например, что делает этот код? (вопрос риторический, не надо отвечать), ведь классика:
Code: Select all
template <bool b>
struct А {};
template <>
struct А<true>
{
static void a() {}
};
А 0х11 и выше это вообще вышка, народ просто ничего не втыкает. У меня тут эпик фейл приключился. Сведу пример к простейшему:
Code: Select all
struct A
{
A() {};
A(A&&)
{
std::cout << "Move constructor";
}
A(const A&)
{
std::cout << "Copy constructor";
}
};
A&& func(A& a)
{
return std::move(a);
}
int main(int argc, const char * argv[])
{
A a;
func(a);
return 0;
}
Старики заявили, что копи конструктор, "продвинутая" молодежь, что "конечно же мув". О том, что не выведется ничего не допер НИКТО.
Так что не было никакого мальчика, умер еще при родах. Язык остался не понятым подавляющим большинством пользователей.
Last edited by Prosche on 15 Jan 2018 06:18, edited 1 time in total.
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: А был ли мальчик? (помянем плюсы)
Куриоз был.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 8090
- Joined: 08 Nov 2004 12:24
- Location: GA
Re: А был ли мальчик? (помянем плюсы)
Исправил. Копипастил. Но дело там не в этом. А так...Можно и с констом. const_cast никто не отменял.
-
- Уже с Приветом
- Posts: 9195
- Joined: 04 Mar 2011 03:04
- Location: SFBA
Re: А был ли мальчик? (помянем плюсы)
Да понял. Спасибо за интересный пост.
... and even then it's rare that you'll be going there...
-
- Уже с Приветом
- Posts: 15526
- Joined: 27 Sep 2007 22:53
-
- Уже с Приветом
- Posts: 8090
- Joined: 08 Nov 2004 12:24
- Location: GA
-
- Уже с Приветом
- Posts: 15526
- Joined: 27 Sep 2007 22:53
Re: А был ли мальчик? (помянем плюсы)
В коде первого примера я его не вижу, чтобы он случился стоило бы обьявить утверждение с ним.
-
- Уже с Приветом
- Posts: 514
- Joined: 07 Dec 2001 10:01
- Location: toronto
Re: А был ли мальчик? (помянем плюсы)
В общем-то - да, я согласен, в подавляющем большинстве случаев можно и без этого обойтись.M. Ridcully wrote: 15 Jan 2018 04:11 STL - как раз тот не очень частый случай, когда лезть в исходники реализации библиотеки особого резона нет.
Хотя я вот наблюдал ситуацию, когда портирование несложного в принципе кода с MacOs на windows доставило много радости из-за наличия custom allocators, которые замечательно компилировались на MacOs, но не на windows. Или, скажем, те же custom allocators работали быстрее стандартного под MacOs, вдруг оказались медленнее стандартного на windows в той же, казалось бы, ситуации.
Так что, иногда приходится лезть в дебри, хотя, на мой персональный взгляд, по настоящему сложный код читать достаточно тяжело.
-
- Уже с Приветом
- Posts: 3003
- Joined: 14 Apr 2004 01:11
- Location: SFBA (было: Минск, Беларусь)
Re: А был ли мальчик? (помянем плюсы)
Что "делает" код, состоящий только из объявлений? Вопрос действительно риторический...Prosche wrote: 15 Jan 2018 05:53 Вот например, что делает этот код? (вопрос риторический, не надо отвечать)
???
"Отцы" ввалят за грязь в коде - лишняя `;` после определения конструктора. Да, можно. Но тем не менее...Prosche wrote: 15 Jan 2018 05:53Сведу пример к простейшему:
Старики заявили, что копи конструктор, "продвинутая" молодежь, что "конечно же мув".
И отдельно добавят, что спецификация языка не оговаривает поведение текстовых потоков в ситуациях, когда последняя строка в текстовом потоке не заканчивается символом перевода строки.
Last edited by AndreyT on 15 Jan 2018 18:29, edited 1 time in total.
Best regards,
Андрей
Андрей