Кому ваще этот С++ нужен?
От: кубик  
Дата: 18.05.15 15:43
Оценка: 1 (1) +2 -3 :))) :))) :))) :))) :))
Всем привет,
Я вощем то С++ программист, звезд с неба не хватаю, писал всяикий аккаунтинг в стиле С++ с классами.
Сейчас открыл книгу Effective Modern C++ про С++14,С++11 и думаю, блин, для кого они все это придумывают?! Для самих себя?

Напрмиер было:

typedef void (*FP)(int, const std::string&); // typedef

Стало:

using FP = void (*)(int, const std::string&);

Там, мля, целый комитет умников сидит, они что, сразу не могут примдумать как нормально сделать?
Конечно как бы все улучшилось, но это только потому что до этого все ухудшалось так что и компилер не сразу выпустишь.
Re: Кому ваще этот С++ нужен?
От: kr510  
Дата: 18.05.15 17:12
Оценка: +1
Здравствуйте, кубик, Вы писали:

К>Всем привет,

К>Я вощем то С++ программист, звезд с неба не хватаю, писал всяикий аккаунтинг в стиле С++ с классами.
К>Сейчас открыл книгу Effective Modern C++ про С++14,С++11 и думаю, блин, для кого они все это придумывают?! Для самих себя?

Да, читаемость кода порой лучше не стала. Порой надо прилагать усилия что-бы понять какие типы стоят за auto. Получается своеобразный write-only код. С другой стороны, хорошо, что язык развивается. Никто, обычно, не заставляет пихать всё самое последнее.
Re[2]: Кому ваще этот С++ нужен?
От: Nikе Россия  
Дата: 18.05.15 17:27
Оценка: +5 :)
Здравствуйте, kr510, Вы писали:

K>Да, читаемость кода порой лучше не стала.

Читаемость кода порой стала намного лучше. А если код нечитаем — то скорее всего ручки не от туда растут
Нужно разобрать угил.
Re: Кому ваще этот С++ нужен?
От: jazzer Россия Skype: enerjazzer
Дата: 18.05.15 17:45
Оценка: 1 (1) +6 :))) :))) :))) :))) :))) :)
Здравствуйте, кубик, Вы писали, что С++ не нужен.
Вы совершенно правы.
Спасибо.
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
Re[2]: Кому ваще этот С++ нужен?
От: Grienders Земля  
Дата: 18.05.15 18:24
Оценка:
Здравствуйте, jazzer, Вы писали:

J>Здравствуйте, кубик, Вы писали, что С++ не нужен.

J>Вы совершенно правы.
J>Спасибо.

а у тебя, кстати, грамматическая ошибка в подписи.
Re[2]: Кому ваще этот С++ нужен?
От: Sheridan Россия  
Дата: 18.05.15 21:36
Оценка: +1
Здравствуйте, kr510, Вы писали:
K>Да, читаемость кода порой лучше не стала. Порой надо прилагать усилия что-бы понять какие типы стоят за auto.
А разве кто-то заставляет этот auto трогать?
Matrix has you...
Re: Кому ваще этот С++ нужен?
От: smeeld  
Дата: 18.05.15 21:42
Оценка: +2 -1 :)))
Здравствуйте, кубик, Вы писали:

К>Там, мля, целый комитет умников сидит, они что, сразу не могут примдумать как нормально сделать?

К>Конечно как бы все улучшилось, но это только потому что до этого все ухудшалось так что и компилер не сразу выпустишь.

Не беспокойтесь, когда C++ окончательно разовьётся, он приобретёт вид того самого Cи c классами, которым
Страус рукоблудил сам с собой в самом начале этого C++-психоза. Всё остальное, что придумали в последние 20 лет,
из С++ просто выкинут.
Re[2]: Кому ваще этот С++ нужен?
От: Cyberax Марс  
Дата: 19.05.15 00:07
Оценка: +1 -1
Здравствуйте, smeeld, Вы писали:

S>Не беспокойтесь, когда C++ окончательно разовьётся, он приобретёт вид того самого Cи c классами, которым

S>Страус рукоблудил сам с собой в самом начале этого C++-психоза. Всё остальное, что придумали в последние 20 лет,
S>из С++ просто выкинут.
Не надо бредить. В современном С++ нафиг никому не сдались те самые классы с виртуальным наследованием и прочим.

