Это означает, что вместо значения "С" передается ссылка-адрес "&С", т.е. самой "с" в теле функции Gipo нет. "С" осталось в вызвающей проге. Также "С" может быть глобальной. Очень удобно. Это кусочек Си - косвенная адресация, Си-мышление. Одна печаль, поскольку об этой адресации нет в описании языка (но есть в трансляторе), постольку косвенная адресация может когда нибудь незаметно исчезнуть. (Может об этом разработчиков спросить?).
Korey:
Это означает, что вместо значения "С" передается ссылка-адрес "&С",
т.е. самой "с" в теле функции Gipo нет. "С" осталось в вызвающей проге. Также "С" может быть глобальной.
Очень удобно. Это кусочек Си - косвенная адресация, Си-мышление.
Одна печаль, поскольку об этой адресации нет в описании языка (но есть в трансляторе),
постольку косвенная адресация может когда нибудь незаметно исчезнуть. (Может об этом разработчиков спросить?).
вот это уже интереснее, если только разработчики позже не уберут эту возможность
Существует возможность передавать параметры по ссылке. В этом случае
модификация таких параметров отразится на соответствующих переменных в
вызываемой функции, переданных по ссылке. Нельзя передавать по ссылке
элементы массивов. Параметры по ссылке можно передавать только в
пределах одного модуля, для библиотечных функций такая возможность не
предусмотрена. Для того чтобы указать, что параметр передается по
ссылке, после типа данных необходимо поставить модификатор &.
Массивы также можно передавать по ссылке, все изменения отразятся в исходном массиве. В отличие от простых параметров
массивы можно передавать по ссылке и в библиотечные функции.
Параметры, передаваемые по ссылке, нельзя инициализировать значениями по умолчанию.
Приятно что не уберут, оказывается в документации это есть.
Хотя кто то из великих в 2008г. предлагал ссылку на переменную описывать как массив... Ну да ладно.
также, с учетом возмoжного человеческого непонимания:
в описании функции эквивалентно и абсолютно правильно будет все вот это:
func(int &array[], int& array[], intarray[], int &array[50], int&array[50], intarray[50])
(Даже не спрашиваем зачем в описании функции допустимо array[50]))))
Приятно что не уберут, оказывается в документации это есть. Хотя кто то из великих в 2008г. предлагал ссылку на переменную описывать как массив... Ну да ладно. также, с учетом возмoжного человеческого непонимания: в описании функции эквивалентно и абсолютно правильно будет все вот это:
func(int &array[], int& array[], intarray[], int &array[50], int&array[50], intarray[50])
(Даже не спрашиваем зачем в описании функции допустимо array[50]))))
Не будет. В смысле эквивалентно не будет. Вотличие от С, где массивы не передаются по значению (только по ссылке), в МКЛ есть возможность передачи по значению. Разница в том, что массиву
intarray[]
нельзя присвоить значение внутри процедуры - компилятор такую конструкцию даже не пропустит ;).
Вы ж, вроде, ратовали за то, что МКЛ это не совсем С и его нужно изучать как отдельный язык ? или я чего перепутал ?
Всему есть Единственная и по сущуству правильная Объяснительная - это специализированный язык, на котором былые Си-привычки только вредят. Не сравнивайте MQL-4 и Си, - только настроение себе испортите. //---------------------------------------------------------------------------------------
ЗЫ Вы и Компостер повеселили меня слегка. Вы разбазариванием рессурсов ( теперь точно знаю, что амеры таки тупые, как говорит Задорнов. Эти "тупари" с УоллСтрит почему-то уверены, что большее стат преимущество имеет не столько тот у кого лучше система прогнозирования, а тот у кого быстрее выполняются алгоритмы и короче пинг до брокера :) . Вы вообще-то в курсе, что МТ не получает поток котировок пока проводит расчеты экспертов\скриптов\индикаторов ? Да еще разработчики численных методов тоже тупые - зачем-то выдумывают хранение матриц в профильном виде да еще и без нулевых элементов, да еще и алгоритмы обработки ускоряют - во "придурки" рессурсов то хватает :) ). А вот я сомневаюсь, что бы кто-то из профи спецом ухудшал свой стиль программирования специально для МТ ;).
А Компостер сравнением вызова процедуры с операцией присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :) Интересно, он окромя книжек по МКЛ чего нить вообще читал по программированию ? знает, например, скока операций производится при вызове процедуры, как формируются стеки, чем ФИФО от ЛИФО отличается ? И как потом очищаются .... и все это сравнить с операцией присваивания - одной из самых быстрых (если интеджеры) ?
Ваши с Компостером подходы к разработке вселяют оптимизму. Вот бы это еще в уши и руки разработчиков фильтров котировочного потока на сервере - тока помечтать остается :).
ЗЗЫ а ссылку на массивы предлагали не от хорошей жизни -в МКЛ отсутствует адресная арифметика и параметр по ссылке передать из библиотеки невозможно (может Вы просто еще их не использовали ?) - выход передавать по ссылке не параметр, а ссылку на массив и обращаться к нулевому элементу - это работает.
ИМХО, Прежде чем чего-нить "втирать" новичкам неплохо бы изучить матчасть, дабы не вводить их в заблуждение ;).
Успехов.
ЗЗЗЫ Специально для Компостера - в аттче скрипт, которы наглядно демонстрирует, что обращение к вызовам функций на порядки медленнее. Изучайте, разбирайтесь (в зависимости от скорострельности компа увеличивайте размерность параметра N, пока не останется нулевого времени исполнения циклов - тогда реально увидите разницу) и не позорьте программистов тупыми сравнениями, особенно когда сами не в теме, а есть тока ссылки на то, что кто-то когда-то пробовал, тока Вы не разобрались что к чему :).
А Компостер сравнением вызова процедуры с операцией
присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :)
Интересно, где я приводил это сравнение?
VladislavVG писал (а):
Интересно,
он окромя книжек по МКЛ чего нить вообще читал по программированию ?
знает, например, скока операций производится при вызове процедуры, как
формируются стеки, чем ФИФО от ЛИФО отличается ? И как потом очищаются....
Я и книжки по MQL не читал =)
Я никогда не говорил что являюсь профессиональным программистом. Более того, постоянно признаю что учиться мне еще долго (не "на публику", для себя).
По крайней мере, я не понтуюсь и не говорю о том, чего не знаю.
VladislavVG писал (а):
ИМХО, Прежде чем чего-нить "втирать" новичкам неплохо бы изучить матчасть, дабы не вводить их в заблуждение ;).
ИМХО, "втирает" здесь пока один человек, и это не я.
VladislavVG писал (а):
ЗЗЗЫ Специально для Компостера - в аттче скрипт, которы наглядно
демонстрирует, что обращение к вызовам функций на порядки медленнее.
Изучайте,
разбирайтесь (в зависимости от скорострельности компа увеличивайте размерность параметра N, пока не останется нулевого времени исполнения циклов - тогда реально увидите разницу)
и не позорьте программистов тупыми сравнениями, особенно когда сами не в теме, а есть тока ссылки на то, что кто-то когда-то пробовал, тока Вы не разобрались что к чему
:).
Поосторожнее на поворотах, мы не на зоне...
Замерять время выполнения программы с помощью TimeLocal() - оригинально. Запишу себе с пометкой "совет профессионального программиста".
Как видите, использование отдельной функции вполне оправдано - разница
по времени для цикла в миллиард проходов всего одна секунда. Зато
насколько проще разрабатывать код!
А Компостер сравнением вызова процедуры с операцией
присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :)
Интересно, где я приводил это сравнение?
Здесь. Я же написал, что сравнение "слегка утрирую".
и еще непонятно - если вызов функции самая медленная операция, тогда почему например КimIV в своих примерах използует почти все только из набора функций?
Это Ваш ответ :
Вас дезинформировали =)
На вызове функции теряется очень мало (недавно Rosh приводил результаты сравнения).
Речи о том, когда и какие куски кода стоит, а когда не стоит оформлять как функции и сколько теряется времени на проектирование и на работу, на сколько я помню, не было. А вызов функции действительно самая медленная операция.
По поводу "мерять производительность" - При такой разнице все равно чем пользоваться.
Для того, чтобы сравнить величины порядка метров с величинами порядка десятков метров не обязательно брать линейку с миллиметровой шкалой.
По поводу зоны не понял ?
ЗЫ если Вы считате, что я чего-то "втираю" потрудитесь привести неверные высказывания и количественные оценки. Пока же я Вам показал на основании чего я сделал свои выводы.
И что "этот человек", т.е. я втирает? Раз уж человеком обозвали, объяснюсь))) Вообще то ветка началась с того, что новичек, "при вступлении во Храм", не нашел своего логического объяснения, -почему return каждый раз разный, почему некто параметры для функций присваивает отдельно, а не в вызове. Ну я привел пример, как транслятор исправляет ошибки в описании функции. А ранее, прошелся по &ссылке, опять же потому, что в некотором кол-ве постов некие ГУру предлагают простую переменную в описании обзывать массивом.))) Никаких терок тут нет.
Добавлю следующее. Сила и красота Си в развитой передаче параметров. От этого вся сила Си. в функциях сила!!! Например опять же у меня программирование давно уже не знания, а рефлексы.))) Здесь поясняю: при программировании, первое что делаю - проектирую входные/выходные данные, тестирую. Второе - изобретаю метаязык из функций или же объектов. Третье - пишу на метаязыке верхнюю часть проги, и уточняю объекты/функции, уточняю удоство передачи параметров. Четвертое - пишу уточненные объекты/функции. Иначе не могу. Стошнит.
Так вот, этот MQL-4 НЕ ПОЗВОЛЯЕТ работать так привычно. -Спроектируешь вход/выход, ан адресации такой в MQL-4 нет. -изобретешь метаязык под задачу, И опять же нельзя выполнить задумку, формальные параметры так не адресуются.
Но настоящий то ум не спрячешь. В нем Думатель взрощен. Думатель - Он видит, - везде фигурные скобки, Думатель напрягается чтобы их не пропустить }}}, И ВКЛЮЧАЕТ взрощенный Думатель РЕФЛЕКС, этО якобы сИ. по рефлексу начинается проектирование мозжечком, а то вот так то сделать, а здесь эдак. но - опаньки....MQL-4
Речи о том, когда и какие куски кода стоит, а когда не стоит оформлять как функции и сколько теряется времени на проектирование и на работу, на сколько я помню, не было. А вызов функции действительно самая медленная операция.
Я понял что вас задело. Действительно, формально я сказал неправду (если считать то, что говорите вы про вызов функций правдой. Я не владею вопросом и опровергать ваше утверждение не буду).
Но есть несколько "но":
1. Я действительно говорил о целесообразности применения функций. И более чем уверен, топик-стартера интересовал именно этот вопрос (можем у него спросить). То, что увидели вы в моих словах - лично ваши проблемы. Особенно, учитывая тот факт, что увидели "это" только вы.
2. Я не сравнивал вызов функции с операцией присваивания.
К этим "но" прибавляем несколько ваших высказываний:
А Компостерсравнением вызова процедуры с операцией присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :)
и все этосравнить с операцией присваивания - одной из самых быстрых (если интеджеры) ?
1. Сравнения не было.
2. Утверждения не было.
3. Фраза "слегка утрирую" с улыбочкой - плохое оправдание откровенной клевете. По крайней мере, не достаточное для меня.
Наезды в стиле "у кого больше" я опустил, их комментировать смысла не вижу.
Есть еще одно, на дессерт:
и не позорьте программистов тупыми сравнениями особенно когда сами не в теме, а есть тока ссылки на то, что кто-то когда-то пробовал, тока Вы не разобрались что к чему
:)
1. Сравнение, которого не было, оказывается, тупое. И я, соответственно, тупой?
2. "Тока" надо было сначала разобраться в чем я разобрался, а в чем нет. А пока - только безосновательная клевета.
3. Улыбочка, опять же, не оправдание.
VladislavVG писал (а):
ЗЫ если Вы считате, что я чего-то "втираю" потрудитесь
привести неверные высказывания и количественные оценки.
Под термином "втирание" лично я подразумеваю навязывание своего мнения окружающим.
Надеюсь, я достаточно подробно ответил что именно в ваших высказываниях я считаю "втиранием".
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
т.е. самой "с" в теле функции Gipo нет. "С" осталось в вызвающей проге. Также "С" может быть глобальной.
Очень удобно. Это кусочек Си - косвенная адресация, Си-мышление.
Одна печаль, поскольку об этой адресации нет в описании языка (но есть в трансляторе),
постольку косвенная адресация может когда нибудь незаметно исчезнуть. (Может об этом разработчиков спросить?).
Это означает, что вместо значения "С" передается ссылка-адрес "&С",
т.е. самой "с" в теле функции Gipo нет. "С" осталось в вызвающей проге. Также "С" может быть глобальной.
Очень удобно. Это кусочек Си - косвенная адресация, Си-мышление.
Одна печаль, поскольку об этой адресации нет в описании языка (но есть в трансляторе),
постольку косвенная адресация может когда нибудь незаметно исчезнуть. (Может об этом разработчиков спросить?).
https://docs.mql4.com/ru/basis/variables/formal
Существует возможность передавать параметры по ссылке. В этом случае модификация таких параметров отразится на соответствующих переменных в вызываемой функции, переданных по ссылке. Нельзя передавать по ссылке элементы массивов. Параметры по ссылке можно передавать только в пределах одного модуля, для библиотечных функций такая возможность не предусмотрена. Для того чтобы указать, что параметр передается по ссылке, после типа данных необходимо поставить модификатор &.
Пример:
Массивы также можно передавать по ссылке, все изменения отразятся в исходном массиве. В отличие от простых параметров массивы можно передавать по ссылке и в библиотечные функции.
Параметры, передаваемые по ссылке, нельзя инициализировать значениями по умолчанию.
Приятно что не уберут, оказывается в документации это есть.
Хотя кто то из великих в 2008г. предлагал ссылку на переменную описывать как массив... Ну да ладно.
также, с учетом возмoжного человеческого непонимания:
в описании функции эквивалентно и абсолютно правильно будет все вот это:
(Даже не спрашиваем зачем в описании функции допустимо array[50]))))
Приятно что не уберут, оказывается в документации это есть.
Хотя кто то из великих в 2008г. предлагал ссылку на переменную описывать как массив... Ну да ладно.
также, с учетом возмoжного человеческого непонимания:
в описании функции эквивалентно и абсолютно правильно будет все вот это:
(Даже не спрашиваем зачем в описании функции допустимо array[50]))))
Не будет. В смысле эквивалентно не будет. Вотличие от С, где массивы не передаются по значению (только по ссылке), в МКЛ есть возможность передачи по значению. Разница в том, что массиву
нельзя присвоить значение внутри процедуры - компилятор такую конструкцию даже не пропустит ;).Вы ж, вроде, ратовали за то, что МКЛ это не совсем С и его нужно изучать как отдельный язык ? или я чего перепутал ?
//---------------------------------------------------------------------------------------
Всему есть Единственная и по сущуству правильная Объяснительная - это специализированный язык,
на котором былые Си-привычки только вредят. Не сравнивайте MQL-4 и Си, - только настроение себе испортите.
//---------------------------------------------------------------------------------------
ЗЫ Вы и Компостер повеселили меня слегка. Вы разбазариванием рессурсов ( теперь точно знаю, что амеры таки тупые, как говорит Задорнов. Эти "тупари" с УоллСтрит почему-то уверены, что большее стат преимущество имеет не столько тот у кого лучше система прогнозирования, а тот у кого быстрее выполняются алгоритмы и короче пинг до брокера :) . Вы вообще-то в курсе, что МТ не получает поток котировок пока проводит расчеты экспертов\скриптов\индикаторов ? Да еще разработчики численных методов тоже тупые - зачем-то выдумывают хранение матриц в профильном виде да еще и без нулевых элементов, да еще и алгоритмы обработки ускоряют - во "придурки" рессурсов то хватает :) ). А вот я сомневаюсь, что бы кто-то из профи спецом ухудшал свой стиль программирования специально для МТ ;).
А Компостер сравнением вызова процедуры с операцией присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :) Интересно, он окромя книжек по МКЛ чего нить вообще читал по программированию ? знает, например, скока операций производится при вызове процедуры, как формируются стеки, чем ФИФО от ЛИФО отличается ? И как потом очищаются .... и все это сравнить с операцией присваивания - одной из самых быстрых (если интеджеры) ?
Ваши с Компостером подходы к разработке вселяют оптимизму. Вот бы это еще в уши и руки разработчиков фильтров котировочного потока на сервере - тока помечтать остается :).
ЗЗЫ а ссылку на массивы предлагали не от хорошей жизни -в МКЛ отсутствует адресная арифметика и параметр по ссылке передать из библиотеки невозможно (может Вы просто еще их не использовали ?) - выход передавать по ссылке не параметр, а ссылку на массив и обращаться к нулевому элементу - это работает.
ИМХО, Прежде чем чего-нить "втирать" новичкам неплохо бы изучить матчасть, дабы не вводить их в заблуждение ;).
Успехов.
ЗЗЗЫ Специально для Компостера - в аттче скрипт, которы наглядно демонстрирует, что обращение к вызовам функций на порядки медленнее. Изучайте, разбирайтесь (в зависимости от скорострельности компа увеличивайте размерность параметра N, пока не останется нулевого времени исполнения циклов - тогда реально увидите разницу) и не позорьте программистов тупыми сравнениями, особенно когда сами не в теме, а есть тока ссылки на то, что кто-то когда-то пробовал, тока Вы не разобрались что к чему :).
А Компостер сравнением вызова процедуры с операцией
присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :)
Интересно, где я приводил это сравнение?
VladislavVG писал (а):
Интересно, он окромя книжек по МКЛ чего нить вообще читал по программированию ? знает, например, скока операций производится при вызове процедуры, как формируются стеки, чем ФИФО от ЛИФО отличается ? И как потом очищаются....
Я и книжки по MQL не читал =)
Я никогда не говорил что являюсь профессиональным программистом. Более того, постоянно признаю что учиться мне еще долго (не "на публику", для себя).
По крайней мере, я не понтуюсь и не говорю о том, чего не знаю.
VladislavVG писал (а):
ИМХО, Прежде чем чего-нить "втирать" новичкам неплохо бы изучить матчасть, дабы не вводить их в заблуждение ;).
ИМХО, "втирает" здесь пока один человек, и это не я.
VladislavVG писал (а):
ЗЗЗЫ Специально для Компостера - в аттче скрипт, которы наглядно демонстрирует, что обращение к вызовам функций на порядки медленнее. Изучайте, разбирайтесь (в зависимости от скорострельности компа увеличивайте размерность параметра N, пока не останется нулевого времени исполнения циклов - тогда реально увидите разницу) и не позорьте программистов тупыми сравнениями, особенно когда сами не в теме, а есть тока ссылки на то, что кто-то когда-то пробовал, тока Вы не разобрались что к чему :).
Поосторожнее на поворотах, мы не на зоне...
Замерять время выполнения программы с помощью TimeLocal() - оригинально. Запишу себе с пометкой "совет профессионального программиста".
Чтоб вы не утруждали себя поисками упомянутой мной темы, приведу цитату здесь:
Rosh писал (а) (19.02.2008 18:15):
Вот скрипт для проверки разницы.
А вот результаты работы скрипта.
Как видите, использование отдельной функции вполне оправдано - разница по времени для цикла в миллиард проходов всего одна секунда. Зато насколько проще разрабатывать код!
А Компостер сравнением вызова процедуры с операцией
присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :)
Интересно, где я приводил это сравнение?
Здесь. Я же написал, что сравнение "слегка утрирую".
//----------------------------------------------------------------
sasa999 писал (а):
и еще непонятно - если вызов функции самая медленная операция, тогда почему например КimIV в своих примерах използует почти все только из набора функций?
Это Ваш ответ :
Вас дезинформировали =)
На вызове функции теряется очень мало (недавно Rosh приводил результаты сравнения).
//----------------------------------------------------------------
Речи о том, когда и какие куски кода стоит, а когда не стоит оформлять как функции и сколько теряется времени на проектирование и на работу, на сколько я помню, не было. А вызов функции действительно самая медленная операция.
По поводу "мерять производительность" - При такой разнице все равно чем пользоваться.
Для того, чтобы сравнить величины порядка метров с величинами порядка десятков метров не обязательно брать линейку с миллиметровой шкалой.
По поводу зоны не понял ?
ЗЫ если Вы считате, что я чего-то "втираю" потрудитесь привести неверные высказывания и количественные оценки. Пока же я Вам показал на основании чего я сделал свои выводы.
Успехов.
И что "этот человек", т.е. я втирает?
Раз уж человеком обозвали, объяснюсь)))
Вообще то ветка началась с того, что новичек, "при вступлении во Храм", не нашел своего логического объяснения,
-почему return каждый раз разный, почему некто параметры для функций присваивает отдельно, а не в вызове.
Ну я привел пример, как транслятор исправляет ошибки в описании функции.
А ранее, прошелся по &ссылке, опять же потому,
что в некотором кол-ве постов некие ГУру предлагают простую переменную в описании обзывать массивом.)))
Никаких терок тут нет.
Добавлю следующее. Сила и красота Си в развитой передаче параметров. От этого вся сила Си.
в функциях сила!!!
Например опять же у меня программирование давно уже не знания, а рефлексы.)))
Здесь поясняю: при программировании,
первое что делаю - проектирую входные/выходные данные, тестирую.
Второе - изобретаю метаязык из функций или же объектов.
Третье - пишу на метаязыке верхнюю часть проги, и уточняю объекты/функции, уточняю удоство передачи параметров.
Четвертое - пишу уточненные объекты/функции.
Иначе не могу. Стошнит.
Так вот, этот MQL-4 НЕ ПОЗВОЛЯЕТ работать так привычно.
-Спроектируешь вход/выход, ан адресации такой в MQL-4 нет.
-изобретешь метаязык под задачу, И опять же нельзя выполнить задумку, формальные параметры так не адресуются.
Но настоящий то ум не спрячешь. В нем Думатель взрощен.
Думатель - Он видит, - везде фигурные скобки, Думатель напрягается чтобы их не пропустить }}},
И ВКЛЮЧАЕТ взрощенный Думатель РЕФЛЕКС, этО якобы сИ.
по рефлексу начинается проектирование мозжечком, а то вот так то сделать, а здесь эдак. но - опаньки....MQL-4
Речи о том, когда и какие куски кода стоит, а когда не стоит оформлять как функции и сколько теряется времени на проектирование и на работу, на сколько я помню, не было. А вызов функции действительно самая медленная операция.
Я понял что вас задело. Действительно, формально я сказал неправду (если считать то, что говорите вы про вызов функций правдой. Я не владею вопросом и опровергать ваше утверждение не буду).
Но есть несколько "но":
1. Я действительно говорил о целесообразности применения функций. И более чем уверен, топик-стартера интересовал именно этот вопрос (можем у него спросить). То, что увидели вы в моих словах - лично ваши проблемы. Особенно, учитывая тот факт, что увидели "это" только вы.
2. Я не сравнивал вызов функции с операцией присваивания.
К этим "но" прибавляем несколько ваших высказываний:
А Компостер сравнением вызова процедуры с операцией присваивания, да еще и утверждением что вызов процедуры чуть ли не самая быстрая операция (это слегка утрирую :)
и все это сравнить с операцией присваивания - одной из самых быстрых (если интеджеры) ?
1. Сравнения не было.
2. Утверждения не было.
3. Фраза "слегка утрирую" с улыбочкой - плохое оправдание откровенной клевете. По крайней мере, не достаточное для меня.
Наезды в стиле "у кого больше" я опустил, их комментировать смысла не вижу.
Есть еще одно, на дессерт:
и не позорьте программистов тупыми сравнениями особенно когда сами не в теме, а есть тока ссылки на то, что кто-то когда-то пробовал, тока Вы не разобрались что к чему :)
1. Сравнение, которого не было, оказывается, тупое. И я, соответственно, тупой?
2. "Тока" надо было сначала разобраться в чем я разобрался, а в чем нет. А пока - только безосновательная клевета.
3. Улыбочка, опять же, не оправдание.
VladislavVG писал (а):
ЗЫ если Вы считате, что я чего-то "втираю" потрудитесь привести неверные высказывания и количественные оценки.
Под термином "втирание" лично я подразумеваю навязывание своего мнения окружающим.
Надеюсь, я достаточно подробно ответил что именно в ваших высказываниях я считаю "втиранием".