Re[3]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: LaptevVV Россия  
Дата: 15.12.03 06:48
Оценка:
Здравствуйте, AndrewVK, Вы писали:

LVV>>Компилятор в своем классическом виде — это устаревшая концепция.

LVV>>ДОСТАЛО в IDE набирать программу посимвольно!
AVK>Вобщем UML
Ну, в системах проектирования — аналогичные идеи тоже катят.
AVK>На самом деле для промышленного применения такая концепция не годится, только студентов учить.
Студентов учить — это да.
Но почему в промышленном программировании не катит? Доводы?
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.12.03 07:36
Оценка:
Здравствуйте, LaptevVV, Вы писали:

AVK>>Вобщем UML

LVV>Ну, в системах проектирования — аналогичные идеи тоже катят.

Почему проектирования? UML это не только проектирование.

LVV>Но почему в промышленном программировании не катит? Доводы?


Неудобно и неприспособлено к написанию реальных систем — много лишних действий и плохо себя ведет при сложном коде.
... << RSDN@Home 1.1.2 beta 2 >>
AVK Blog
Re[5]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: LaptevVV Россия  
Дата: 15.12.03 07:41
Оценка:
Здравствуйте, AndrewVK, Вы писали:

LVV>>Но почему в промышленном программировании не катит? Доводы?

AVK>Неудобно и неприспособлено к написанию реальных систем — много лишних действий и плохо себя ведет при сложном коде.
Ввобще-то откуда такие выводы? Где-нить юзал подобный инструмент?
ИМХО — после проб можно и подкорректировать, что особо неудобно.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: mrhru Россия  
Дата: 15.12.03 07:45
Оценка:
Здравствуйте, LaptevVV, Вы писали:

M>> Действительно хорошая идея!

M>>Гм. А как насчёт оптимизации? Или потом "компилировать окончательно"?
M>>А если программа находится в ещё не готовом виде и её просто нельзя откомпилироваь в MSIL?

LVV>Ну, это еще в 70-х проходили — так называемые пошаговые компиляторы.


А это точно, что с помощью пошаговой компиляции можно сохранять любые незавершённые конструкции?

M>>Я так понимаю, в редакторе будут помечаться места, где можно что-то писать своё?

M>>А фактически даже не писать, а в соответствии с грамматикой языка редактор может предоставлять список возможных "ходов".
M>>PS. Не воспринимайте серьёзно, почему-то представилось:
M>>Вот программист хочет написать a = b + c;
M>>написал
M>>a = b
M>>и нажал Ctrl+Space.
M>>IDE заглянул в грамматику, там написано "+" | "-" | "*" | "/"
M>>и выдаёт wizard:
LVV>Поскипано
LVV>Не, кроме арифметических операций представить ничего невозможно, да

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

LVV>Как раз выражения разрешается вводить посимвольно.

LVV>Но тут прямо просится следующее:
LVV> — следитбь за вводом чисел;
LVV>- следить за объявленными-необъявленными именами.
LVV>Это навскидку только.

Совершенно согласен.

Здесь, пожалуй, основные проблемы, это удобства работы для программиста. Чтобы ограничения, накладываемые редактором, не мешали.
Re[6]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 15.12.03 07:56
Оценка: +4
Здравствуйте, LaptevVV, Вы писали:

LVV>Ввобще-то откуда такие выводы?


Я видел много способов описания кода, но ничего удобнее текста пока не приметил.
... << RSDN@Home 1.1.2 beta 2 >>
AVK Blog
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: mihailik Украина  
Дата: 15.12.03 13:01
Оценка:
LVV>Не, кроме арифметических операций представить ничего невозможно, да
LVV>Как раз выражения разрешается вводить посимвольно.
LVV>Но тут прямо просится следующее:
LVV> — следитбь за вводом чисел;
LVV>- следить за объявленными-необъявленными именами.
LVV>Это навскидку только.

Имеет смысл делать что-то вроде Smart-Tags, более жёсткая автоматизация бесперспективна. По мере ввода текста анализатор колбасит и навешивает ярлычки на наиболее подозрительные места. FxCop+фоновая компиляция в одном флаконе.