А вот деструкторы, шаблоны и умные указатели очень даже используются.
Sapienti sat!
Re: Кому ваще этот С++ нужен?
От: кубик  
Дата: 19.05.15 01:29
Оценка: :))) :)
Я забулькало после главы const_iterator. Мне уверяли еще оч давно (STL я учил по докам еще скачаным с SGI), используйте их, но я их не использовал. потому что как че, все надо будет менять на обыч итераторы. Я еще думал, че они пристали с конст итераторами. Они сами их вообще используют ?

Сейчас этот Майерс опять пишет: С98 с конст итераторами было грустно:

Просто что б поискать одно число и вставить после него или в конец другое:

typedef std::vector<int>::iterator IterT; // typetypedef
std::vector<int>::const_iterator ConstIterT; // defs

ConstIterT ci = std::find(static_cast<ConstIterT>(values.begin()), static_cast<ConstIterT>(values.end()), 1983);
values.insert(static_cast<IterT>(ci), 1998);

Блин, тут на туннельн синдром заработаещь запросто! Столько приходится писать лишнего ...
Re[3]: Кому ваще этот С++ нужен?
От: kr510  
Дата: 19.05.15 03:45
Оценка:
Здравствуйте, Sheridan, Вы писали:

K>>Да, читаемость кода порой лучше не стала. Порой надо прилагать усилия что-бы понять какие типы стоят за auto.

S>А разве кто-то заставляет этот auto трогать?

Типа часть новых с11 плюшек. Об этом, вроде, идёт речь в топике.
Re: Кому ваще этот С++ нужен?
От: мыщъх США http://nezumi-lab.org
Дата: 19.05.15 04:27
Оценка: 1 (1) :))) :)))
Здравствуйте, кубик, Вы писали:

Subj: Кому ваще этот С++ нужен?
хз. я тут в сша никак не встречу никого кому бы он был нужен. везде чистый си без плюсов. правда у меня специализация. уже не только с винды слез, но и даже с интела и сейчас вижу все больше MIPS вокруг себя. ARM за ним идет с большим отрывом. а винда... ну она как бы есть. в магазине. но хз кто под нее что разрабатывает и почему.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.
Re[4]: Кому ваще этот С++ нужен?
От: Sheridan Россия  
Дата: 19.05.15 04:30
Оценка:
Здравствуйте, kr510, Вы писали:

S>>А разве кто-то заставляет этот auto трогать?


K>Типа часть новых с11 плюшек. Об этом, вроде, идёт речь в топике.


Ну, без auto вполне жить можно.
Matrix has you...
Re: Кому ваще этот С++ нужен?
От: 0BD11A0D  
Дата: 19.05.15 06:20
Оценка: 12 (7) +6 :))) :)))
Здравствуйте, кубик, Вы писали:

Последние лет десять думаю об этом. История, по-моему, была такая.

Изначально у сей (не плюсов) была ниша кросс-платформенного ассемблера — полный (и, ключевой момент — естественный) доступ к железу и скорость. Важным моментом был сокращенный синтаксис — все эти {}, &, *, ?: и так далее.

Параллельно существовали мощные объектно-ориентированные языки, которые обладали очень слабой производительностью. Страуструп писал на одном таком серьезную систему, не смог добиться перфы, плюнул и переписал на сях, после чего создал для себя новый инструмент — немного классов, чтоб организовывать код, и транслятор в си. Это была свободная ниша и плюсы туда пришлись как нельзя лучше, что и обеспечило им господство на долгие годы.

Потом пришла пора шаблонного программирования и начались чудеса.

Во-первых, фокус с функционала переместился на «архитектуру». Извините меня, но std:(w)string это ХУДШАЯ РЕАЛИЗАЦИЯ строк, которую я когда либо видел. Она же не умеет просто ничего! Форматирование? Старый добрый си. Перевод регистра? Либо явный перебор, либо навесной бустовский алгоритм (и да, буст до сих пор НЕ часть языка). Смена UTF-8 на UTF-16? Самописный велосипед. Для чего нужен класс, который ничего полезного не делает? Служит флажком в земле (штандартом)? Разве в стандартной библиотеке Си были функции для штандартизации? Нет, они все делали что-то очень полезное.

А это очень важный звоночек. Он звенит, когда программисты перестают заниматься чем-то полезным (для непрограммистов) и начинают страдать херней, раздуваясь от ЧСВ.

Во-вторых, шаблоны пошли вразрез с тем, что добавлял Страуструп. Вместо инкапсуляции алгоритмов под капот, чтобы не запинаться при работе над частной задачей, все кишки вытащили наружу и шагу ступить нельзя, чтобы не попасть в какой-нибудь a.begin(), a.end(), b.end().

Дальше — хуже. Сокращенный синтаксис стал черезвычайно многословным. static_cast<T>(o) вместо (T*) o и прочие бла-бла-бла. Шаблоны стали использоваться для чего угодно помимо обобщения. В библиотеке, претендующей на штандартность (бусте) встречаются трюки типа использования наследования для достраивания функционала (less или как там его). Не в реализации, нет! В юзерском коде! Производительность всего этого дела неявно падала все время. Если почитать, что пишут создатели требовательных к перфе приложений (движков, например), это будет «никакого STL никогда и ни за что!». А прогресс ведь тоже на месте не стоял и железо становилось мощнее. Неудивительно, что в TIOBE плюсы вдвое уступают как голому C, так и медленной Джаве.

Единственное преимущество, которое у плюсов остается, это ВЕНДОРОНЕЗАВИСИМОСТЬ. С Джавой связываться — тащить ее на целевую платформу, а ни хостеры, ни виндовые юзеры ее очень не любят. Шарп — ну, понятно, до недавнего времени это был evil Microsoft (что дальше с ним будет — увидим).

Резюме: стоит хорошему языку вырваться на волю, и конец этой груде мусора.
Re[2]: Кому ваще этот С++ нужен?
От: greenpci  
Дата: 19.05.15 07:04
Оценка: 1 (1) +2 :)
Здравствуйте, 0BD11A0D, Вы писали:

BDA>Во-первых, фокус с функционала переместился на «архитектуру». Извините меня, но std:(w)string это ХУДШАЯ РЕАЛИЗАЦИЯ строк, которую я когда либо видел. Она же не умеет просто ничего! Форматирование? Старый добрый си. Перевод регистра? Либо явный перебор, либо навесной бустовский алгоритм (и да, буст до сих пор НЕ часть языка). Смена UTF-8 на UTF-16? Самописный велосипед. Для чего нужен класс, который ничего полезного не делает? Служит флажком в земле (штандартом)? Разве в стандартной библиотеке Си были функции для штандартизации? Нет, они все делали что-то очень полезное.


да, ладно. std::string нужен для управления памятью и ничего лишнего. Это минимализм, товарищь. Тот самый, который является идеалом создателей гугла. В книжках пишут, что stl включает в себя только то, чем пользуются наибольшее количество программистов. Пихать все подряд в один класс — это антипатерн, который запрещен на всех языках. Поэтому все вынесено в разные блоки.

BDA>А это очень важный звоночек. Он звенит, когда программисты перестают заниматься чем-то полезным (для непрограммистов) и начинают страдать херней, раздуваясь от ЧСВ.


А на каком языке такого нет? В джава скрипте что-ли? Они на всех языках этим занимаются. Самый чистый язык в этом плане, это Си. Все остальное плодородная почва для "технических игр". Вы бы видели что происходит на дот нете. Там, каждые пол года выпускают новый подход (к параллелизации например) и каждый, кто выучил очередной подход, начинает гордиться и пихать его везде, куда не надо.

BDA>Во-вторых, шаблоны пошли вразрез с тем, что добавлял Страуструп. Вместо инкапсуляции алгоритмов под капот, чтобы не запинаться при работе над частной задачей, все кишки вытащили наружу и шагу ступить нельзя, чтобы не попасть в какой-нибудь a.begin(), a.end(), b.end().


Это компенсируется стабильностью. Опытный программист обучается обходить грабли и использует это умение много лет. Да, порог вхождения выше, зато, когда вошел, выходить не надо еще много лет, в отличии от того же дот нета.

BDA>Дальше — хуже. Сокращенный синтаксис стал черезвычайно многословным. static_cast<T>(o) вместо (T*) o и прочие бла-бла-бла. Шаблоны стали использоваться для чего угодно помимо обобщения. В библиотеке, претендующей на


это потому, что static_cast это антипатерн. Так и было задумано, чтобы его реже использовали и он резал глаза.

BDA>штандартность (бусте) встречаются трюки типа использования наследования для достраивания функционала (less или как там его). Не в реализации, нет! В юзерском коде! Производительность всего этого дела неявно падала все


я читал про разные тесты коней в вакууме, где доказывалось, что дот нет такой же быстрый, как и Си плюс плюс. А теперь запустите и закройте Студию десять раз, а потом Qt Creator. Разница очень существенная.

BDA>Единственное преимущество, которое у плюсов остается, это ВЕНДОРОНЕЗАВИСИМОСТЬ. С Джавой связываться — тащить ее на целевую платформу, а ни хостеры, ни виндовые юзеры ее очень не любят. Шарп — ну, понятно, до недавнего времени это был evil Microsoft (что дальше с ним будет — увидим).


а сколько всего уже написано на плюсах, особенно бесплатного. Жадные и богатые корпорации обажают экономить и брать все забесплатно. А скрутить все части в один продукт легко даже на плюсах.

BDA>Резюме: стоит хорошему языку вырваться на волю, и конец этой груде мусора.


Для этого нужно очень много времени и высокие затраты без быстрой отдачи. В современном мире это все сложнее и сложнее. Все хотят денег прямо сейчас. Теперь никто не даст очередному "Страуструпу" сидеть и ваять новый язык.
Re[3]: Кому ваще этот С++ нужен?
От: smeeld  
Дата: 19.05.15 07:48
Оценка: +1 -2 :))) :)))
Здравствуйте, Cyberax, Вы писали:

C>А вот деструкторы, шаблоны и умные указатели очень даже используются.


Вы говорите как школяр. Ни деструкторы, ни умные указатели (дибилизм сами по себе) не есть хоть
немного значимая фишки C++, а шаблоны вообще ущербны, по сравнению с средствами, предназначенными
для тех же целей, присутствующими в других ЯП. Сравните для начала С++ шаблоны с Лисповыми макросами.
Re[3]: Кому ваще этот С++ нужен?
От: kr510  
Дата: 19.05.15 07:56
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>А вот деструкторы, шаблоны и умные указатели очень даже используются.


шаблоны, конечно, пользуют, но с ними тоже надо аккуратно. Чуть что посложнее и опять получаем write only код. Да и держать реализацию в .h как-то криво.
Re[2]: Кому ваще этот С++ нужен?
От: Nikе Россия  
Дата: 19.05.15 11:00
Оценка:
Здравствуйте, 0BD11A0D, Вы писали:

BDA>Во-первых, фокус с функционала переместился на «архитектуру». Извините меня, но std:(w)string это ХУДШАЯ РЕАЛИЗАЦИЯ строк, которую я когда либо видел.

Сюрпрайз — это НЕ является реализацией строк. Это контейнер для хранения строк.
А так, да, штука убогая, как и реализация потоков.
И list без стратегий тоже почти бесполезен.
Нужно разобрать угил.
Re[3]: Кому ваще этот С++ нужен?
От: 0BD11A0D  
Дата: 19.05.15 12:40
Оценка:
Здравствуйте, greenpci, Вы писали:

G>да, ладно. std::string нужен для управления памятью и ничего лишнего. Это минимализм, товарищь. Тот самый, который является идеалом создателей гугла. В книжках пишут, что stl включает в себя только то, чем пользуются наибольшее количество программистов. Пихать все подряд в один класс — это антипатерн, который запрещен на всех языках. Поэтому все вынесено в разные блоки.


Во-первых, это бездумная ссылка на авторитетов, которая, как паттерн поведения, устарела еще до Просвещения. Ну, гугл, и что? Нам, современным людям, нужно объяснение, почему это плохо. Объяснения я не увидел.

