жизненные перспективы

Тема в разделе "WASM.BEGINNERS", создана пользователем Алексей, 24 авг 2006.

  1. Алексей

    Алексей New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2006
    Сообщения:
    57
    значится так.
    я старательно изучил туториалы ICZELIONа, понял основные принципы общения с
    виндой, и хочу сказать что туториал замечательный, пожалуй лучшее из всей технической
    литературы с которой приходилось сталкиватся, но возникает проблема, данные которые там даны далеко не полны и сильно разрозненны, поэтому возникает вопрос а что бы
    еще почитать? (интересует создание обычных оконных приложений и работа с портами COM и LPT)
    я недавно создавал подобную тему , но хочу повторится, так как удовлетворяющих меня ответов не получил, в моем MSDN я нашел описание далеко не всех сообщений да и коротенько помойму, далее, подскажите что за штучка такая Platform SDK, короче ЛЮДИ ПОМОГИТЕ! , что посоветуйте по поводу описалова работы с виндой, функции,сообщения, а
    главное принципы, а также интересует литра по VC++ (которая не весит по 50 метров )
    Спасибо всем кто дочитал до конца :)
     
  2. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    А что бы еще почитать??
    Ответ может быть только один - то что тебе хочется. Почему? ведь на ассемблере можно творить все что можно на томже Си или Паскале с той разницей что будет работать быстрее + больше возможностей.
    Если хочешь (хотите) разрабатывать приложения (графические) под уиндоус то сначала прийдется поекспериментировать с масм-ом32, понять какие у вас слабые места, т.е. что вы плохо понимаете, и начать работать в эту сторону, так всегда делается. Для этого и существует Platform SDK - там *документация* по тому что может делать уиндоус а тебе остается только этим пользоватся и наслаждатся. Чем наслаждатся? тем что ты знаешь/будешь знать больше своих коллег по Си или Паскалю, тем что программа работать будет быстрее (даже если просто делаешь "invoke* на айпишные функции), тем что она короче, а главное - главное то что ассемблер это исскуство - и если этот последний постулат не понять то ты его забросишь и будешь им пользоватся (ассемблером) в будущем только когда захочется оптимизировать свою сишную или паскальную прогу в тех местах где она явно будет тормозить.
    Для компьютера ассемблер это Альфа и Омега, Начало и Конец. :))
     
  3. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Туторы для ньюбов, конечно, на полноту не претендуют.

    Хмм... Весьма странно. В моём древнем msdn было почти всё. + ещё с примерами и статьями.

    Либы + инклуды + тулзы (последний ml.exe и ml64.exe!) + примеры + справочное описание по API конкретной платформы (Win32, WinCE, ...) Можно скачать на сайте ms бесплатно, но долго.

    Все документированности прекрасно описаны в msdn/psdk.
     
  4. Алексей

    Алексей New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2006
    Сообщения:
    57
    А нельзя ли побольше конкретики? НУ НЕУЖЕЛИ НЕТ НИ ОДНОЙ ЗАВАЛЯЩЕЙ ХОРОШЕЙ КНИГИ ПО ПРОГРАМИРОВАНИЮ ПОД ВИНДУ?
    PSDK это не тоже самое что DDK? Насчет MSDN, ставил
    полную версию, хм, может плохо искал...
    xlinuks, раз уж мы заговорили о бысторействии: на днях открыл VC++ и создал там типовой проект, в нем без труда узнал все
    структуры описанные в туториалах ICZELIONа, вызовы функций, неужели сишный компилятор
    не может по человечески справится с такой прозой жизни? На этом самом форуме я не
    раз читал как люди доказывали что между приложением созданом на асме или в
    Delphi, ну пратически не будет разницы в быстродействии т.к. все упирается в вызов апишных фнкций... интересно твое мнение по этому поводу.
     
  5. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    richter, pietrick, etc. (yo фашистам :)
     
  6. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    Ответ прост, в данном случае я имел ввиду что файл на асме даже в таком случае будет меньше, например 1кб мною созданный (без оптимизации размера файла - т.е. его *натуральная величина*) ПРОТИВ 25 кб *натуральной* величины тогоже приложения созданного Borland C++ 6. Если открыть файл то теже айпишные колл-ы тока разница в мусоре, в одном файле чисто, в другом много компиляторского мусора. Да, конечно, можно постаратся оптимизировать и код на С, но в любом случае на это уже уйдет больше времени и все равно не дотянутся до размера на Асме.
    При чем тут размер? все очень просто! Чтение файла в 1кб с дикса проходит порядка 5 раз быстрее чем файла в 25 кб. Разница очевидна. НО яж не говорю чтоб на столько чтобы было заметно глазу!! Ведь раз на то пошло то и на JavaScript можно создать под WSH (windows scripting host) тоже окно и будет тоже *быстро* запускатся, надеюсь идею уловил. А еще этот тюнинг важен не тока для критического быстродействия, а например, когда ты не хочешь чтобы, скажем, твой вирус весил вместо нормальных 512 байт каких-то 10КБ!! - это тоже допустимо, но на мой взгляд эт уже маразм!

    А на счет книги - хорошая книга по программированию под уиндоус есть у Charles petzhold, если хочешь оставь мыло я отошлю. Она на Си, но не трудно использовать ее для ассемблера, ведь айпишные коллы они и в Африке айпишные коллы! :)
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    В "нормальном" приложении (не ламерском "hello, world!") больше своего кода, чем вызовов API. Разница в быстродействии для алго сжатия (аудио/видео кодек) может быть в 2, 10 и более раз.
     
  8. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    Советую почитать Windows SDK идущую с Delphi (где достать отдельно - не знаю). Половина моих знаний о программировании под Windows получена чтением в ней тематических разделов.
     
  9. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    xlinuks
    Рассуждения в стиле
    обычно свойственны дилетантам, где-то че-то слышавшым о грудах "компиляторского мусора" и чистом супербыстром асме. А премудрые "учителя квантовой механики" ;)) еще и маслеца в огонь подливают: "Разница в быстродействии ... может быть в 2, 10 и более раз". Может быть, а может и не быть, и может быть как в плюс, так и в минус - смотря кто и как за(ш)кодит. А для новичков в асме действительно "больше возможностей" - сделать не так как надо и вместо выигрыша получить проигрыш ;) Я вот к примеру книжек по асму не читаю и не знаю, кто учит новичков использовать отстойные инструкции типа loop, lods, stos и т.п., которые на современных компах работают медленнее, чем эквивалентные последовательности простых операций. А вот "дяди" из MS, Borland и т.п. об этом и о многом другом хорошо знают и поэтому такую туфту давно не используют. Во-вторых, уже не раз поднимались вопросы об использовании "высокоуровневых" прибамбасов в асме и их корявых реализациях. К примеру, у новичков есть дурацкая мода использовать конструкции .if для любых простейших проверок, а многими почитаемый masm32 проверку на 0 предпочитает делать инструкцией OR, а не TEST как рекомендуют все мануалы и как ес-но делают умные "дяди" (отгадай с трех попыток - в чем разница ;) Говоришь invoke делается быстрее, тогда попробуй в масме передать в функцию не указатель на строку, а литеральную константу. Умные компиляторы разместят ее как положено в данных или в худшем случае в коде в промежутке между функциями, а вот тупой masm32 использует трюк с call @F, db ..., @@:, нарушая при этом принцип парности call\ret, необходимый для правильного предсказания адреса возврата в процессоре - в результате проц по основному ret может прыгнуть не куда положено, а на эту дурацкую строку, да еще пытаться ее "декодировать" и "исполнять" - вот тебе и "быстродействие асма", из-за чьей то глупости на ровном месте можно получить чистые потери как минимум в десяток-другой тактов. А уж про неизвестно откуда собранные доморощенные масмовские либы вообще говорить нечего, особенно про FpuLib - отстой полнейший, разве что в интерактивном калькуляторе использовать ;) Вот и в соседней ветке ты вопросик задал "в MASM32 есть "dwtoa", но в FASM умалчивает о своих способностях". Умалчивают и правильно делают, потому что (пока) лозунг фасма это "as is" - минимум домысливаний и медвежьих услуг программеру - как напишешь, так и будет. Нужны тебе готовые функции пиши сам или бери где хочешь и в случае чего пеняй на себя или на ненадежный источник. А "на форуме автора" ты нашел действительно "хе-хе" - очередную отсебятину очередного ньюба. Если есть возможность, сравни ради интереса по скорости с дельфийскими вариантами (писаными кстати на асме), тогда может будешь поосторожнее в оценках :)

    Вывод: > "главное - главное то что ассемблер это исскуство". Слишком громко сказано, но по сути верно - асм, как и прочие языки программирования, это лишь инструмент для достижения цели и этим инструментом нужно уметь пользоваться

    PS: xlinuks
    Хе-хе, убедился ?! А вот у мелкософтов и борманов "как ни странно" все работает и достаточно быстро - по крайней мере начитавшись Юрова и Ко просто так сходу быстрее врядли получится ;)
     
  10. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    хехехех
    ну ты даешь!
    1. Я не читал юрова, это полный остой, я начал его читать давно еще, но сразу забросил почему и так думаю понятно.
    2. Масм не использую (уже), перехожу на фасм, почему и так понятно.
    3. В микрософте все работает отлично, даже очень, но учитывая что кернел windows это все лишь куча приложений которые используют общий протокол для общения между собой (в отличии от линукса) то *мелкософты* всегда останутся ОС для Desktop, как ни крути, гуру знают разницу между этими ОС когда приходится работать с многопоточными приложениями при большой нагрузке, так что Микрософт хорош для фотошопа и Дума, но не дальше.
    4. Конечно на дельфи будет работать хорошо раз написано на асме, ведь если ты в курсе в Си нет поддержки встроенных функий .386 для работы со строками, так что, как ни крути, все возвращаются к ассемблеру *когда плохо*.
    5. Я учусь асму, разве не понятно, но об ОС я знаю достаточно, и микрософт работает быстрее с той же графикой потому что библиотеке прописаны в ее *кернеле*, это еще один аргумент почему эта ОС подходит для десктопа.
    6. Естественно на асме труднее, я давно думал написать собственный парсер Integer.parseInt и тому подобных которые встроены в моей горячо любимой жабе (и в других языках естественно).
    7. Мне приятно когда вместо сишных 60 кб получаются асмовские 6.
    8. *А вот у мелкософтов и борманов "как ни странно" все работает и достаточно быстро* - я уже обьяснил почему и *насколько* это быстро, причем *все работает* и *достаточно быстро* это сам понимаешь туманное выражение, я лишь пролил свет :)
    9. Мне за чистую не хватит языка Java для нужд наших клиентов, если ты знаком с ней знаешь что приложения по размеру выходят очень маленькие, за чистую меньше 100кб, вот моя из последних: http://www.tbm.md/rotocomplectnt.htm
    она не больше 80КБ, и это очень важно потому что клиенты работают с ней в онлайне, а если бы мне пришлось делать такое на С мелкософтов или Паскале борланда то это было бы все 700 Кб а то и больше! Программирование это исскуство, для меня в частности, мне приятно когда люди удивляются как это я *запихал* такое в такой маленький файл, поэтому расширения к проге подойдут на ассемблере, а на этом же си или паскале они подойдут как корове седло.
    10. Опять такиже, если ты десктопный программер то те возможно по барабану сколько будет иметь екзешка, для меня же нет, и кстати я также умудрился чтобы мои некоторые проги на Жабе работали быстрее чем теже на Си которые делали наши коллеги не важно с какой страны, а все дело тщательности, меряем каждый байт и выигрываем у конкурентов! И скорость тоже важна - и здесь нужно не просто *достаточно быстро* - а быстрее всех.

    PS: Линк к апплету, так что чтобы его запустить комп (ОС) должен поддерживать Java
     
  11. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Я вот тоже использую частенько if. Когда надо быстро написать. В этом случае мне плевать на небольшую потерю скорости работы. А когда надо чтобы быстро работало, я отказываюсь от if. Если пользуешься масмом - это ещё не значит, что обязан безоговорочно следовать предлагаемым шаблонам. Никто не запрещает сделать test.

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

    У каждого есть выбор - никто не заставляет использовать эти либы. К тому же эти либы не столько готовый к употреблению продукт, сколько полуфабрикаты, примеры для новичков, которые можно и нужно подгонять под свои конкретные цели.

    Конечно в приступе необузданой фасмофилии многое из достоинств масма видится как недостатки :)
    Да, именно так: наличие if - это достоинство. Имеешь выбор: использовать, или не использовать.
    Наличие invoke - тоже достоинство. А если по глупости пихать в invoke литералы - так кто вам виноват? Надо соображать, что делаешь, а не пенять на масм.
    Наличие либ и их исходников - это самый большой плюс масма в сравнении с любым другим *asm'мом. Это информация для новичка.
    А то, что кто-то перешёл с масма на фасм, и ищет dwtoa - тут придётся обломаться. Прежде, чем куда-то переходить, надо изучить ассемблер хотя бы в степени, достаточной для того, чтобы самому реализовать dwtoa. А когда освоишь ассмеблер в такой степени, то и переходить никуда не надо. Никто не мешает использовать как низкоуровневую, так и высокоуровневую составляющую масма. Главное, чтобы соображалка работала. А тупой переход с одного инструмента на другой, только потому, что кто-то сказал: "Это круто! Супер маленький, супер быстрый!" - ничего не прибавит. И от проблем не избавит. Только наоборот, что видно в примере с dwtoa.
     
  12. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    Cresta!
    Язык важен - библиотеки (для *асмов) не могут сравнится с Си или Дельфи. Я хочу сказать что их полюбому не много, так что это не проблема если нет имплементации парсера, разве трудно пойти на форум и найти, когда найду буду им пользоватся, потом напишу свой личный, это не язык высокого уровня чтобы библиотеки играли наиважнейшую роль. Много было сказано, но как ни крути фасм развивается быстрее, думаю понятно что это факт не произошел просто так. Если ты уже долго работаешь в масме ясное дело тебе будет неприятно переходить на чтолибо другое, ПОЭТОМУ я перешел, мне ведь терять нечего, лучше сразу перейти на лучшее чем через одно место, и когда я сравнил на своем начальном уровне как работают эти два языка и компилятора то решил для себя то что решил, и как оказалось на этом форуме (и не только) многие также думают.
     
  13. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    xlinuks
    Ну дык и об чем речь - каждому овощу сво(й,я,ё) ... (добавить по вкусу :)
    Для тебя важен размер, а для меня не очень - если прога сама по себе на пару метров тянет, то ей лишние 100 кб в нагрузку от бормана не помеха. А вот написать эти пару метров на чистом асме - лучше сразу застрелиться ;) Поэтому асму свое почетное место, а ЯВУ - свое (причем - каждому свое ;) А посему твой первый пост выглядит голословно и не в тему, т.к. автор спрашивал совершенно о другом и разводить тут в сотый раз дискуссии на тему X vs Y совершенно ни к чему (хотя я как лох на эту удочку попался :)
     
  14. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    cresta
    Спасибо, за поддержку ;)
    Именно это я и хотел сказать - прежде чем браться за работу нужно освоить инструмент, чтобы умело использовать его сильные стороны и обходить стороной слабые. Причем это оносится не только к асмам, но и к тем же дельфям ;)
     
  15. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    leo
    Всегда рад помочь :)))

    xlinuks
    Знаешь, почему фасм развивается? Потому, что он недоразвитый. Его надо ещё развивать и развивать, чтобы он сравнялся с тасмом или масмом. Он ещё маленький и сопливый :) И любое достижение воспринимается на ура: А вот ещё фасм может это, и то, и другое. Любой младенец в силу своего возраста и связаной с ним гибкости может легко засунуть в рот большой палец ноги, а взрослый - с большим трудом. Вот только есть ли в этом необходимость?

    А про выбор что сказать? Ты полтора дня пользовался масмом, и полдня фасмом. И делаешь выводы: этот лучше, этот хуже. Исходя из чего? Наслушался чьих-то слов?
     
  16. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    cresta ...
    не думал что программер как ты может такую чепуху мелить, туши свет, с таким субьективной личностью которое путает брызну с бронзой и говорить неочем, еще в 2003 году сам хатч (создатель пакета масма) в интервью сказал что у фасма большое будущее, развивается все в ту или иную сторону, ничего не стоит на месте, по твоим словам выходит что масм не развивается, а известно ли тебе что то что не эволюционирует инволюционирует, это трансцендентальный закон. И поверь мне те кто переходят делают это не просто так, изза нечего делать. Мне полтора дня это много, порой достаточно пол часа а то и меньше, только идиоту нужно два года чтобы он понял что он идиот. Яж не говорил что это отстой, а что он новее, а значит в нем реализовано то что в разновидностях до него небыло. Ты ведь знаком с эволюцией языков программирования? помнишь как все было, потом был си, теперь люди переходят по немногу на С#, думаешь тоже зря? А ты знаешь какие недостатки и баги в С# - до фига, ну и что? Он развивается и дает те возможности которых нет в си - настоящей кроссплатформенности и удобство - тоже самое в фасме. Но кроту милее тьма, он не хочет изменений (в трансцендентальной философии это обьясняется тем что синтез который рождается через антитезис в бинере им же и подавляется, давление нарастает в конечном итоге происходит сдвиг изнутри и рождается тетраграмматон, тобишь - Йод-Хе-Вау-Хе, об этом учит и Даос который на этом сайте часто встречается (хоть порой и в шутку) не знаю если ты способен это догнать, но это про тебя и о всем что живет и существует на любом плане, и жаль что ты также не понимашь тех слов которые которые цитируются у меня внизу), поэтому можно доказывать ad nauseam, бесполезно.
     
  17. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    Ой-йо, перечитай посты ещё раз :)))
    Моё субъективное мнение основано на опыте. На чем основано твоё субъективное мнение?
    С чужих слов? И почему твоё мнение вдруг стало, как я понял, в отличие от моего, объективным? На основании чего? Если кто и мелет чепуху, так это похоже ты :)))
    Хотя может ты и гений (непризнаный), и за полчаса постиг суть всего и вся, вооружившись подписью SATYÂT NÂSTI PARO DHARMAH и можешь рассуждать о кротах и тетраграмматонах.
    Хотя из практики, люди, часто упоминающие "умные" слова, обычно оказываются банальными дилетантами.

    P.S.
    А ещё хатч говорил, что есть супер язык - powerbasic, и его встроеный ассемблер - вообще совершенство...
    Дружно переходим на PowerBasic :)
     
  18. masquer

    masquer wasm.ru

    Публикаций:
    0
    Регистрация:
    13 сен 2002
    Сообщения:
    890
    Адрес:
    Николаев
    о, да, хатч, конечно, величайший специалист :)))))
    я интервью этого грамотея не читаю, но после этих слов я не уверен в будущем фасма вообще :)) (последнее - шутка)

    да, он много бредил в свое время (как сейчас - не знаю, но в его возрасте уже умнеть поздно)
     
  19. Алексей

    Алексей New Member

    Публикаций:
    0
    Регистрация:
    25 июл 2006
    Сообщения:
    57
    НУ ВЫ И ТЕМУ ЗАВЕРНУЛИ!
    Можно на секунду отвлечь великих и мудрых, и задать пару глупых вопросов?
    1. Я начал изучать асм потому что хотел знать как же на САМОМ ДЕЛЕ работает компутер,
    я не прав? Кинуть пару кнопок в BC++B я мог и до этого но ведь это не просветляет на счет того как они работают!
    2. асм, VC++,BC++B - так на чем писать?
     
  20. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    Я так и думал что поймешь то что способен понять а остальное обсмеешь. По другому быть не могло, ладно, ты не первый кто меня не понял, у меня странная жизнь, и не важно что другие о ней думают а то чем она является, я окончил ин языки но начал параллельно изучать .net, и теперь мои соверстники которые окончили информатику обращаются ко мне за помощью в .net програмировании (это к тому что тоже есть опыт, хоть я и молод) кстати в том интервью он сказал несколько важных вещей которые чистый программист возможно не заметил, а если и заметил то не понял их глубокого смысла, я еще удивился что это говорит ассемблерщик, по видимому он тоже пришел к моему выводу, за что я его уважаю. Я не к тому что знаю чтото что никто не знает, просто поэтому я считаю программирование чистым видом искусства, закон аналогии был первым законом, на нем зиждеются все понятия такие как тождественность и разнственность, которые были причиной всех оставшиехся. Символы преумножаясь теряют свою силу, и никто не признает то что надо пока он не узнает кто он, также как во сне никто не догадается что он во сне только если не будет в эту сторону упорно работать не обращая внимания на придирки с чужой стороны (те кто не знают смеются, а что они еще могут делать), чтобы перепрыгнуть через свою голову, и это стоит того, как в той истории про один байт, если ктото читал, человек должен утрвердить свою индивидуальность в этом мире через выявление своих (феноменальных или если сможет то и ноуменальных) возможностей, и этот синтез начинается с той поры как он пришел в качестве *tabula rasa*, весь синтез сохраняется в человеке на протяжении всей жизни (в зоне сердца, хотя многие в том числе и наука думают он нем как о органе которые *никогда не дремлет*), не даром перед смертью многие видят мельком всю свою жизнь - они просто не знают для чего все это задумано и для чего человек живет жизнью которая порой кажется бессмысленной, лишь под конец мы начинаем ценить то что действительно важно - правду, жизнь и время, а до тех пор мы живем и боимся смерти потому что неправильно мыслим, даже таже наука в советское время учила нас что земля путешествует в космосе описывая круг, а когда недавно открыли что солнце в свою очередь движется к звезде геркулесу то уже оказалось что земля идет по синусоидальной прямой - мы думали одно но правда оказалсь другой, дальше будут новые октрытия, и наука в конце признает свое бессилие и воссоединится со своеи сестрой с которой порвало все отношения, но уже - как было предсказано - наука начинает признавать свое бессилие (это произошло в конце 20 века). Это я так, для тех у кого узкое мировоззрение и принимают то что *знают* за правду и обьективность. Мир сложнее чем думает человек западного мира, ведь кто хотябы интересовался что можно найти например, в долине панджаби, или даже тот же Дао - путь, что это за путь, причем тут *вечное дыхание*, и как его интерпретируют люди которые знают намного больше меня - я не знаю, но есть многие которые даже это не хотят знать. В этом смысле люди похожи на свиньи которые не задумываются для чего живут и почему их кормят, лишь перед концом они вдруг понимают что все происходит по другим причинан, один мудрец сказал *познайте истину и она сделает вас свободной*, кто сказал не важно (это не секрет), важен смысл слов. Типа краткого ликбеза : )