Да ещё в модели SmartTags придётся умерить настырность, а то все знают, как Word автокорректирует А программеры — это же не юзеры. Им такая "помощь" ещё больше обидит. А уж за жёсткий контроль так просто сотрут с винта систему, даже feedback не пошлют.
... << RSDN@Home 1.1.0 stable >>
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.12.03 14:10
Оценка: :)
Здравствуйте, LaptevVV, Вы писали:

VD>>Проснулся. В Gupta SQLWindows — это было еще в 94-ом году! Кое что скоро появится в Видби.

LVV>А должно было появиться — в году этак 1984

Боюсь тебя огорчить, но уже в 95-от в Гупту был добавлен экспорт/импорт из текстового формата. Так что на сегодня кроме как чудным редактором они не отличаются. Что же касается 84-го... Идея тупиковая, так что хоть 2024-ом, хоть в 1824, значения не имеет.

LVV>Не-е-е-е-е-т!


Агащасблин.

LVV>Эт я просто про редактор написал, а здесь же гипертекстовая организация проекта с завязкой на код здорово катит!


Еще одно красивое (в прошлом) слово. Жаль только еще более бессмысленное. Гипертекст и разработка ПО вещи очень далекие.

LVV>Только лексить и парсить — не требуется правильный текст — он правильный!


Это мелкая подзадача. Ее решение давно найдено и мало кого интересует. А вот отсуствие читабельной "твердой копии" — это огромнейшая проблема.

LVV>Нужна только часть касающаяся перевода — Даже промежуточное представление генерировать отдельно специально — не нужно — оно при вводе сразу генерится.


Ничего ни где сразу не возникает. В таком редакторе ты получишь частично разобранный, в дерево разбора, код. Не более того. Никакого промежуточного представления ты не получишь. Ты даже нормального дага не получишь.

LVV>Ага, просто никто всерьез этим не занимался.


Ты серьезно считаешь себя умнее, чем весь остальной мир? Все кто занимались подобным подходом, продумывали разные варианты. Догадайся на чем остановились?

LVV> Не вижу принципиальных проблем хранить версию текста


Так и стали делать. Только при этом говорить, об отсутствии чего бы то ни было просто смешано. Получается стандартнейшая схема плюс интеллектуальный редактор.

LVV> или версию программы ( на IL — см. выше).


IL не позволяет хранить всю информацию присутствующую в коде. Да и работать с ним неудобно (практически невозможно).

LVV>Ну, так это дополнительная фича, естественно для обратной совместимости с сегодняшними компиляторами-редакторами.


Не. Это единственный разумный вариант. Но тут мы приходим к одному выводу. Компилятор все равно нужен. А стало быть все это бессмысленные рассуждения, так как текстовый редактор не более чем тулз для редактирования кода.

LVV>И не надо!


Зачем тогда вообще было эту подветку открывать? Тут идет речь о создании нового языка. Зачем переводить все в бессмысленные рассуждения на сопутствующие темы?

LVV> Исчезнет масса рутинной работы и куча раздражающих ошибок. Особеноо для начинающих.


Ни грамма не исчезнет. То о чем ты говоришь, если откинуть утопичные идеи — это всего лишь интеллектуальный редактор кода. Редактор в студии и так очень интеллектуальный. И не факт, что повышение ограничений понравится людям. А главное, что это офтопик в данной теме.

LVV>Да. Только лексить и парсить правильный текст не надо.


Это не та проблема, над решением которой стоит трудиться. Интеллектуальный редактор не замена компилятору.

LVV> А отсюда все разговоры о написании лекс ера и парсера — просто не нужны.


Не. Не нужны вот эти твои утопичные разговоры. А лексеры и парсеры будут нужны до тех пор пока существует само понятие языков программирования. Любой самый визуальный язык (вроде UML) все равно где-то нужно хранить.

PS

Подитожу...

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

Отсюда разговоры о ненужности парсера и лексера бессмысленны. Разговаривать имеет смысл только об интеллектуальном редакторе. Но это уже выходит за пределы этой темы.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.03 01:02
Оценка:
Здравствуйте, mrhru, Вы писали:

M>А это точно, что с помощью пошаговой компиляции можно сохранять любые незавершённые конструкции?


Качество будет хреновое и ограничений куча. Но в принципе можно. В гупте так и было.

Вот только задалбывать будет, что нельзя не объявив ххх его использовать в выражении. Делать все по порядку иногда очнь задалбывает.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[5]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.03 01:02
Оценка:
Здравствуйте, mihailik, Вы писали:

M>Имеет смысл делать что-то вроде Smart-Tags, более жёсткая автоматизация бесперспективна. По мере ввода текста анализатор колбасит и навешивает ярлычки на наиболее подозрительные места. FxCop+фоновая компиляция в одном флаконе.


О, блин! Васик.Видби, адназначна . Мелкие файлы и то тормозят как бревно в дверном проеме. А в итоге нифрена не может угадать, что я пытаюсь изобразить. Я с описанием импорта функции из длл бьюсь, а он урод предлагает слово статик на dim махнуть. Тупой. Не значет, что я его с шаредом перепутал.

В общем, это называется американской помешью. Уж лучше по проще (как в Шарпе), но не так тормозно и "интеллектуально".

M>Да ещё в модели SmartTags придётся умерить настырность, а то все знают, как Word автокорректирует


Во-во. Ворд еще ладно. А вот то, что в ХаРэ-шном Ёкселе эти уродские теги закрыть было нельзя — это уже задница. Перекрывают данные и все тебе.

M>А программеры — это же не юзеры. Им такая "помощь" ещё больше обидит. А уж за жёсткий контроль так просто сотрут с винта систему, даже feedback не пошлют.


... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[4]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.03 01:02
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Но почему в промышленном программировании не катит? Доводы?


Потому-что неудобно. Навороченная среда вроде студии дает все те же приемущества, только не засовывает в уродские рамки создаваемые подобными "безспарсерными" идеологиями.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.03 01:02
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Ввобще-то откуда такие выводы? Где-нить юзал подобный инструмент?


Подтверждаю. Я юзал. Неудобно. В студии на порядок лучше.

LVV>ИМХО — после проб можно и подкорректировать, что особо неудобно.


Вот народ и пришел к выводу, чно нужно наворачивать обычный редактор, а не пытаться обойтись без парсера.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: LaptevVV Россия  
Дата: 17.12.03 08:29
Оценка:
Здравствуйте, VladD2, Вы писали:


VD>Качество будет хреновое и ограничений куча. Но в принципе можно. В гупте так и было.

VD>Вот только задалбывать будет, что нельзя не объявив ххх его использовать в выражении. Делать все по порядку иногда очнь задалбывает.
Не обязательно. Вспомните ассемблер. Там имя можно использовать ДО объявления — и ничего. Претензии по по поводу двухпроходной трансляции — не принимаются — хорошо известен принцип однопроходной трансляции с возвратами для корректировки ранее отмеченного места по результатам вновь полученной информации. Просто окончательная трансляция с оптимизацией не делается, пока все не объявлено. А так — пусть себе висит флажок, что не объявлено.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[5]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: LaptevVV Россия  
Дата: 17.12.03 08:43
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Боюсь тебя огорчить, но уже в 95-от в Гупту был добавлен экспорт/импорт из текстового формата.

Ну, это очевидно, что надо было делать так с самого начала — для обратной совместимости.
LVV>>Эт я просто про редактор написал, а здесь же гипертекстовая организация проекта с завязкой на код здорово катит!
VD>Еще одно красивое (в прошлом) слово. Жаль только еще более бессмысленное. Гипертекст и разработка ПО вещи очень далекие.
Ага, а перекрестные ссылки по определениям и вызовам в модулях-классах? Что это как не гипертекст.
VD>Это мелкая подзадача. Ее решение давно найдено и мало кого интересует. А вот отсуствие читабельной "твердой копии" — это огромнейшая проблема.
БЛИНННННН!!!!!!!!! да кто говорит про отсутствие-то!!!!!!! Имейте себе на здоровье! Одно другому — не мешает.
VD>Ничего ни где сразу не возникает. В таком редакторе ты получишь частично разобранный, в дерево разбора, код. Не более того. Никакого промежуточного представления ты не получишь. Ты даже нормального дага не получишь.
VD>Ты серьезно считаешь себя умнее, чем весь остальной мир? Все кто занимались подобным подходом, продумывали разные варианты. Догадайся на чем остановились?
"Это спорный вопрос, между прочим. Ничего плохого я вам не сделал" (с) Лукашин.
А текстовый редактор — потому что проще реализовать, быстрей выпумстить в производство и соответственно, получить больше прибыли. Или это не понятно?
Страуструп именно о такой интегрированной среде говорит (Дизайн и эволюция С++ — завтра принесу книжку на работу и с точностью до предложения все напишу). ИДЕ ДОЛЖНА строится вокруг СЕМАНТИКИ языка. Я с ни абсолютно согласен — это к вопросу о том, кто умнее
LVV>> Не вижу принципиальных проблем хранить версию текста
VD>Так и стали делать. Только при этом говорить, об отсутствии чего бы то ни было просто смешано. Получается стандартнейшая схема плюс интеллектуальный редактор.
Ну так ......!!!!
И парсить нужды — нету!
VD>Не. Это единственный разумный вариант. Но тут мы приходим к одному выводу. Компилятор все равно нужен. А стало быть все это бессмысленные рассуждения, так как текстовый редактор не более чем тулз для редактирования кода.
Не-а! Это — основа ИДЕ — читайте Страуструпа (не меня — я скромный )