Во-вторых, нет слова «антипаттерн», вас кто-то обманул. Неявная теория за этим словом стоит такая: есть книжка GoF и там перечислены паттерны. Они хорошие и их надо употреблять. А есть всякие паблики морозовы. Они плохие и их употреблять не надо. Потому и антипаттерны. Есть, кстати, более изощренная версия этой теории: что паттерн это просто обобщение, а в книжке GoF перечислены как плохие, так и хорошие паттерны, но нейтрально, без указания кто из них кто. Что наводит на вопрос, почему банда скрыла такую ценную информацию от народа. А на самом деле, наши взгляды просто меняются и то, что вчера казалось хорошим, сегодня кажется плохим. Я уж молчу, что все это в контексте какой-то цели, которая у вас с гуглом может быть разная.

Так вот, про цели и объяснения. Что значит «минимализм»? Ничего лишнего в бинарях? Это C++, он статически линкуется, главное, дайте исходники. Я вас уверяю, что если никто не вызовет String::Split, этот код в конечный продукт не попадет. Ничего лишнего в головах? Ну так он там и так есть, поскольку есть в ECMAScript. Или, может быть, в хайлоудных проектах гугла ни одна универсальная реализация не годится, ибо подправленная реализация даже с выигрышем в миллисекунду дает общий профит? И поэтому гугл-wannabe программисты в говноконторах так старательно следуют этим правилам? У меня для них плохая новость: вряд ли программисты с допросвещенческим майндсетом нужны в гугле.

BDA>>А это очень важный звоночек. Он звенит, когда программисты перестают заниматься чем-то полезным (для непрограммистов) и начинают страдать херней, раздуваясь от ЧСВ.


G>А на каком языке такого нет? В джава скрипте что-ли? Они на всех языках этим занимаются. Самый чистый язык в этом плане, это Си. Все остальное плодородная почва для "технических игр". Вы бы видели что происходит на дот нете. Там, каждые пол года выпускают новый подход (к параллелизации например) и каждый, кто выучил очередной подход, начинает гордиться и пихать его везде, куда не надо.


Дело не в том, где такого совсем нет. Дело в том, что платят за результат (который сам на 3/4 очковтирательство, но это неважно). И программист, ориентированный на результат, сталкивается с тем, что во всех приличных языках в системной библиотеке есть нужный ему код, а в этом языке — нет. Что делает язык не очень подходящим для использования программистами, ориентированными на результат. О чем и речь.

BDA>>Во-вторых, шаблоны пошли вразрез с тем, что добавлял Страуструп. Вместо инкапсуляции алгоритмов под капот, чтобы не запинаться при работе над частной задачей, все кишки вытащили наружу и шагу ступить нельзя, чтобы не попасть в какой-нибудь a.begin(), a.end(), b.end().


G>Это компенсируется стабильностью. Опытный программист обучается обходить грабли и использует это умение много лет. Да, порог вхождения выше, зато, когда вошел, выходить не надо еще много лет, в отличии от того же дот нета.


Перефразаирую: да, дерьмо, но зато они его не исправляли много лет. От себя добавлю: и не собираются.

BDA>>Дальше — хуже. Сокращенный синтаксис стал черезвычайно многословным. static_cast<T>(o) вместо (T*) o и прочие бла-бла-бла. Шаблоны стали использоваться для чего угодно помимо обобщения. В библиотеке, претендующей на


G>это потому, что static_cast это антипатерн. Так и было задумано, чтобы его реже использовали и он резал глаза.


Опять антипаттерн. Ну ладно, а какой кастинг не антипаттерн? Только не говорите, что все — они и без указателей нужны, а уж с указателями-то просто must have.

BDA>>штандартность (бусте) встречаются трюки типа использования наследования для достраивания функционала (less или как там его). Не в реализации, нет! В юзерском коде! Производительность всего этого дела неявно падала все


G>я читал про разные тесты коней в вакууме, где доказывалось, что дот нет такой же быстрый, как и Си плюс плюс. А теперь запустите и закройте Студию десять раз, а потом Qt Creator. Разница очень существенная.


Я тут одному товарищу рассказывал уже, но он мне не поверил. Сильно подозреваю, не осилил драйвера или держит какой-нибудь MacAfee. Поставьте себе не откровенно плохой SSD размером на полтерабайта, установите на него систему, файл подкачки, поставьте побольше памяти и у вас все, включая фотошоп, будет запускаться настолько быстро, насколько возможно. В частности, разницы между QtCreator'ом и студией вы не увидите.

Кроме того, есть, знаете ли, разница в функционале между первым и вторым.

BDA>>Единственное преимущество, которое у плюсов остается, это ВЕНДОРОНЕЗАВИСИМОСТЬ. С Джавой связываться — тащить ее на целевую платформу, а ни хостеры, ни виндовые юзеры ее очень не любят. Шарп — ну, понятно, до недавнего времени это был evil Microsoft (что дальше с ним будет — увидим).


G>а сколько всего уже написано на плюсах, особенно бесплатного. Жадные и богатые корпорации обажают экономить и брать все забесплатно. А скрутить все части в один продукт легко даже на плюсах.


Много раз слышал это утверждение, но на практике оно, чаще всего, означает стопицотый велосипед, который делает то, что FCL умела с первой версии. Если же речь идет о чем-то узкоспециализированном, то есть, вещах с малым инпутом и большой обработкой внутри, никто не мешает собирать ее в модуль и дергать откуда угодно.

BDA>>Резюме: стоит хорошему языку вырваться на волю, и конец этой груде мусора.


G>Для этого нужно очень много времени и высокие затраты без быстрой отдачи. В современном мире это все сложнее и сложнее. Все хотят денег прямо сейчас. Теперь никто не даст очередному "Страуструпу" сидеть и ваять новый язык.


Страуструп, по-моему, это делал в рамках прикладной задачи. Богатыри, не мы, и т.д. и т.п.
Re[3]: Кому ваще этот С++ нужен?
От: 0BD11A0D  
Дата: 19.05.15 13:28
Оценка: +3 :)
Здравствуйте, Nikе, Вы писали:

BDA>>Во-первых, фокус с функционала переместился на «архитектуру». Извините меня, но std:(w)string это ХУДШАЯ РЕАЛИЗАЦИЯ строк, которую я когда либо видел.

N>Сюрпрайз — это НЕ является реализацией строк. Это контейнер для хранения строк.
N>А так, да, штука убогая, как и реализация потоков.
N>И list без стратегий тоже почти бесполезен.

Если в том месте, где у других языков находится класс для работы со строками (а то и два, если иммутабельность), у C++ находится контейнер для хранения, это значит, что вот такие вот там строки.

Я все могу простить. И то, что эстетически система наименований делалась людьми, которые, очевидно, мало книжек в детстве читали. И даже то, что operator wchar_t* («wchar_t»! буэ!) в строках нет (те, кто говорят, что он там небезопасен — вспомните, как писали на MFC, а ТАМ ОН БЫЛ. Хоть раз это привело к проблемам? Расскажите, не стесняйтесь). Но вот то, что без скачивания носорога-буста под лозунгом минимализьма или возврата к старым добрым C-функциям, со строкой мало что полезного можно сделать — это простить нельзя никак.
Re[4]: Кому ваще этот С++ нужен?
От: Nikе Россия  
Дата: 19.05.15 13:46
Оценка:
Здравствуйте, 0BD11A0D, Вы писали:

BDA>>>Во-первых, фокус с функционала переместился на «архитектуру». Извините меня, но std:(w)string это ХУДШАЯ РЕАЛИЗАЦИЯ строк, которую я когда либо видел.

N>>Сюрпрайз — это НЕ является реализацией строк. Это контейнер для хранения строк.
N>>А так, да, штука убогая, как и реализация потоков.
N>>И list без стратегий тоже почти бесполезен.

BDA>Если в том месте, где у других языков находится класс для работы со строками (а то и два, если иммутабельность), у C++ находится контейнер для хранения, это значит, что вот такие вот там строки.

Да, язык в этом плане кривой, приходится использовать велосипеды.

BDA>Я все могу простить. И то, что эстетически система наименований делалась людьми, которые, очевидно, мало книжек в детстве читали. И даже то, что operator wchar_t* («wchar_t»! буэ!) в строках нет (те, кто говорят, что он там небезопасен — вспомните, как писали на MFC, а ТАМ ОН БЫЛ. Хоть раз это привело к проблемам? Расскажите, не стесняйтесь).

Он там не нужен. Есть специальная функция. А я вообще уже лет 8 не использую char* и wchar_t* для чего-либо, кроме связи с другими либами. Но все эти связи заврапленны и не видны.
Нужно разобрать угил.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.