Здравствуйте, criosray, Вы писали:
C>Классический юношеский максимализм на лицо...
Ты с топика-то не съезжай. Я тебе тут давеча вопрос про тестирование задал. Ответ будет?
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
V>>А CLR у нас теперь отдельно от фреймворков идёт? MK>А что это меняет?
Упорядочивает логику рассуждений, очевидно.
MK>Ну слушай, уже разобрались что к чему, давай не будем пускаться в демагогию.
Ну я-то разобрался сразу, просто интересно понять, откуда был взято утверждение о моем незнании насчет версий CLR. Считай, что формат "Священных войн" позволяет мне экспериментировать с оппонентами. Просто в исходный топик можно подставить утверждение, что я не знал обсуждаемое, или же противоположное — логика-то в итоге не меняется, и даже к обсуждаемому там вопросу не относится. Так что позволю себе быть в полной уверенности, что этот всплеск эмоций был по самой банальной низменной причине — из желания назвать ламером оппонента. (такая вот месть, за то, что потрепали в другом разделе форума )
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, criosray, Вы писали:
C>>Человек привселюдно опозорился...
V>Угу, а во рту "сладко, сладко, сладко". V>Не в состоянии обосновать своих утверждений — расписался в бессилии.
В бессилии? Действительно — я в бессилии переубедить Вас, т.к. Вы отвергаете простой и понятный даже трех летнему ФАКТ:
Вообщем, как принято тут говорить "слив засчитан".
_>Чем правее самая старшая изменённая цифра в версии, тем меньше фич добавляется и тем мельче фичи. Причём чаще всего изменение младших двух цифр включет в себя в основном багфиксы. И ты хочешь, что бы при изменении самомй младшей цифры версии дотнета майкрософт начал переколбашивать jit?
Его и переколбашивали, просто не в том направлении, в каком лично мне надо было, но это фигня, и фигня потому, что это все внутренние кишки. Для этого дотнет и разрабатывался, чтобы отвязать программы от подробностей реализации рантайма. Спорящий со мной продемонстрировал непонимание этого момента.
Там еще фишка с этими тремя полями версии в том (если сам не обратил внимание), что они входят в строгое имя сборок, поэтому обновленные сборки ложатся аккурат вместо старых, чтобы те самые новые обновления работали для ваших старых программ.
Но вот что не фигня, и я приводил уже примеры — это изменения в публичных интерфейсах основных сборок, согласись, это уже малость посерьезнее. Например, поставили .Net 3.5 SP1, взяли класс Socket, там поиспользовали новые асинхронные методы, а потом понесли программу на Висту без указанного обновления, или там где стоит первоначальная версия .Net 2.0, а она даже не грузится той же версией CLR. (ничего, что я mscorlib и его зависимости в CLR сключил? спасибо)
Поэтому, в спецификациях требований к окружению такой программы надо писать не <CLR 2.0.х>, а <.Net 3.5 SP1>. Разницу ощутил?
На самом деле, пытаться отделять CLR от FW — это профанация, одно без другого не живет, да и смысла не имеет. А для чего был затеян весь сыр-бор сказал здесь
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, anton_t, Вы писали:
V>Но вот что не фигня, и я приводил уже примеры — это изменения в публичных интерфейсах основных сборок, согласись, это уже малость посерьезнее. Например, поставили .Net 3.5 SP1, взяли класс Socket, там поиспользовали новые асинхронные методы, а потом понесли программу на Висту без указанного обновления, или там где стоит первоначальная версия .Net 2.0, а она даже не грузится той же версией CLR. (ничего, что я mscorlib и его зависимости в CLR сключил? спасибо)
V>Поэтому, в спецификациях требований к окружению такой программы надо писать не <CLR 2.0.х>, а <.Net 3.5 SP1>. Разницу ощутил?
А как же multitargeting при разработке?
Скопиленное на платформе .Net3.5sp1 под 2.0 пойдет на 2.0 гарантированно? Или к 2.0 надо свои другие фиксы ставить?
1. Вы обвенили дотнет в том, что в новых фреймворках не ощутимо "обещанное улучшение оптимизации jit"
2. На что Вам ответили, что CLR со времен дотнет 2.0 НЕ менялся.
3. Вы начали доказывать: как же не менялся, когда выходили фреймворк 3.0, 3.5 и сервис паки!
4. Вам ответили, что CLR в них остался прежним, потому там и не могло появится каких-то новых "оптимизаций jit".
и в доказательство привели картинку, авторами которой являются сами МС
...
Теперь Вы пытаетесь перевести тему, оправдаться и как-то выкрутиться, не желая признать свою неправоту. Будьте мужчиной, в конце-то концов! Имейте смелость признать свою неправоту.
C>В бессилии? Действительно — я в бессилии переубедить Вас, т.к. Вы отвергаете простой и понятный даже трех летнему ФАКТ:
Ну ты или настолько непробиваем, или исскуссный манипулятор (в последнее верится с трудом). К счастью, известным форумным приемом это нивелируется: будь добр цитату или последовательность цитат, где я это опровергал.
Ибо пока что ты споришь не с тем, что я говорил, а с тем, что ты мне приписал.
C>Вообщем, как принято тут говорить "слив засчитан".
Серьезно? Слив — это уход от темы или исчезание из обсуждения после неудобных вопросов, оба приема ты уверенно демонстрируешь по нескольку раз в день. (времени не жалко?) В общем, на лицо отсутствие начальных навыков форумного общения, поэтому и подставляешься те самые несколько раз в день. Мне давно уже наплевать на суть нашего обсуждения, просто пока не лень показать, где ты слажал.
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, Pepel, Вы писали:
P>>весь пост не читал, только начало зацепил, вставлю свои 5 центов : тут чет про кросплатформенность много пишут там и прочий валюнтаризм .. мне кажется, дело в области применении задачи, наверное программу управления кардиодатчиком хирургического стола все же стоит писать на C++ ввиду сильного механизма проверок , а дрочилку отчетов овощной базы на рынке можно и на шарпах забомбить и она тож будет великолепна ..
G>Сильных проверок чего?
типов проверок !!!! ЧЕГО ..
мощная статическая проверка типов ..это 0 который делает из 1 десятку
Здравствуйте, Pepel, Вы писали:
P>Здравствуйте, gandjustas, Вы писали:
G>>Здравствуйте, Pepel, Вы писали:
P>>>весь пост не читал, только начало зацепил, вставлю свои 5 центов : тут чет про кросплатформенность много пишут там и прочий валюнтаризм .. мне кажется, дело в области применении задачи, наверное программу управления кардиодатчиком хирургического стола все же стоит писать на C++ ввиду сильного механизма проверок , а дрочилку отчетов овощной базы на рынке можно и на шарпах забомбить и она тож будет великолепна ..
G>>Сильных проверок чего?
P>типов проверок !!!! ЧЕГО .. P> мощная статическая проверка типов ..это 0 который делает из 1 десятку
Вы хотите нам сказать, что C++ статически типизированный язык?
0 делает из 1 десятку чего?
Здравствуйте, vdimas, Вы писали:
V>Здравствуйте, criosray, Вы писали:
C>>В бессилии? Действительно — я в бессилии переубедить Вас, т.к. Вы отвергаете простой и понятный даже трех летнему ФАКТ:
V>Ну ты или настолько непробиваем, или исскуссный манипулятор (в последнее верится с трудом). К счастью, известным форумным приемом это нивелируется: будь добр цитату или последовательность цитат, где я это опровергал.
V>Ибо пока что ты споришь не с тем, что я говорил, а с тем, что ты мне приписал.
Да ну? Серьезно?
А это чьи слова:
"И еще забыл, что последние года 4 тактовая частота процов практически не растет, а обсуждаемого скачка оптимизации JIT-а при переходе на 3.0 версию не было ВООБЩЕ"
"Да, версия стандарта 2.0.x (т.к. формат метаданных не поменялся), а название стандарта ты озвучил. Тем не менее, сам рантайм и .Net-сборки от второго фреймворка обновлялись с выходом каждого последующего или их SP. Для интереса, вот список изменений только лишь для 2.0SP1 http://support.microsoft.com/kb/945757, остальное найти так же не трудно, если есть желание.
То, что ты совершенно не в курсе об постоянных обновлении рантайма и .Net сборок и о характере этих обновлений — это понятно, но поверь, абсолютно не смертельно. Что непонятно, так это твоя реакция: неужели настолько смертельным было то, что ты предположил? И что будешь делать сейчас? Посыпать голову пеплом?"
а потом пошла конкретная демагогия в попытках замять тему:
"
Офигенный ликбез, судя по обширности представленного материала.
Тогда встречный ликбез для тебя: рантайм и основные .Net сборки (mscorlib, System) постоянно обновлялись после выхода второго фреймворка (когда я говорю второй фреймворк, то это именно релиз Microsoft .Net Framework 2.0, который действительно 2.0.50727). Одни из самых заметных обновлений рантайма, пришедшее с .Net 3.0 — это доработка GC, самое заметное изменение сборок версии 2.0.50727, пришедшее с .Net 3.5 — это интерфейс класса Socket из System.dll. А так по мелочи доработок была куча (начни от ссылки в пред. посте), от внутренних кишок System.Data, до дублирования и переноса по неймспейсам объявлений наиболее популярных интеропных COM структур и интерфейсов. "
Вы можете ответить какое отношения номера версий сборок имеют к CLR и JIT-оптимизациям??? Не можете. Потому что Вы банально "съхали с темы".
И еще один последний ликбез для Вас: рантайм о котором Вы твердите это и есть CLR — common language runtime и он НЕ обновлялся с 2005го года — со времен выхода дотнет 2.0
Повторяю: жду от Вас, вдимас, публичного признания своей неправоты и извинений.
Здравствуйте, Pepel, Вы писали:
P>весь пост не читал, только начало зацепил, вставлю свои 5 центов : тут чет про кросплатформенность много пишут там и прочий валюнтаризм .. мне кажется, дело в области применении задачи, наверное программу управления кардиодатчиком хирургического стола все же стоит писать на C++ ввиду сильного механизма проверок , а дрочилку отчетов овощной базы на рынке можно и на шарпах забомбить и она тож будет великолепна ..
Dildo Framework, Vegetable Edition
Здравствуйте, criosray, Вы писали:
ГВ>>Ты с топика-то не съезжай. Я тебе тут давеча вопрос про тестирование задал. Ответ будет? C>Я даю ответы только тем, кто хоть что-то понимает в теме. В Вашем случае не вижу смысла тратить время и силы, т.к. все-равно канут в лету.
Фи, как не интеллигентно.
Короче, орёл. Кури нормальную литературу а не ту фигню, которую ты мне попытался всучить под видом источников. Этой чепухой корми программистов, выращенных на ускоренных курсах переквалификации из домохозяек, только смотри, чтобы они ненароком не оказались студентами профильных специальностей — могут не понять. И самое главное — не подпускай их ближе, чем к веб-дизигну.
Для справки: нормальная литература, это либо та, которая издана примерно до 1995 года (до бума доткомов), либо та, которая не содержит словесей "...-driven development". Если с первым ещё понятно, то про второе объясню, почему. Потому что development направляется всегда (абсолютно всегда, исключений нет) только одной вещью — требованиями к конечному продукту. Функциональными, эстетическими, приснившимися в пророческом сне — не важно. Не паттернами, не agile-ением, не XP-данутостью, ни тем более — тестами. Тестирование — составляющая development, которая нужна только для одного — доказать, что продукт соответствует выдвинутым требованиям. Я не знаю, какую траву нужно смалить и в каких количествах, чтобы всерьёз упирать на то, что заведомо подчинённая часть может управлять целым. То есть противоречие тут уже на уровне терминологии определений. Потому, вероятно, Фаулер и мечется между "приблизительно", "обычно" и "это надо объяснить на следующих трёхстах страницах".
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Pepel, Вы писали:
P>Здравствуйте, gandjustas, Вы писали:
G>>Здравствуйте, Pepel, Вы писали:
P>>>весь пост не читал, только начало зацепил, вставлю свои 5 центов : тут чет про кросплатформенность много пишут там и прочий валюнтаризм .. мне кажется, дело в области применении задачи, наверное программу управления кардиодатчиком хирургического стола все же стоит писать на C++ ввиду сильного механизма проверок , а дрочилку отчетов овощной базы на рынке можно и на шарпах забомбить и она тож будет великолепна ..
G>>Сильных проверок чего?
P>типов проверок !!!! ЧЕГО .. P> мощная статическая проверка типов ..это 0 который делает из 1 десятку
Здравствуйте, criosray, Вы писали:
ГВ>>Ты с топика-то не съезжай. Я тебе тут давеча вопрос про тестирование задал. Ответ будет? C>Я даю ответы только тем, кто хоть что-то понимает в теме. В Вашем случае не вижу смысла тратить время и силы, т.к. все-равно канут в лету.
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, Pepel, Вы писали:
P>>Здравствуйте, gandjustas, Вы писали:
G>>>Здравствуйте, Pepel, Вы писали:
P>>>>весь пост не читал, только начало зацепил, вставлю свои 5 центов : тут чет про кросплатформенность много пишут там и прочий валюнтаризм .. мне кажется, дело в области применении задачи, наверное программу управления кардиодатчиком хирургического стола все же стоит писать на C++ ввиду сильного механизма проверок , а дрочилку отчетов овощной базы на рынке можно и на шарпах забомбить и она тож будет великолепна ..
G>>>Сильных проверок чего?
P>>типов проверок !!!! ЧЕГО .. P>> мощная статическая проверка типов ..это 0 который делает из 1 десятку
G>
G>A a;
G>B* b = (B*)((void*)&a)
G>
G>Где тут сильные проверки?
G>Лучше сразу напиши что был неправ иначе заклюют.
тут их нет конечно же, это пример сознательного обхода проверок, да, есть такой инструмент в С++, есть полноценные указатели и void*, совместимость с С и это здоровская вещь на самом деле ...
понимаешь.. как тебе объяснить .. "нож хорош для того, у кого он есть, и плох для того, у кого он в нужный момент не оказывается под рукой" .
Здравствуйте, samius, Вы писали:
V>>Поэтому, в спецификациях требований к окружению такой программы надо писать не <CLR 2.0.х>, а <.Net 3.5 SP1>. Разницу ощутил? S>А как же multitargeting при разработке? S>Скопиленное на платформе .Net3.5sp1 под 2.0 пойдет на 2.0 гарантированно? Или к 2.0 надо свои другие фиксы ставить?
Именно привел пример, когда гарантированно не пойдет. Конкретные классы и методы:
Socket.AcceptSync(), Socket.ConnectSync(), и прочие xxxAsync() а так же сам класс SocketAsyncEventArgs.
Была еще куча мелких примеров, но мы не записывали, а просто написали в требованиях <MS .Net FW 3.5 SP1>.
Здравствуйте, criosray, Вы писали:
C>Короче, объясняю на пальцах:
О, наконец-то! Можно ставить точку.
C>2. На что Вам ответили, что CLR со времен дотнет 2.0 НЕ менялся.
(загвоздка в том, что ты говорил про версию, более того, лишь про старшие её цифры, в этом суть, продолжаем)
C>4. Вам ответили, что CLR в них остался прежним, потому там и не могло появится каких-то новых "оптимизаций jit".
Вот наконец тот самый логический клей, спасибо. Хоть я и так понял, что ты хотел именно это сказать, и даже видел эмоциальные добавления к тому, что подразумевалось, но логика без явного озвучивания страдала, а этого я допустить не могу.
Итак, ты заблуждался и очень сильно. Твои прикладные программы привязаны к версии фреймворка, но сама позиция MS (а нам ее тут озвучивали MS MVP, которым я доверяю в этом вопросе), была в том, что рантайм будет развиваться с сохранением обратной совместимости, и он таки успешно развивался/развивается (оглядываясь назад).
Я тебе предлагал уже тупо взять эксплорер (!!!) — ты же можешь сравнить размер, даты и версии файлов, составляющих фреймворк, ты можешь взять Reflector или другой аналогичный тул... вобщем, в конце концов убедиться, что CLR изменялся. Более того, изменения джита со времен FW 2.0 происходили, просто ты не очень активно (судя по профайлу) участвовал в нашем форуме, и мог подробностей не знать. Ну дык, я вроде дал ссылку, откуда можно начать копать (будь у тебя интерес узнать, как обстоят дела на самом деле).
Но это всё мелочи, спорить я начал исключительно по причине того, что ты мне приписал нечто от балды. Спорить непосредственно с этим "нечто" было бы не столь увлекательно (ибо использую .Net с 2002-го года), поэтому я и заставил тебя определённо высказаться самому по этому вопросу, что ты и сделал п.2 и п.4, и более мне ничего от тебя не надо.
Повторюсь, не такие это уж важные знания, важнее знать другое — что наши прикладные программы остануться работоспособными при дальнейшем развии .Net. Такая фигня была бы простительна, если бы ты свое незнание не ставил как аргумент в доказательство ламерства коллеги.
C>и в доказательство привели картинку, авторами которой являются сами МС
Боже мой, какая красивая картинка. Ты из этих картинок предлагаешь "знания" черпать?
У нас тут целая серия issues была по причине несовместимостей фреймворков, так что сведения приходилось черпать из чуть более глубоких источников.
В принципе, я тебе эту картинку объяснил, но ты не понял: формат метаданных остался прежний, спецификации те же, старшие поля версий, участвующие в strong name сборок те же, поэтому старые твои программы могут ссылаться на обновленные сборки без проблем. (в этом состояло домашнее задание)
Итого: ты можешь остаться при своем мнении о неизменности реализации CLR, но будь добр, не требуй от меня согласиться с этим.
C>Теперь Вы пытаетесь перевести тему, оправдаться и как-то выкрутиться, не желая признать свою неправоту. Будьте мужчиной, в конце-то концов! Имейте смелость признать свою неправоту.
Расслабся, если я чего-то не знаю, то с удовольствием слушаю собеседника и всегда ему благодарен за его личное время, потраченное на мое образование. Рекомендую эту тактику как наиболее эффективную, чтобы твое форумное время не проходило бесполезно.