VD>Разговоре о чудо-редакторе избавляющем от необходимости парсинга текста — утопия, так как парсер нужен хотя бы для хранения и обработки текста в проекте (разные системы контроля версий и т.п.). Стало быть интеллектуальный редактор это только дополнительная утилита позволяющая облегчить и ускорить написание кода.


VD>Отсюда разговоры о ненужности парсера и лексера бессмысленны. Разговаривать имеет смысл только об интеллектуальном редакторе. Но это уже выходит за пределы этой темы.

Ну, я понял, что тебе эта тема просто неинтересна.
И естественно, новый язык ты собираешься реализовывать стандартнейшим способом.
Жаль.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[6]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 17.12.03 11:10
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>А текстовый редактор — потому что проще реализовать, быстрей выпумстить в производство и соответственно, получить больше прибыли. Или это не понятно?


Поэтому наверное в линуксе самые навороченные радакторы кода
... << RSDN@Home 1.1.2 beta 2 >>
AVK Blog
Re[7]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.03 14:54
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Не обязательно. Вспомните ассемблер. Там имя можно использовать ДО объявления — и ничего. Претензии по по поводу двухпроходной трансляции — не принимаются — хорошо известен принцип однопроходной трансляции с возвратами для корректировки ранее отмеченного места по результатам вновь полученной информации. Просто окончательная трансляция с оптимизацией не делается, пока все не объявлено. А так — пусть себе висит флажок, что не объявлено.


У тебя в редакторе будет безпроходная трансляция. И возвратов быть не может. Или контроля не будет, а это всю твою идею сводит на нет.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.03 14:54
Оценка: +1
Здравствуйте, LaptevVV, Вы писали:

VD>>Боюсь тебя огорчить, но уже в 95-от в Гупту был добавлен экспорт/импорт из текстового формата.

LVV>Ну, это очевидно, что надо было делать так с самого начала — для обратной совместимости.

Тогда зачем обсуждать создание редактора взамен парсера, если без парсера все равно никуда не денешся?

Посмотри на наши идеи по поводу метапрограммирования Метапрограммирование (к топику о новом языке)
Автор: AndrewVK
Дата: 16.12.03
. Там строится дерево которое можно будет изменять программно. Твой редактор может воспользоваться этим механизмом как движком позволяющим динамически добавлять код прямо в дерево разбора.

Но заводить разговор о замене редактором парсера бессмысленно.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[6]: Интеллектуальный редактор кода контролирующий синтаксис при вооде
От: VladD2 Российская Империя www.nemerle.org
Дата: 17.12.03 14:54
Оценка:
Здравствуйте, LaptevVV, Вы писали:


LVV>БЛИНННННН!!!!!!!!! да кто говорит про отсутствие-то!!!!!!! Имейте себе на здоровье! Одно другому — не мешает.


Ты Re: А это &mdash; мое видение.
Автор: LaptevVV
Дата: 11.12.03
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[7]: Интеллектуальный редактор кода контролирующий синтакс
От: LaptevVV Россия  
Дата: 19.12.03 15:25
Оценка:
Здравствуйте, VladD2, Вы писали:

LVV>>Ну, это очевидно, что надо было делать так с самого начала — для обратной совместимости.


VD>Тогда зачем обсуждать создание редактора взамен парсера, если без парсера все равно никуда не денешся?

Не взамен — а токмо для разбора текстов, подготовленных в других местах.
VD>Посмотри на наши идеи по поводу метапрограммирования Метапрограммирование (к топику о новом языке)
Автор: AndrewVK
Дата: 16.12.03
. Там строится дерево которое можно будет изменять программно. Твой редактор может воспользоваться этим механизмом как движком позволяющим динамически добавлять код прямо в дерево разбора.

Вот!!! Это именно то, о чем я говорил с самого начала — ты это классно сформулировал!
Дерево — только не разбора, а синтаксически-семантическое делается сразу — в редакторе.
А уж из него можно генерить — хочешь тебе — текст, хочешь — IL.
VD>Но заводить разговор о замене редактором парсера бессмысленно.
А парсер — это фактически конвертер из текста в дерево. Это дополнительная составляющая интегрированной среды (заметь, я не говорю — компилятора).
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Интеллектуальный редактор кода контролирующий синтаксис
От: DarkGray Россия http://blog.metatech.ru/post/ogni-razrabotki.aspx
Дата: 19.12.03 17:36
Оценка: 2 (1) +1
> Редактор ДОПУСКАЕТ символьный ввод ТОЛЬКО в нужных местах. Программист просто не сможет изменить ключевое слово, стереть скобку и т.д.

Это неправильно. Резко уменьшаются возможности редактирования.

Часто из одного корректного текста можно перейти к другому корректному тексту только через некорректный.

Пример:
int a; 
...
a = 1;


Перед нами стоит задача поменять тип переменной a на строковый.
У нас это не получится, потому что тип a мы не сможем поменять, потому что есть присваивание числа, а поменять a = 1 на строку тоже не сможем, потому что a объявлена как int.

Именно, поэтому системы, которые поддерживают только корректный ввод данных — обречены.
Re[8]: Интеллектуальный редактор кода контролирующий синтакс
От: VladD2 Российская Империя www.nemerle.org
Дата: 19.12.03 17:38
Оценка:
Здравствуйте, LaptevVV, Вы писали:

LVV>Не взамен — а токмо для разбора текстов, подготовленных в других местах.


Тут оно как с беременностью. Или парсер нужен. Или нет. А если он нужен. То редактор всего лишь удобная фишка.

Еще раз повторю. Если у тебя есть подобная идея, то создай отдельный топк. Не в последню очередь из-за этой подветки темы переехали сюда из дотнета.

Если бы модератором был я. То эта подветка уеха лы бы из той темы сразу же как я ее заметил бы.

LVV>Дерево — только не разбора, а синтаксически-семантическое делается сразу — в редакторе.


Это называется AST (абстрактное синтаксическое дерево). Более того унас это даже будет смесь AST и рефлекшона. Так вот создание AST в обход парсера являлось офтопиком в той теме. Неужели это не ясно?

LVV>А уж из него можно генерить — хочешь тебе — текст, хочешь — IL.


Ну, и зачем тогда говорить о редакторе как об отдельной фиче? Будет готов парсер. Возьми из него описание AST и сделай редактор который будет создавать AST. Вот только в AST много информации уже потеряно. Тут нужно несколько расширять AST вводя в него дополнительные элементы вроде коментариев и строковых представлений литералов (представь ты введешь 1.12345456, а тебе его перепишут c экспонентой.

LVV>А парсер — это фактически конвертер из текста в дерево.


Парсер это более сложная сущоность. Без него говорить о редакторе бессмысленно. Кроме синтаксического разбора в нем делаются семантический разбор и оптимизации. Твое редактор должен хавать уже готовое дерево. Причем дерево нужно сохранять обратно в текст. Самопальные форматы провалились по полной программе.

LVV> Это дополнительная составляющая интегрированной среды (заметь, я не говорю — компилятора).


Это тупиковый подход. Реалистический был бы использование полноценного парсера для загрузки и сериализации в код. Нечто типа полноценного код-дом-провайдера (если ты слышал о таком). Тогда на долю редактора остается уже вполне посильная задача — изменение расширенного AST.

ЗЫ

Еще раз повторю. Не стоило переключать чужую тему. Для обсуждения этой идеи нужно было создать отдельную ветку.
... << RSDN@Home 1.1.2 beta 1 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.