Про языки программирования

Тема в разделе "WASM.HEAP", создана пользователем EvilsInterrupt, 23 окт 2008.

  1. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Борланд генерит не идеальный, но вполне приличный код - как по размеру так и по скорости.
    Неоптимальный он только с точки зрения снобствующих кулхацкеров.
     
  2. PaCHER

    PaCHER New Member

    Публикаций:
    0
    Регистрация:
    25 мар 2006
    Сообщения:
    852
    Partner
    Это чисто твое умозаключение? Или есть действительно обоснованные доказательства?

    Имхо ты невидел код который генерит делфи, или если видел то понятия не имел что такое оптимизация и что за код был сгенерирован.
    Делфи генерирует хреновый код, но сама платформа делфи не разрабатывалась для суперскоростных распределенных вычислений, код который нужно оптимизировать можно вынести в другие модули которые написать на любом требующем скорости и оптимизации языке.

    Каждый язык разработан для своей сферы применения и определенных задач, к чему собственно всегда приходят на 50 странице обсуждения.
    Давайте быстрее уже набивайте посты, осталось всего 49 страниц и истина будет достигнута.
    А то если забыли есть еще тормозная НЕТ платформа, ЯВУ можно вспомнить ну и визуалбейсик с P-кодом, потом можна выложить в теме пару крякмисов на вышеперечисленных языках.
     
  3. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Я не фанатик-дельфист. Одинаково хорошо знаю как дельфи так и С/С++ Просто стараюсь быть объективным.
    И как выглядит код изнутри тоже имею достаточно хорошее представление.
    По поводу .NET - все почему-то забывают, что в результате байт-код компилируется в native. А JIT компилятор от майкрософта вполне на уровне.
    Так-что про тормоза я бы не говорил.
     
  4. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    PaCHER
    встретил вчера в выневой осевой длле (user32 ?) такую функу:

    push ebp
    mov ebp,esp
    pop ebp
    ret

    пи-код не такая плохая штука и к оптимальности отношения не имеет. Более того, позволяет прооптимизировать всю прогу целиком (оптимайзер в линкере).

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

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Booster
    Извините, но здесь Вы сказали глупость, и сразу по трём причинам. Во-первых, скорость компиляции и качество кода связаны между собой весьма и весьма неявной зависимостью, и вовсе не всегда более быстрый компилятор генерит менее качественный код и наоборот. Во-вторых, куда больше скорость компиляции зависит от языка, на котором написана компилируемая программа. Здесь Паскаль обходит Си вчистую: и препроцессорная обработка не требуется, и синтаксис более простой. Ну а в-третьих, при разработке проекта скорость компиляции зачастую важнее скорости исполнения кода. Возьмите, например, бухгалтерскую систему. Основное время её работы занимает ожидание действий пользователя или выполнение иных операций ввода-вывода (ввод всяких документов человеком, печать отчётов и т.д.). Все эти операции выполняются с точки зрения процессора чрезвычайно медленно, и он попросту простаивает. Поэтому не играет абсолютно никакой роли, насколько оптимален соответствующий код. А вот скорость разработки бухгалтерской программы важна и по срокам разработки (чем меньше времени уходит на компиляцию, тем больше его на собственно программирование и отладку), и по стоимости разработки (чем быстрее программа будет сделана, тем меньше придётся заплатить программистам -- оплата-то повременная обычно). Так что издёвка Ваша совершенно неуместна.
     
  6. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Просто заглушка. Такое встречается.
     
  7. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Интересно, сколько из тех, кто говорит что дельфовый код отстой, лично видели этот код? Подозреваю, что лишь некоторые.
    А если и видели, то способны оценить качество? Таких еще меньше.

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

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    ну я видел. примеров накидать?

    например ченить такое:
    Код (Text):
    1. ___:300316A4     _Engine_get_VA  proc near               ; CODE XREF: _Engine_jmp_VAp
    2. ___:300316A4                                             ; _Engine_jmp_VA_edx+1p ...
    3. ___:300316A4 000                 add     eax, hEngine_dll ; Add
    4. ___:300316AA 000                 retn                    ; Return Near from Procedure
    5. ___:300316AA     _Engine_get_VA  endp
     
  9. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    А откуда ты знаешь, что это дельфовский код? Какой версии ? Оптимизация включена ?
    В дельфи фунции имеют стандартный пролог/эпилог. А здесь непонятно что.
    И вообще - пару байт кода на пример не тянет.

    Кроме того, в дельфи можно делать асмовые вставки. Я такого могу понаписать, но дельфи тут причем ?
    Если меряться, то брать кусок сорса и компилить конкретными компиляторами, а потом сравнивать.
     
  10. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Partner
    кто спорит что встречается. Только функа не имеет выхода на экспорт и код внутре уж сильно похож на компиль без оптимайза.
     
  11. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Partner
    Дельфозный компилятор, например, не умеет заменять деление на константу серией других операций (умножение, сдвиг, сложение-вычитание), которые будут выполняться быстрее. Вижуал Си++ умеет, ГНУсный си вроде тоже, интеловский -- умеет.

    Кстати, обругивать дельфозный компилятор за качество компиляции ещё не значит обругивать Дельфи. Я, например, утверждаю, что как компилятор Дельфи для сегодняшнего дня плох, как язык -- очень даже ничего (в целом куда лучше, чем Си/Си++, хотя возможностей формально меньше), ну а как среда разработки -- и подавно. И сам на нём постоянно пишу. Так что с моей стороны никакого холивара :)
     
  12. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    SII
    да нечего здесь делить
    я это писал, но кто-то пост грохнул
    есть куча возможностей совместной работы с сятиной и асмом
    можно вашу делфянку использовать через механизм длл, вы можете
    также активикс аля ком делать для совместного использования
    а всё остальное мелочи
    нормальное совместное взаимодействие получается
    если Вы супердельфин так и пишите на нём, но здесь он вне закона просто
    пишите на чём хотите - проста аккила запретил здесь дельфянские дела
     
  13. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    [​IMG] обожаю васмовые холивары .D
     
  14. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    SII
    как язык -- очень даже ничего (в целом куда лучше, чем Си/Си++, хотя возможностей формально меньше)
    Какой язык, Object Pascal? Формально ли меньше (если учесть "приставку" объектный)?
     
  15. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    SII
    Я пошутил, но в этой шутке есть доля правды. Мне не нравится какой борланд генерит код, например вот это - http://www.delphikingdom.com/asp/talktopic.asp?ID=195&Order=0&Count=10&pNo=35. И Билдер, что с оптимизацией, что без, генерит именно такой код. А в BC 5 вообще в теле цикла было присваивание констант. Я помню когда один проект раннее собранный на BC 5, собрал в студии и он стал работать примерно в 2 раза быстрее. Может для бизнес приложений это и не важно, ведь промедление в бизнесе - смерть, но теперь я к борланду не вернусь. Бизнес приложения я лучше буду писать на C#. А дельфи просто не моё. Сейчас я делаю мультимедиа приложения, а тут борланд курит в сторонке.
     
  16. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    Те весь файл кинуть?) Само существование такой функции уже говорит об отсутствии оптимизации.
    Ну скомпили, докажи что делфи компилит не хуже Си.
     
  17. SWR

    SWR New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    226
    Адрес:
    Russia
    Заглушки появляются если код раздельно компилится а потом общая линковка.
    Тогда компиль не делает инлайн (незнает где понадобиться)
     
  18. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    wsd
    Ну, во-первых, в этой теме обсуждение языков вообще, а не конкретных задач. А во-вторых, мне всё ж кажется, что под запретом не Дельфи вообще, а вопросы типа "а как заставить компонент такой-то делать то-то". Или сдесь потрут тему о, например, реализации драйвера или там упаковщика на Дельфи?

    q_q
    Именно меньше. Сходу могу назвать две таких возможности. 1) В Дельфи нет "полноценного" множественного наследования. Правда, то, что его убрали из C# (во всяком случае, я про это слышал, но поскольку сам на обшарпанном си не пишу, то голову на отсечение не дам), говорит о том, что сей механизм не очень-то нужен. 2) В Дельфи нет шаблонов (вот их мне иногда не хватает; обойтись, есно, можно и без них, но возникает лишний геморрой). К чисто формальным придиркам можно отнести отсутствие полноценного препроцессора, но это я считаю как раз благом, а не недостатком. Условная трансляция есть, и этого достаточно; макросы на ЯВУ -- зло. ИМХО, есно :)

    Booster
    Насчёт "курит" не уверен, но спорить не готов: не занимался этим, поэтому компетентно судить не могу. Ну а обшарпанный Си, по отзывам знакомых, для бизнес-приложений подходит действительно лучше Си/Си++.
     
  19. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    SWR
    Если это к моей цитате, то не совсем понимаю как соотносятся. Компиль у МС 100% родной, как он оптимизирует ехтерновые пустые функи - знаю. Налицо полностью отключеный оптимизатор.
     
  20. varnie

    varnie New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2005
    Сообщения:
    1.785
    SII
    вы сами поняли что написали? :)