???
Математика на уровне МГУ

Показано с 1 по 25 из 162

Тема: Про вычислительную технику

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Мастер
    Регистрация
    12.07.2002
    Адрес
    Жуковский
    Возраст
    51
    Сообщений
    3,924

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Дык, оно конечно. Только программирование этого DSP -- крошечная задача. Полагаете, что когда заявляют о миллионах строк кода для F-22, это всё программирование какого-нибудь DSP? Для DSP достаточно полдюжины подпрограмм.
    Разрешите с Вами не согласиться. В некоторых приложениях- обработке сигналов РЛС, работе с видео DSP пока дают 100 очков вперед при условии создания нормального ПО. Я несколько в теме.

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Нет, самые тяжёлые ошибки -- ошибки управления проектом. Ошибки в алгоритмах и логике неизбежны, самые успешные программные проекты -- не те, в которых меньше таких ошибок. Примеров тьма.
    Ошибки всегда видны, успех воспринимается, как само собой. Не факт, что проект провален из-за устаревшей платформы. А то, что успешный проект создан на устаревшей, по Вашей терминологии, а по терминологии разработчиков, надежной, платформе - это как? Успех? Или недальновидность? Программирование- вещь очень субъективная.

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

  2. #2
    Пилот Аватар для Дм. Журко
    Регистрация
    20.12.2007
    Адрес
    Калининград (Кёнигсберг)
    Возраст
    59
    Сообщений
    772

    Re: Про вычислительную технику

    Цитата Сообщение от F74 Посмотреть сообщение
    Разрешите с Вами не согласиться.
    Разрешаю. Пишу не чтоб соглашались, а чтоб обсудить, додумать, выразить. Объяснил, сам понял -- это про меня.

    В некоторых приложениях- обработке сигналов РЛС, работе с видео DSP пока дают 100 очков вперед при условии создания нормального ПО. Я несколько в теме.
    Сколько угодно. Для DSP, если поставят, нужен будет только драйвер и несколько подпрограмм. Вы же знаете должно быть, что программы современного истребителя это миллионы строк кода на Ada, к примеру. А код для DSP -- ну тысяча строк, ну две и неизвестно на чём, хоть коды прошивки. Причём тут DSP?

    Ваши 100 очков, это быстродействие, очевидно. Однако быстродействие -- третьестепенный параметр нынче. «Некоторые приложения» -- это сущий пустяк в стоимости, сроках и сложности БРЭО.

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

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

    А то, что успешный проект создан на устаревшей, по Вашей терминологии, а по терминологии разработчиков, надежной, платформе - это как? Успех? Или недальновидность? Программирование- вещь очень субъективная.
    Это часть неудачи успешного проекта. Ему подрезали будущее -- тоже бывает. Описан знаменитый случай, когда весьма удавшееся БРЭО A-7D Corsair пытались перевести на Ada, вроде, с аналоговых схем и каких-то зачаток программирования. Военные поставили задачу -- не надо лучше, сделайте не хуже, но на новой элементной основе и среде программирования, дёшево. Пришлось разработать целую методологию описания БРЭО как чёрного ящика, каждый тумблер (вход -- три положения: вкл., выкл., промежуток) и управляющие выводы (выход) исследовались как конечный автомат, а после на этой основе писали программу, а по сути, матрицу кривых управляющего сигнала.

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

    Отношение к программированию (писанию кода) как к субъективному неформальному творческому процессу теперь мешает. Даже яму копать надо смекалка, ну и что? В целом задача неплохо формализуется, если проявить строгость подхода. Пока, правда, это больше пожелания.

    Кроме того, я сам видел примеры, когда борьба за чистоту программирования приводила к ошибкам в логике программы.
    Источников ошибок -- тысячи. Технология программирования, в самой плодотворной части, -- это управление на основе чётко осознанной методологии и понимания цели и задач, а не кодоизвержение. Причём тут чистота?

  3. #3
    Мастер
    Регистрация
    12.07.2002
    Адрес
    Жуковский
    Возраст
    51
    Сообщений
    3,924

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Отношение к программированию (писанию кода) как к субъективному неформальному творческому процессу теперь мешает. Даже яму копать надо смекалка, ну и что? В целом задача неплохо формализуется, если проявить строгость подхода. Пока, правда, это больше пожелания.
    Хорошо, я понял, вопрос о бортовых вычислителях плавно перешел в обсуждение методик программирования. Надеюсь, помру раньше, чем боевые алгоритмы на Java переводить придется, да не к ночи она будет помянута.

    ПС
    2 Дм Журко. Мощный вычислитель- это хорошо в офисе в мирных условиях. А взвалить себе на шею кроме своего софта еще Java-машину со своими глюками- это перебор.

  4. #4
    Пилот Аватар для Дм. Журко
    Регистрация
    20.12.2007
    Адрес
    Калининград (Кёнигсберг)
    Возраст
    59
    Сообщений
    772

    Re: Про вычислительную технику

    Цитата Сообщение от F74 Посмотреть сообщение
    Мощный вычислитель- это хорошо в офисе в мирных условиях. А взвалить себе на шею кроме своего софта еще Java-машину со своими глюками- это перебор.
    Писать заново с доморощенными глюками это как? Вы всерьёз думаете, что разработчики JVM или .NET и Windows CE хуже «секретных военных программистов»?

    Мощность вычислителей «удваивается за два года» и через 5 лет будет не менее чем вчетверо лучше _во всём буквально_. Закон распространяется не только на суперкомпьютеры, но и на наладонник и на истребитель. И вычислители эти будут меньше потреблять и надёжнее. Программное обеспечение развивается отнюдь не так замечательно, но за 20 лет есть продвижение.

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

    В 1986-88 году разработчики F-22A выбрали самый новый процессор и самую новую среду программирования. В 2008 надо выбрать те же процессоры и среды? Это не умно, простите. Хотя в России пока «перспективный» процессор как раз из тех времён -- «Багет» -- i486DX2.

    F-22A на RISC-процессоре i960MX в 20-25 МГц, вроде, объединённых в процессорную сеть из 35 вычислителей. F-35A имеет, по крайней мере, 14 PowerPC G4 -- RISC-процессор с уже порядка ГГц частотой. И хотя, говорят, там, в основном, опять Ada, наверняка новая Ada не та, что 20 лет назад, ни среда, ни исполняющая система, ни даже язык, подозреваю, так как и C++ не тот, что 10 лет назад. Можно взглянуть на сайт изготовителя среды. Кстати, DSP-подсистема i960MX убыстрит значительно, наверное, а PowerPC G4?

    Соглашусь, что намного лучше Ada в этом направлении почти ничего не придумали, точнее, не придумали намного больше, зато кое-что пересмотрели и даже урезали. В Ada есть сборка мусора, утверждения, обработка исключительных ситуаций, параллельные процессы на основе рандеву, строгая типизация, структурность, абстрактные типы данных -- перегрузка, шаблоны; объектность -- полиморфизм, наследование, инкапсуляция, динамическое связывание, абстрактные классы; модульность -- пакеты -- прекрасный механизм раздельной компиляции, не убожество C++. Это очень развитый язык... даже слишком, как и Algol когда-то был слишком. Как и Algol, Ada будет ещё долго влиять, но не станет успешной сама, это уже ясно.

    На F-35, об этом писали, используется около полутора миллионов строк кода на C++. Подозреваю, что это давно написанные и отлаженные библиотеки, не вновь написанные, даже не недавно. Полтора млн. строк это меньше MS WCE+.NET, но и решение об F-35 принималось не сегодня, а сегодня решение могло быть другим. Кстати, .NET тоже написан в основном на C++, но будущее не за ним и не за Ada, даже, -- я так чувствую.

    C#, скажем, показывает умеренность, учитывает опыт и C++, и Ada -- монстроидальных проектов. Новая концепция абстрактного байт-кода плодотворна и гибка, исполняющая система развита как никогда и довольно переносима. Язык имеет коммерческое будущее, распространён лучше Ada, для этого есть причины.

    Собственное мнение -- новую разработку надо бы начинать с CE+.NET+C#. Исходные коды доступны за приемлемые деньги. Есть и независимые источники, например, Open Source .NET -- Mono для Linux, на деньги Novell. Разумеется, есть знатоки и лучше меня, но непосредственно я их не знаю.

  5. #5
    Механик
    Регистрация
    18.04.2004
    Адрес
    Russian Federation
    Возраст
    42
    Сообщений
    623

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Писать заново с доморощенными глюками это как? Вы всерьёз думаете, что разработчики JVM или .NET и Windows CE хуже «секретных военных программистов»?

    Мощность вычислителей «удваивается за два года» и через 5 лет будет не менее чем вчетверо лучше _во всём буквально_. Закон распространяется не только на суперкомпьютеры, но и на наладонник и на истребитель. И вычислители эти будут меньше потреблять и надёжнее. Программное обеспечение развивается отнюдь не так замечательно, но за 20 лет есть продвижение.
    Вы тут глубоко заблуждаетесь, как любой программист, который не пишет драйверов или больших систем, которые работают на оборудовании, а не делают вызовов API.
    Оборудование точно так же делается с ошибками. Точно так же пытаются упростить создание одного элемента. Потому что кол-во элементов каждый раз "зашкаливает" за предельный уровень. Напомнить Вам последние хардверные ошибки в девайсах? Они до сих пор идут стабильно. Иначе бы не обновляли микрокод, отключая кэши TLB, и не отзывали бы девайсы, теряя миллионы и миллионы. То что "кол-во транзистров на единицу площади удваивается..." по Закону Мура, ещё не значит, что такими же темпами растёт производительность. Типичная ошибка всех "софтовых" программистов уже достала. Извените за повторение.

    Насчёт отсутсвии коммерции в open source софте. Ха-ха-ха! Знаете такую лицензию BSD? Вот. А теперь вспомните или поищите где-нить откуда Майкрософт "спёрла" TCP/IP стек для 95ой винды. Потом представте себе Windows без TCP/IP и интернета. Как Вам?

  6. #6
    Пилот Аватар для Дм. Журко
    Регистрация
    20.12.2007
    Адрес
    Калининград (Кёнигсберг)
    Возраст
    59
    Сообщений
    772

    Re: Про вычислительную технику

    Цитата Сообщение от ROSS_Tracer Посмотреть сообщение
    Вы тут глубоко заблуждаетесь, как любой программист, который не пишет драйверов или больших систем, которые работают на оборудовании, а не делают вызовов API.
    Оборудование точно так же делается с ошибками. Точно так же пытаются упростить создание одного элемента. Потому что кол-во элементов каждый раз "зашкаливает" за предельный уровень. Напомнить Вам последние хардверные ошибки в девайсах? Они до сих пор идут стабильно. Иначе бы не обновляли микрокод, отключая кэши TLB, и не отзывали бы девайсы, теряя миллионы и миллионы. То что "кол-во транзистров на единицу площади удваивается..." по Закону Мура, ещё не значит, что такими же темпами растёт производительность. Типичная ошибка всех "софтовых" программистов уже достала. Извените за повторение.
    Нисколько не ошибаюсь. С программами то же самое: увеличиваются, усложняются, становятся более многоцелевыми, число ошибок, разумеется, растёт. Ну и что? Программы становятся надёжнее и дешевле, часто даже меньше, хоть уменьшать размер смысла особого нет.

    Если в системе ошибка, можно систему от неё избавить или усложнить систему, чтобы ошибка не проявлялась -- микрокод в Вашем случае. Важно, что запасы есть, они даже не убывают, а вовсе наоборот. Улучшаются значительно и средства разработки, отладки, испытания, доводки и сопровождения. И опять с запасом, быстрее роста числа ошибок.

    Сложность приводит в программировании к отказу от ставки на квалификацию кодеров, к тому, что их работа не рассматривается теперь как творческая. Проще заказать одну задачу двум исполнителям и сравнить, чем заплатить одному вдвое и надеяться на его сверхспособности, скажем, -- это один из приёмов.

    Насчёт отсутсвии коммерции в open source софте. Ха-ха-ха! Знаете такую лицензию BSD?
    BSD это не Open Source, хотя код они предоставляют. Лицензия Open Source это GNU -- почитайте. Или нечто вроде, лень разбираться с маргиналами.

    Вот. А теперь вспомните или поищите где-нить откуда Майкрософт "спёрла" TCP/IP стек для 95ой винды. Потом представте себе Windows без TCP/IP и интернета. Как Вам?
    Да ладно Вам повторять ерунду. Ваш пример опровергает Ваше же утверждение. Продали TCP/IP «коммерсанты»? Может Майкрософт придумал интернет? Нет! Наверное Apple? Тоже нет. Apple заплатил? Уж скорее Майкрософт заплатил и ещё не раз заплатит. У Майкрософт полный порядок с лицензиями, уверяю. Если кто-то полагает, что это не так, он ошибается с невероятной вероятностью.

    TCP/IP, кстати, никак и никогда не мог бы принадлежать BSD. Там вообще нет копирайта, заметили? Такие приоритеты всякий раз сильно и сознательно запутаны, так как честь велика, а платить никому не охота. Но как бы не в CERN, в Швейцарии разработан.

    Вероятно, что какой-то код BSD является рекомендованным, стандартом «де факто».

    Закончу байкой. Apple подал на Microsoft в суд, обвиняя в присвоении оконного интерфейса и мышки. Юристы быстро вышли на Rank Xerox, где, якобы, и то и другое было раньше. Но, по слухам, Apple могли взять Xerox в долю и навредить MS. Тогда юристы MS стали искать Никлауса Вирта, автора Pascal, оказалось, что он путешествовал по США в то время в доме на колёсах. Привезли самолётом в суд, где Вирт рассказал, что на их компьютере Lilith в Швейцарии и окошки, и мышка была ещё раньше, чем у Xerox, но он не желает преследовать кого-то. Всё рассказано по памяти, да и источник мог приврать кое-где, но нечто подобное вполне могло быть и показательно.

    Только давайте не будем тут это обсуждать, а почаще будем возвращаться к военному БРЭО.

  7. #7
    ED Team Аватар для USSR_Rik
    Регистрация
    16.08.2003
    Адрес
    Belarus, Minsk
    Сообщений
    2,450

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    ... где Вирт рассказал, что на их компьютере Lilith в Швейцарии и окошки, и мышка была ещё раньше, чем у Xerox, но он не желает преследовать кого-то.
    Потому что он знал, что следом в суд может прийти и Дуглас Энджелбарт
    Программы становятся надёжнее и дешевле, часто даже меньше, хоть уменьшать размер смысла особого нет.
    Может быть и так - но как минимум с очень большими оговорками. Потому что существует и встречный процесс - расширение функциональности и обвешивание примочками, зачастую не очень-то и оправданное. Впрочем, я надеюсь, что к военному софту эта оговорки не относится или относится в малой степени.
    ...чего уж тигру лишняя полосочка... (© - не помню)

  8. #8
    Механик
    Регистрация
    18.04.2004
    Адрес
    Russian Federation
    Возраст
    42
    Сообщений
    623

    Re: Про вычислительную технику

    УУУУУ У Вас тут пробел в знаниях. Разрешите, заполню

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    BSD это не Open Source, хотя код они предоставляют. Лицензия Open Source это GNU -- почитайте. Или нечто вроде, лень разбираться с маргиналами.
    BSD - не OpenSource? Да ладно))))))))))
    Вот умора. (см. www.opennet.ru http://www.freebsd.org/copyright/index.html)
    Объясняю на пальцах:
    Есть несколько лицензий OpenSource. GNU, GNUv2, GNUv3, BSD.
    Основное отличие BSD, то что код основанный на коде под лицензией BSD МОЖЕТ использоваться в коммерческих системах. То есть его можно продать. GNU такое не позволяет. Это основная разница.

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Да ладно Вам повторять ерунду. Ваш пример опровергает Ваше же утверждение. Продали TCP/IP «коммерсанты»? Может Майкрософт придумал интернет? Нет! Наверное Apple? Тоже нет. Apple заплатил? Уж скорее Майкрософт заплатил и ещё не раз заплатит. У Майкрософт полный порядок с лицензиями, уверяю. Если кто-то полагает, что это не так, он ошибается с невероятной вероятностью.

    TCP/IP, кстати, никак и никогда не мог бы принадлежать BSD. Там вообще нет копирайта, заметили? Такие приоритеты всякий раз сильно и сознательно запутаны, так как честь велика, а платить никому не охота. Но как бы не в CERN, в Швейцарии разработан.
    Вы не поняли, что я имел в виду. Никто никому ничего не "продавал". Майкрософт воспользовалась лицензией BSD и стянула реализацию TCP/IP стека в свой КОММЕРЧЕСКИЙ продукт (жду когда Вы назовёте Мастдай95 не успешным проектом. хи-хи) при этом ничего не нарушив. Но факт остаётся фактом. OpenSource код есть в винде!

  9. #9
    Пилот Аватар для Дм. Журко
    Регистрация
    20.12.2007
    Адрес
    Калининград (Кёнигсберг)
    Возраст
    59
    Сообщений
    772

    Re: Про вычислительную технику

    Вот спасибо Вам, ROSS_Tracer, просветили о маргиналах. Только факт если и есть, то описывается так -- Майкрософт использует код BSD в полной соответствии с лицензией и желанием BSD. Кто бы предположил иначе? От этого Open Source наполнился коммерсантами? Вы чему возражаете?

  10. #10
    Механик
    Регистрация
    18.04.2004
    Адрес
    Russian Federation
    Возраст
    42
    Сообщений
    623

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Вот спасибо Вам, ROSS_Tracer, просветили о маргиналах. Только факт если и есть, то описывается так -- Майкрософт использует код BSD в полной соответствии с лицензией и желанием BSD. Кто бы предположил иначе? От этого Open Source наполнился коммерсантами? Вы чему возражаете?
    В соотвествии с лицензией BSD - да. Иначе бы вою было
    Но! Вы утверждали, что OpenSource не может приносить денег. Я же Вам привёл пример сверхуспешного коммерческого проекта, в которым довольно важный кусок взят из OpenSource.

  11. #11
    Забанен
    Регистрация
    01.04.2004
    Адрес
    СПб, РФ
    Возраст
    60
    Сообщений
    4,789

    Re: Про вычислительную технику

    Цитата Сообщение от ROSS_Tracer Посмотреть сообщение
    УУУУУ У Вас тут пробел в знаниях. Разрешите, заполню

    BSD - не OpenSource? Да ладно))))))))))
    Вот умора. (см. www.opennet.ru http://www.freebsd.org/copyright/index.html)
    Объясняю на пальцах:
    Есть несколько лицензий OpenSource. GNU, GNUv2, GNUv3, BSD.
    Основное отличие BSD, то что код основанный на коде под лицензией BSD МОЖЕТ использоваться в коммерческих системах. То есть его можно продать. GNU такое не позволяет. Это основная разница.

    Вы не поняли, что я имел в виду. Никто никому ничего не "продавал". Майкрософт воспользовалась лицензией BSD и стянула реализацию TCP/IP стека в свой КОММЕРЧЕСКИЙ продукт (жду когда Вы назовёте Мастдай95 не успешным проектом. хи-хи) при этом ничего не нарушив. Но факт остаётся фактом. OpenSource код есть в винде!
    =================================================
    Точно так же фрагменты BSD систем используются и в MAC OS, и в сетевых экранах которые являются коммерческими продуктами

    8
    Мне одно непонятно - логичнее что бы военный софт писался на проверенном времени и быстродействющем языке имеющим больше количество библиотек.....Тот же самый BSD проект до 1991 года имел военное финасирование DOPRA....Так что кричать можно много о новых средствах разработки - но мне кажется что тут все таки все рюшечки красиве нафиг не нужны - а нужен проверенный временем язык с хорошим быстродействием, стандартом и документированностью а тут что то (я не программер, так что ИМХО) кроме С, С++ не исключено что куски фортрана которые могут крутится либо на своей ОС, либо на чем нибудь Unix подобном которое можно проверить на вложения....
    Крайний раз редактировалось NichtLanden; 05.05.2008 в 01:10. Причина: Добавлено сообщение

  12. #12
    Пилот Аватар для Дм. Журко
    Регистрация
    20.12.2007
    Адрес
    Калининград (Кёнигсберг)
    Возраст
    59
    Сообщений
    772

    Re: Про вычислительную технику

    Цитата Сообщение от NichtLanden Посмотреть сообщение
    Точно так же фрагменты BSD систем используются и в MAC OS, и в сетевых экранах которые являются коммерческими продуктами
    Да скорее всего этот код менять не рекомендует комитет по интернет, не помню как называется, не волнует это. Подобно код регулярных выражений поиска и замены для perl стал стандартом. Если хочешь, чтобы регулярные выражения работали _не лучше_, а _как у всех_, используй этот код. В PHP, как понимаю, стали умничать, вот в их regexp дыры.

    Мне одно непонятно - логичнее что бы военный софт писался на проверенном времени и быстродействющем языке имеющим больше количество библиотек...
    Военные с Вами не согласны. Они в 1988 для ATF выбрали самую новую, только только созданную систему Ada. Доводка Ada и программ для F-22 велась одновременно!

    Тот же самый BSD проект до 1991 года имел военное финасирование DOPRA....
    Вероятно, на деньги MS теперь.

    Так что кричать можно много о новых средствах разработки - но мне кажется что тут все таки все рюшечки красиве нафиг не нужны - а нужен проверенный временем язык с хорошим быстродействием, стандартом и документированностью а тут что то (я не программер, так что ИМХО) кроме С, С++ не исключено что куски фортрана которые могут крутится либо на своей ОС, либо на чем нибудь Unix подобном которое можно проверить на вложения....
    Причём тут «рюшечки»? «Проверен временем» FORTRAN IV и COBOL. Уверяю, до сих пор тьма старпёров, среди которых и сущие юнцы, полагающих, что они-то проверены. Однако я _имею опыт_ разбора текстов на FORTRAN, нахождения там кучи горбылей. На C и C++ тоже, уверяю. В лучшем случае, это макеты правильных программ.

  13. #13
    Зашедший
    Регистрация
    12.07.2004
    Адрес
    Харьков
    Возраст
    45
    Сообщений
    140

    Re: Про вычислительную технику

    2Дм. Журко: Ваш крайний пост - это ответ и мне тоже, как я понимаю?

  14. #14
    Зашедший
    Регистрация
    12.07.2004
    Адрес
    Харьков
    Возраст
    45
    Сообщений
    140

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Мощность вычислителей «удваивается за два года» и через 5 лет будет не менее чем вчетверо лучше _во всём буквально_.
    Ладно, раз молчите, прокомментирую то что есть.
    Мощность удваивается, а C# тормозит в 4 раза больше плюсов. Значит, через 4 года при сравнимом быстродействии будет такая же функциональность, как у программы 4х летней давности. Либо ставить еще более мощное железо. Для истребителя это - дополнительный объем и вес.

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

    В 1986-88 году разработчики F-22A выбрали самый новый процессор и самую новую среду программирования. В 2008 надо выбрать те же процессоры и среды? Это не умно, простите.
    Умно - выбрать максимально эффективный инструмент. Докажите, что C# более эффективен для БРЭО - я умолкну. Вы доказывать не хотите, и упорно игнорируете все мои вопросы.

    Собственное мнение -- новую разработку надо бы начинать с CE+.NET+C#.
    Напишите на C# следующие проекты:
    1) Конкурентоспособную СУБД;
    2) Высокопроизводительный онлайн-сервис
    3) Современный, технологичный 3D - движок.

    Как напишете, приходите и рассказывайте что C# серебряная пуля и рулез неимоверный.

  15. #15
    Пилот Аватар для Дм. Журко
    Регистрация
    20.12.2007
    Адрес
    Калининград (Кёнигсберг)
    Возраст
    59
    Сообщений
    772

    Re: Про вычислительную технику

    Цитата Сообщение от Yurec Посмотреть сообщение
    Ладно, раз молчите, прокомментирую то что есть.
    Раз я «молчу». Ага.

    Мощность удваивается, а C# тормозит в 4 раза больше плюсов. Значит, через 4 года при сравнимом быстродействии будет такая же функциональность, как у программы 4х летней давности. Либо ставить еще более мощное железо. Для истребителя это - дополнительный объем и вес.
    Откуда взяли разы? Испытывали? Пытаетесь спорить с тем, кто испытывал? Скорость C# иногда выше кодогенератора Visual C++ и никогда не бывала хуже в разы. Байткод меньше. Подозреваю, что и после кодогенерации, если она зачем-то нужна. Особенно быстра плавающая точка, так как, видимо, сопроцессор -- стековое устройство. Впрочем, если волнуют крохи, почитайте исследования. Я испытал, у меня обратные выводы -- C++ не выигрывает и в быстродействии.

    Никто такого не предлагает.
    Вы предлагаете. C++ безнадёжно устарел, новый код на нём писать -- ошибка управления проектом. Прежний код можно осторожно использовать, до тех пор, пока не заменят и его.

    Умно - выбрать максимально эффективный инструмент. Докажите, что C# более эффективен для БРЭО - я умолкну. Вы доказывать не хотите, и упорно игнорируете все мои вопросы.
    Могу показать, доказать никто никому ничего не сможет, это вера Ваша. Я легко C# сменю на лучший, если появится что-то. Не раз ведь менял.

    Напишите на C# следующие проекты:
    1) Конкурентоспособную СУБД;
    2) Высокопроизводительный онлайн-сервис
    3) Современный, технологичный 3D - движок.
    То есть Вы это всё написали? Уважаю. И сколько лет, по-вашему, C#?

    Как напишете, приходите и рассказывайте что C# серебряная пуля и рулез неимоверный.
    Сами идите и найдите свои «4 раза». Найдёте -- приведите, и можете продолжить писать глупости.

    8
    Цитата Сообщение от Verof Посмотреть сообщение
    Как вы думаете почему игры пишут на С++, а не на С#?
    Мне вопрос? У них и спросите. Впрочем, пишут и на C#, распространённые 3D engine из него доступны.

    Сам использовал для графики (крывых, шкал, схем) _только_ Direct3D, так красивее, а не потому что нужна была трёхмерность, подвижность и освещение.

    Использовать довольно просто, но C++ описан лучше, конечно. Однако C++ знаю, заимствовать из примеров и описаний для него довольно просто.
    Крайний раз редактировалось Дм. Журко; 03.05.2008 в 20:07. Причина: Добавлено сообщение

  16. #16
    Зашедший
    Регистрация
    12.07.2004
    Адрес
    Харьков
    Возраст
    45
    Сообщений
    140

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Откуда взяли разы? Испытывали?
    Да, испытывал. И не только я - ссылку приводил выше. Сомневаетесь в результатах? Опровергните.

    Пытаетесь спорить с тем, кто испытывал? Скорость C# иногда выше кодогенератора Visual C++ и никогда не бывала хуже в разы.
    Приведите код, посмотрим. Я привел ссылку, там код и числа. Вы не привели ничего.
    Впрочем, если рассматривать "сфероконя в вакууме" - голый цикл с суммированием чисел - производительность дествительно сравнимая, у C# чуть-чуть выше, это я тоже проверял. Только как обычно бывает, в реальном приложении картина совсем другая. Чуть ниже тестовый код и результаты.

    Вы предлагаете.
    Я предлагаю писать на том, что более эффективно.

    C++ безнадёжно устарел, новый код на нём писать -- ошибка управления проектом.
    Дмитрий, а Вы сами-то хоть одним проектом управляли, сложнее драйвера для портов?

    То есть Вы это всё написали?
    Не все, только номер 2 - движок для онлайн-казино, в составе команды из 3х человек. Название компании-заказчика привести не могу, по вполне понятной причине.
    Писали на C++, поскольку заказчик предъявил определенные требования к производительности. На C# выполнить эти требования было бы невозможно.
    И мне пофиг, сколько лет C# - если бы задачу можно было выполнить на нем, я бы так и сделал. Но это не всегда возможно.

    Сами идите и найдите свои «4 раза». Найдёте -- приведите
    Уже нашел. Облегчу Вам задачу и приведу ссылку еще раз: http://www.kbcafe.com/articles/CSharp.Performance.pdf
    Впрочем, там не везде в 4 раза, целочисленные вычисления - только в 2.
    Приведу еще и свой тест:
    Код:
    //////////////////////////////////////////////
    // C++
    //////////////////////////////////////////////
    
    class Storage
    {
    public:
    	Storage( void ): _val(0) {}
    	Storage( const double val ): _val(val) {}
    
    	double get_val( void ) const
    	{
    		return _val;
    	}
    	void set_val( const double val )
    	{
    		_val = val;
    	}
    private:
    	double _val;
    };
    
    class Calculator
    {
    public:
    	Calculator( void ) {}
    
    	void calc( Storage & s, const Storage &a, const Storage &b )
    	{
    		s.set_val( a.get_val() + b.get_val() );
    	}
    };
    
    class Runner
    {
    public:
    	Runner( void ) {}
    
    	Storage run( Storage &a, Storage &b )
    	{
    		unsigned int i;
    		Calculator calc;
    
    		for (i = 0; i < 1000000000; i++)
    		{
    			calc.calc(a, a, b);
    		}
    		return a;
    	}
    };
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	Runner r;
    	Storage a(0.1);
    	Storage b(0.2);
    
    	unsigned int ticks = GetTickCount();
    	printf("C++ test...\n");
    	a = r.run(a, b);
    	ticks = GetTickCount() - ticks;
    	printf("%lf, %d\n", a.get_val(), ticks);
    
    	return 0;
    }
    
    
    //////////////////////////////////////////////
    // C#
    //////////////////////////////////////////////
    
    namespace csharp_test
    {
        class Storage
        {
            private double _val;
    
            public Storage() 
            {
                _val = 0;
            }
            public Storage(double val)
            {
                set_val(val);
            }
            public void set_val(double val)
            {
                _val = val;
            }
            public double get_val()
            {
                return _val;
            }
        }
    
        class Calculator
        {
            public Calculator() {}
    
            public void calc(Storage s, Storage a, Storage b)
            {
                s.set_val(a.get_val() + b.get_val());
            }
        }
    
        class Runner
        {
            public Runner() {}
    
            public Storage Run(Storage a, Storage b) 
            {
                Calculator calc = new Calculator();
    
                for (int i = 0; i < 1000000000; i++)
                {
                    calc.calc(a, a, b);
                }
                return a;
            }
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                Storage a = new Storage(0.1);
                Storage b = new Storage(0.2);
                Runner r = new Runner();
    
                long  ticks = DateTime.Now.Ticks;
                Console.WriteLine("C# test...\n");
                a = r.Run(a, b);
                ticks = ( DateTime.Now.Ticks - ticks ) / 10000;
                Console.WriteLine("{0}, {1}", a.get_val(), ticks);
            }
        }
    }
    И результат:
    C++ - 2781 тиков
    C# - 11906 тиков
    Более чем в 4 раза.
    Скрин с результатом на всякий случай приаттачил.
    Хотя я не спец по шарпу, возможно что-то упустил.

    Да, и небольшое замечание по поводу кода. Можно было бы обойтись структурами (для Storage например), но поскольку мы обсуждаем большие и сложные программы, нас интересует работа с классами в первую очередь.

    и можете продолжить писать глупости.
    Хамство Вам не к лицу.

    Мне вопрос? У них и спросите. Впрочем, пишут и на C#, распространённые 3D engine из него доступны.
    Найдите хоть один _технологичный_ и _производительный_ 3D движок _полностью_ на C#. Сравнимый с другими хорошими движками, такими как Unreal Engine или движок Crysis.

    Сам использовал для графики (крывых, шкал, схем) _только_ Direct3D, так красивее, а не потому что нужна была трёхмерность, подвижность и освещение.
    При чем тут шкалы и схемы? Вас про игры спрашивают, причем про _современные_ _технологичные_ игры.

    P.S. вот еще ссылки:
    http://www.rsdn.ru/forum/message/543729.flat.aspx
    http://www.garret.ru/~knizhnik/dybas...tml#comparison
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	test.JPG 
Просмотров:	121 
Размер:	110.2 Кб 
ID:	85161  
    Крайний раз редактировалось Yurec; 04.05.2008 в 00:35.

  17. #17
    Пилот Аватар для Дм. Журко
    Регистрация
    20.12.2007
    Адрес
    Калининград (Кёнигсберг)
    Возраст
    59
    Сообщений
    772

    Re: Про вычислительную технику

    Цитата Сообщение от Yurec Посмотреть сообщение
    Да, испытывал. И не только я - ссылку приводил выше. Сомневаетесь в результатах? Опровергните.
    Чего их опровергать? Ну обнаружили, что три параметра в примере передаются вчетверо медленнее, и что? Так, по-вашему, замеряют быстродействие? Да, C++ неплохо передаёт небольшое число параметров в функцию, может даже в регистры пару засунуть, проверок не делает. И что?

    Приведите код, посмотрим. Я привел ссылку, там код и числа. Вы не привели ничего.
    Наплевать мне на ссылки, как Вы не можете с одного раза-то понять? Для меня важнее, что мой коллега перевёл свой довольно большой проект с Delphi на C# и получил очевидный даже на глаз выигрыш скорости перерисовок, хотя не скорость его занимала. Главное, что перенос дался легко и выявил ряд недоразумений.

    Впрочем, если рассматривать "сфероконя в вакууме" - голый цикл с суммированием чисел - производительность дествительно сравнимая, у C# чуть-чуть выше, это я тоже проверял. Только как обычно бывает, в реальном приложении картина совсем другая. Чуть ниже тестовый код и результаты.
    C# обгоняет C++ на сложных вещественных вычислениях. Замерять сложение? А зачем? Обгоняет и при работе с кучей.

    Я предлагаю писать на том, что более эффективно.
    Именно, что более эффективно для производительности программирования. Заодно, кстати, это даст время и средства на доводку производительности алгоритмов.

    Дмитрий, а Вы сами-то хоть одним проектом управляли, сложнее драйвера для портов?
    Да управлял. Причём на C++.

    Не все, только номер 2 - движок для онлайн-казино, в составе команды из 3х человек. Название компании-заказчика привести не могу, по вполне понятной причине.
    Писали на C++, поскольку заказчик предъявил определенные требования к производительности. На C# выполнить эти требования было бы невозможно.
    И мне пофиг, сколько лет C# - если бы задачу можно было выполнить на нем, я бы так и сделал. Но это не всегда возможно.
    То есть, не испытали C#. А методология сравнения Ваша хромает на все ноги.

    Уже нашел. Облегчу Вам задачу и приведу ссылку еще раз: http://www.kbcafe.com/articles/CSharp.Performance.pdf
    Впрочем, там не везде в 4 раза, целочисленные вычисления - только в 2.
    Приведу еще и свой тест:
    И результат:
    C++ - 2781 тиков
    C# - 11906 тиков
    Более чем в 4 раза.
    Скрин с результатом на всякий случай приаттачил.
    Хотя я не спец по шарпу, возможно что-то упустил.
    Код этот можно сократить раз в 10, если не 100. Но это не программа, а невесть что. Наверняка для C++ использовали оптимизации, а на C# и не думали (что правильно, это последнее дело). Возьмите примеры из Visual Studio на C++ и C# и сравните производительность, я сравнивал.

    Да, и небольшое замечание по поводу кода. Можно было бы обойтись структурами (для Storage например), но поскольку мы обсуждаем большие и сложные программы, нас интересует работа с классами в первую очередь.
    Нет тут классов, есть какие-то ошмётки. Настоящие объекты намного больше, а значит и регистровая оптимизация не очевидно полезна. Собственно, это одна из методологических посылок приведшая к абстрактному стековому байткоду -- широкое использование сложных объектов приводит к тому, что регистровая оптимизация не необходима. На RISC-процессорах, кстати, сверхоперативный стек чаще всего есть, но не на x86, там только сопроцессор имеет новую архитектуру.

    Хамство Вам не к лицу.
    Хорошо, что Вы это понимаете. Вот и перестаньте хамить.

    Найдите хоть один _технологичный_ и _производительный_ 3D движок _полностью_ на C#. Сравнимый с другими хорошими движками, такими как Unreal Engine или движок Crysis.
    Не знаю таких. Мне это было надо? Пользовался Direct 3D 9 и не беспокоился, я трёхмерные стрелялки, к счастью, не пишу.

    При чем тут шкалы и схемы? Вас про игры спрашивают, причем про _современные_ _технологичные_ игры.
    Притом, что я их использую, это мой опыт.

    Наберите в google «Производительность C#» и наслаждайтесь, если вопрос волнует. Только у Вас, замечу, вопросов нет, остальные приходят к сложным выводам. Сразитесь там на форумах с «идиотами», которые своё время оценивают выше компьютерного.

  18. #18
    Зашедший
    Регистрация
    12.07.2004
    Адрес
    Харьков
    Возраст
    45
    Сообщений
    140

    Re: Про вычислительную технику

    Цитата Сообщение от Дм. Журко Посмотреть сообщение
    Чего их опровергать? Ну обнаружили, что три параметра в примере передаются вчетверо медленнее, и что?
    То, что в реальной программе таких функций с такими параметрами будет очень много.

    Так, по-вашему, замеряют быстродействие?
    Замеряют по-разному. Замеры различных алгоритмов, начиная от работы со строками и заканчивая обработкой XML и выборкой из баз данных, можно найти в гугле, ссылки я привел. Почти все замеры показывают худшую производительность, от 2х до 4х раз. А замеров передачи параметров я не видел, поэтому написал свой тест.

    Да, C++ неплохо передаёт небольшое число параметров в функцию, может даже в регистры пару засунуть, проверок не делает. И что?
    То, что программы на C# работают медленнее. Сколько раз повторить, что Вам дошло?

    Наплевать мне на ссылки, как Вы не можете с одного раза-то понять?
    Хорошо, тогда я Вам без ссылок скажу: программа на C# будет работать в среднем в 2-4 раза медленнее программы на C++. Спасибо, свободны.

    Для меня важнее, что мой коллега перевёл свой довольно большой проект с Delphi на C# и получил очевидный даже на глаз выигрыш скорости перерисовок, хотя не скорость его занимала. Главное, что перенос дался легко и выявил ряд недоразумений.
    И по этому единичному случаю Вы судите о быстродействии языка? Смешно. Тем более Дельфи - далеко не эталон, ага.

    C# обгоняет C++ на сложных вещественных вычислениях.
    Это не имеет никакого значения, поскольку в общем скорость упадет в 2-4 раза. Я Вам про сфероконя уже раза 4 писал, Вы так и не поняли.

    Именно, что более эффективно для производительности программирования. Заодно, кстати, это даст время и средства на доводку производительности алгоритмов.
    Вы русский язык понимаете? Если стоят определенные требования по быстродействию, никакая производительность программирования Вам не поможет, проект будет провален.

    То есть, не испытали C#.
    С чего Вы это взяли? Испытали, разумеется. Решение о выборе языка принимали не от фонаря.

    Код этот можно сократить раз в 10, если не 100.
    Вы что, правда не понимаете зачем там именно такой код? Поясняю на пальцах: в реальной программе нужна инкапсуляция процесса выполнения, процесса вычислений и данных.

    Но это не программа, а невесть что.
    Нет. Невесть что - это то что Вы здесь пишете.

    Наверняка для C++ использовали оптимизации, а на C# и не думали
    Оптимизацию использовал и в C#. Не надо меня обвинять в подтасовках. Неужели получше аргументов не нашлось?

    Возьмите примеры из Visual Studio на C++ и C# и сравните производительность, я сравнивал.
    Какие именно примеры брали?

    Не знаю таких. Мне это было надо? Пользовался Direct 3D 9 и не беспокоился, я трёхмерные стрелялки, к счастью, не пишу.
    Не пишете, но заявляете, что на C# можно написать. Так вот, я Вам говорю - нельзя, тормозить будет неимоверно. На этот раз без ссылок, раз на ссылки Вам плевать.

    Притом, что я их использую, это мой опыт.
    Но вопрос Вам задали не про это.

    Наберите в google «Производительность C#» и наслаждайтесь, если вопрос волнует.
    А Вы думаете, откуда я взял вышеприведенные ссылки? Именно из гугла, именно по таком запросу, только на английском языке.

    =============

    EDIT: после прочтения вот этого все вопросы отпали. В игнор.
    Крайний раз редактировалось Yurec; 04.05.2008 в 20:22.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •