Здравствуйте, adontz, Вы писали:
VD>>Да. Но их на порядок меньше. Хотя о чем это я? На два-три порядка.
A>Влад, если в C# 2 правила, то 3 порядка больше означает, что в Си++ 2000 правил. Ты не переборщил, не увлёкся? ИМХО правил 25 от силы наберётся.
Он не про правила, а про количество их применений в коде.
Здравствуйте, AndrewVK, Вы писали:
A>>Влад, если в C# 2 правила, то 3 порядка больше означает, что в Си++ 2000 правил. Ты не переборщил, не увлёкся? ИМХО правил 25 от силы наберётся. AVK>Он не про правила, а про количество их применений в коде.
Тем более перегнул палку. С# код от силы в 2 раза меньше чем Си++ код. Откуда же там в 1000 разбольше правил? Даже в 100 раз?
Здравствуйте, mdw, Вы писали:
mdw>Виноват. mdw>В любом случае, спасибо за релевантный и вежливый коментарий. mdw>А что движок позволяет редактировать собственные сообщения?
Нет. Только модератору. Но местный модер сейчас имеет плохую связь и на сайт не вылезает в онлайне.
Есть другая возможность. Ответь еще раз без оверквотинга, а на тех сообщениях поставим бомбу. Я свою уже поставил.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, adontz, Вы писали:
A>Тем более перегнул палку. С# код от силы в 2 раза меньше чем Си++ код. Откуда же там в 1000 разбольше правил? Даже в 100 раз?
Блин, сколько у тебя в проекте раз применены обоертки и всевозможные холдеры?
У меня на парсер ровно один using. В других проектах еще с десяток наберется.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, adontz, Вы писали:
A>Тем более перегнул палку. С# код от силы в 2 раза меньше чем Си++ код. Откуда же там в 1000 разбольше правил? Даже в 100 раз?
Оттуда что выделения памяти в программе как правило как минимум на порядок больше, чем выделения неуправляемых ресурсов.
Здравствуйте, AndrewVK, Вы писали:
AVK>Оттуда что выделения памяти в программе как правило как минимум на порядок больше, чем выделения неуправляемых ресурсов.
1 правило — не пользоваться голыми указателями.
Что ещё?
Здравствуйте, adontz, Вы писали:
A>Здравствуйте, VladD2, Вы писали:
VD>>Блин, сколько у тебя в проекте раз применены обёртки и всевозможные холдеры?
A>А с каких это пор обёртка — правило?
С тех самых как его приходится соблюдать. Другими словами нужно напрягаться чтобы не нарушить соглашения. А это уже потенциальная проблема. И чем больше случаев где это нужно делать, тем потенциально больше ошибок можно наворотить.
A>По твоему чтобы применять std::string вместо LPTSTR надо очень мучатся?
При каждом применении. А зачастую std::string вобще не приминим, и прийдется крутиться между ним и LPTSTR. LPTSTR кстати, еще одно никому не нужное соглашение. Вот в дотнете и сделали просто — string и никаких вариаций.
A>Или CHandle и HANDLE можно перепутать?
Легко. Подставил одно вместо другого и приплыл. А если их нет, то и ошибиться нельзя.
A>Правило, Влад, это например писать ++i вместо i++.
Это не правило. Это предпочтение.
A> Внешне почти одно и тоже, но в 90% случаев первое быстрее.
Ерунду то не говрои. Компилятору пофигу где ты что поставишь. В АСТ даже понятия такого нет. Это всего лишь определяет когда выполнять операцию сложения.
A> Вот это правило, а обёртка не правило.
Применение обертки это то правло которое ты должен соблюдать чтобы не потярять ресурс. Забыть это сделть не трдно. А если помнить не о чем, то и потерять ничего нельзя.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, AndrewVK, Вы писали:
AVK>Оттуда что выделения памяти в программе как правило как минимум на порядок больше, чем выделения неуправляемых ресурсов.
Порядок — это не смешно. 3-4 порядка будет ближе к истене. Я тут глянул сколько юсингов в парсере... так вот один. А сколько там выделений памяти пожешь себе представить.
... << RSDN@Home 1.1.4 beta 2 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, VladD2, Вы писали:
VD>Легко. Подставил одно вместо другого и приплыл. А если их нет, то и ошибиться нельзя. A>>Правило, Влад, это например писать ++i вместо i++. VD>Это не правило. Это предпочтение.
A>> Внешне почти одно и тоже, но в 90% случаев первое быстрее. VD>Ерунду то не говрои. Компилятору пофигу где ты что поставишь. В АСТ даже понятия такого нет. Это всего лишь определяет когда выполнять операцию сложения.
Влад, если ты утверждаешь, что i++ и ++i выполняются за одинаковое время значит ты не знаешь Си++. А что за смысл тогда что-то обсуждать?
Здравствуйте, VladD2, Вы писали:
AVK>>Оттуда что выделения памяти в программе как правило как минимум на порядок больше, чем выделения неуправляемых ресурсов. VD>Порядок — это не смешно. 3-4 порядка будет ближе к истене. Я тут глянул сколько юсингов в парсере... так вот один. А сколько там выделений памяти пожешь себе представить.
А сколько там сейчас глюков и недоделок даже представлять не хочется
Здравствуйте, VladD2, Вы писали:
VD>У тебя случаем не разделение личности? Я говорил о адонзе и его проектах.
Влад, а адонц! К тому же что-за снисходительность к размерам моих проектов?
LM>> Использовать правильные идиомы и соглашения без исключений, и все будет в порядке. VD>А еще и без исключений. Ню-ню. Очень правильно. Поделись что пишешь то?
По моему понятно, что человек говорил не об отсутсвии exceptions(try/catch), а о том, что идиомы и соглашения должны применятся везде, без отступлений от идиом и соглашений.
Здравствуйте, adontz, Вы писали:
AVK>>Оттуда что выделения памяти в программе как правило как минимум на порядок больше, чем выделения неуправляемых ресурсов.
A>1 правило — не пользоваться голыми указателями. A>Что ещё?
Он не про правила, а про количество их применений в коде.
Здравствуйте, mdw, Вы писали:
mdw>А что движок позволяет редактировать собственные сообщения?
Как редактировать я не нашел, но удалять позволяет. Нажимаешь на кнопку с бомбой, там выбираешь пункт "удалить сообщение". Удаляешь его, а вместо него потом кладешь исправленное.
Здравствуйте, mdw, Вы писали:
mdw>А драйвера всех видов и мастей, это тоже не Windows? Произвольно за/выгружаемые, написанные разными производителями, не имевшие представления друг о друге, работающие в многоуровневой связке (например файловая система: от драйвера накопителя и до самых до верхов)
mdw>Простите но Ваша убежденность в необходимости сборщика мусора, немного похожа на релегиозную
А эти самые драйверы общаются между собой передавая друг другу полиморфные переменные или они все-таки как-то по старинке — не ОО? Что-то мне мерещится, что при написании драйверов Windows полиморфизмом не шибко пользуются...
Здравствуйте, S.Yu.Gubanov, Вы писали:
SYG>Здравствуйте, mdw, Вы писали:
mdw>>А драйвера всех видов и мастей, это тоже не Windows? Произвольно за/выгружаемые, написанные разными производителями, не имевшие представления друг о друге, работающие в многоуровневой связке (например файловая система: от драйвера накопителя и до самых до верхов)
mdw>>Простите но Ваша убежденность в необходимости сборщика мусора, немного похожа на релегиозную
SYG>А эти самые драйверы общаются между собой передавая друг другу полиморфные переменные или они все-таки как-то по старинке — не ОО? Что-то мне мерещится, что при написании драйверов Windows полиморфизмом не шибко пользуются...
Передают указатели на функции или структуры с указателями на функции. Т.е. кристально чистый полиморфизм ручной работы.
Здравствуйте, S.Yu.Gubanov, Вы писали:
mdw>>А что движок позволяет редактировать собственные сообщения?
SYG>Как редактировать я не нашел, но удалять позволяет. Нажимаешь на кнопку с бомбой, там выбираешь пункт "удалить сообщение". Удаляешь его, а вместо него потом кладешь исправленное.
Здравствуйте, S.Yu.Gubanov, Вы писали:
SYG>Здравствуйте, mdw, Вы писали:
mdw>>А драйвера всех видов и мастей, это тоже не Windows? Произвольно за/выгружаемые, написанные разными производителями, не имевшие представления друг о друге, работающие в многоуровневой связке (например файловая система: от драйвера накопителя и до самых до верхов)
mdw>>Простите но Ваша убежденность в необходимости сборщика мусора, немного похожа на релегиозную
SYG>А эти самые драйверы общаются между собой передавая друг другу полиморфные переменные или они все-таки как-то по старинке — не ОО? Что-то мне мерещится, что при написании драйверов Windows полиморфизмом не шибко пользуются...
Здравствуйте, Kluev, Вы писали:
K>Передают указатели на функции или структуры с указателями на функции. Т.е. кристально чистый полиморфизм ручной работы.
В общем случае это опасно: передал он внешнему миру указатель на свою внутреннюю структуру. Как теперь он может принять решение об уничтожении этой структуры, откуда он может знать работает внешний мир с тем указателем или больше не работает... априори о внешнем мире ему не известно ничего.
Здравствуйте, S.Yu.Gubanov, Вы писали:
SYG>Здравствуйте, Kluev, Вы писали:
K>>Передают указатели на функции или структуры с указателями на функции. Т.е. кристально чистый полиморфизм ручной работы.
SYG>В общем случае это опасно: передал он внешнему миру указатель на свою внутреннюю структуру. Как теперь он может принять решение об уничтожении этой структуры, откуда он может знать работает внешний мир с тем указателем или больше не работает... априори о внешнем мире ему не известно ничего.
Ничего не поделаешь программирование вообще опасное занятие.
Более того драйвер и не должен принимать решение. С какой это стати? Если вызывающий код запрашивает ресурс то он же его и освобождает.