На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (6) [1] 2 3 ...  5 6 все  ( Перейти к последнему сообщению )  
> Программы на транслируемых языках , Зачем???
    В последнее время стал все чаще задавать себе вопрос, зачем пишутся программы на транслируемых языках, если речь идет не о web-программах. В частности на жабе и питоне. Приведу пример из собственной практики. Сейчас я активно пользуюсь bittorrent-раздачами, решил подыскать хороший клиент. выделил для себя 3 основных:
    Azureus (Java) - медленный и кушает память будь здоров (до 100 метров на 2-3 закачках - вместе с виртуальной машиной, естественно)
    G3 Torrent (Python) - более быстрый, меньше ест память, но процессор использует по черному - до 50-70% загрузки в спокойном состоянии, в свернутом - нормально, но все равно больше, чем на компилируемых языках, хотя меньше жабы.
    BitComet (VC++) - самый быстрый и наименее ресурсоемкий из всех перечисленных.

    Ну не понимаю я, зачем программы, для которых низкие требования к ресурсам - одно из главных условий? Почему бы не писать на C++, Delphi или других _компилируемых_ языках? Программа ведь будет работать от этого только быстрее.
      Я так думаю, проги на транслируемых языках портировать легче. :whistle:
        Абисняю.

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

        Кстати, кто первый скажет, что лисп некомпилируем -- камнем брошу.
          Цитата Antikiller @
          Я так думаю, проги на транслируемых языках портировать легче. :whistle:

          По моему портировать большинство программ (во всяком случае C++/Delphi) не составит труда. Это не отмазка.
          Цитата Ho Im @
          Нынче процы быстры, а память дешева, не то что когда-то, и теперь есть возможность, наконец, решать задачу так, как удобно и эффективно для программиста, а не для машины.

          Так то оно так, но 100 метров памяти это уже слишком для _фонового_ процесса, коим чаще всего является битторрен-закачка ввиду низких скоростей. А также высокая загрузка процессора. Для BitComet загрузка процессора более 10% - редкость, разве что во время создания или проверки хеша.
          Цитата Ho Im @
          В результате цикл разработки сокращается, потому что задачу можно описать в терминах, естественных именно для такого рода задач, а не втискивать описание в прокрустово ложе средств, предоставляемых языком.

          Хочешь сказать что транслируемые языки имеют бОльшие преимущества в скорости разработки, чем компилируемые (особенно если применять RAD-средствавроде Delphi :yes: )?
          Цитата Ho Im @
          Вот авторы этим и пользуются.

          Я бы таких авторов... камнями забросал. Они делают из мощных современных компов тормозное старье.
            Связь между производительностью проги и способом ее запуска (бинарик или интерпретация) косвенная. Гораздо больше зависит от ККР (коэффициента кривизны рук) программера. Хотя есть и клинические случаи типа Visual Basic, который для серьезных вычислительных задач непригоден. Впрочем, он для этого и не предназначался.
            Сообщение отредактировано: Relan -
              Программы на интерпретируемых (пофиг, из сырца или из байт-кода) языках (а не транслируемых, ибо все они транслируемые, вот в соседнем топике попался один деятель, не считавший HTML SGML'ем) в портировании, как правило, не нуждаются вообще, в отличие программ на сях и дельфях. В портировании нуждается только виртуальная машина. В силу сказанного тобой, грамотно написанная ВМ портируется без особого труда.

              А теперь прикинь: портирование кучи нативного кода -- это "не составляет труда"*(размер вороха означенного кода). И портирование ВМ и ... ничегонеделанье с ворохом и без того кроссплатформенного кода.

              Ну еще, в интерпретируемых языках есть никак преимущество в виде возможности метапрограммирования, коей роскоши ни Си, ни Дельфя, позволить себе если и могут, то через большую, но тесную /dev/ass.
                Цитата

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

                не знаю, как насчёт Дельфи, но насчёт Си (а именно - С++) ты, похоже, заблуждаешься.
                Или же мы имеем в виду РАЗНОЕ метапрограммирование.
                  Имею в виду дописывание кусков кода и их исполнение "на лету" самой программой. Но... не машкодом, а вполне высокоуровневое дописывание.

                  Добавлено
                  C++ позволяет, конечно, посредством тех же шаблонов, но это только на время компиляции. А иногда рантайма хочется.
                    Цитата Ho Im @
                    В портировании нуждается только виртуальная машина. В силу сказанного тобой, грамотно написанная ВМ портируется без особого труда.

                    Если так пойдет и дальше, то даже самые мощные компы можно будет выбрасывать на помойку. Даже .Net выглядит намного быстрее и менее ресурсоемкой технологией, чем вышеназванные.
                    Цитата Ho Im @
                    А теперь прикинь: портирование кучи нативного кода -- это "не составляет труда"*(размер вороха означенного кода). И портирование ВМ и ... ничегонеделанье с ворохом и без того кроссплатформенного кода.

                    Да ну... всего-то подобрать нужные кроссплатформенные библиотеки/компиляторы, несколько условий в коде...

                    Я не выступаю вообще против программирования на транслируемых языках, а только против написания time- & resource-critical приложений.
                      Во-первых, действительно, портируемость.
                      Во-вторых, полезные вещи -- типа высокоуровневого программирования (higher-order), которые намного проще реализовать именно в интерпретируемых языках (пример -- рефлекшен), а также garbage collection, встроенные средства безопасности и т.д.
                      В-третьих, ускоряет разработку маленькое время компиляции (особенно в тех случаях, когда программу вообще необязательно компилировать :).
                      В-четвертых -- разница по скорости выполнения может вообще отсутствовать, если есть хороший JIT-компилятор. Есть примеры когда скорость выполнения программы на java даже быстрее чем программы, скомпилированной хорошим C++ компилятором, не говоря уже о Delphi.

                      Именно из-за большей скорости разработки у программиста на том же Питоне есть больше времени на то, чтобы оптимизировать те части программы, которые действительно влияют на скорость/количество пожираемой памяти. Таких мест всегда очень мало -- работает то самое правило 10/90 -- 10% кода занимают 90% времени выполнения.

                      Скажем, в области разработки игр, где требования к быстродействию крайне высоки есть несколько примеров больших, известных и очень успешных проектов, практически полностью разработанных на Java или Python.
                        Цитата Ivan_Govnoff @
                        ускоряет разработку маленькое время компиляции (особенно в тех случаях, когда программу вообще необязательно компилировать :).

                        На Дельфи тоже скорость компиляции больше, возможностей больше, готовых библиотек и компонентов больше. Если нет возможности/желания на сях, то можно и на Дельфи писать, и работать будет быстрее, а памяти использовать меньше.
                        Цитата Ivan_Govnoff @
                        Есть примеры когда скорость выполнения программы на java даже быстрее чем программы, скомпилированной хорошим C++ компилятором, не говоря уже о Delphi.

                        Примеры в студию!
                        Цитата Ivan_Govnoff @
                        Скажем, в области разработки игр, где требования к быстродействию крайне высоки есть несколько примеров больших, известных и очень успешных проектов, практически полностью разработанных на Java или Python.

                        Аналогично! Желательно показать что-то подобное WarCraft || CS.
                          Цитата s-mike @
                          На Дельфи тоже скорость компиляции больше, возможностей больше, готовых библиотек и компонентов больше. Если нет возможности/желания на сях, то можно и на Дельфи писать, и работать будет быстрее, а памяти использовать меньше.

                          Ну мы ща будем скатываться к флейму C++ vs Delphi, это неинтересно... Кроме большей скорости компиляции на дельфи, остальные утверждения, мягко говоря, спорные. К тому же во многих случаях в интерпретируемых языках можно вообще ничего не компилировать -- это большое преимущество, как я уже сказал.

                          Цитата s-mike @
                          Цитата Ivan_Govnoff @
                          Есть примеры когда скорость выполнения программы на java даже быстрее чем программы, скомпилированной хорошим C++ компилятором, не говоря уже о Delphi.

                          Примеры в студию!

                          http://kano.net/javabench/

                          Цитата Ivan_Govnoff @
                          Скажем, в области разработки игр, где требования к быстродействию крайне высоки есть несколько примеров больших, известных и очень успешных проектов, практически полностью разработанных на Java или Python.
                          Цитата s-mike @
                          Аналогично! Желательно показать что-то подобное WarCraft || CS.

                          "Ил-2", "Vampires: The Masquerade. The Redemption" -- написаны почти полностью на яве; "Blade Of Darkness" -- на Питоне. Есть даже игры, написанные на лиспе -- например "Jak & Daxter", которая видимо тоже была весьма успешной.
                            Интересно, можно ли отнести к транслируемым языкам 1С? Внутри она на С++ написана, а все эти вызовы - всего лишь дёрганье за оле-дб. Или Win Scripting - можно ли? Портируемости нет, ну и что. Это не показатель.
                              Цитата Ivan_Govnoff @
                              Ил-2

                              Этот тот что от 1С? Примитивненькая графика 640х480 и нет AI? Теперь понятно почему.
                                Цитата s-mike @
                                Примитивненькая графика 640х480 и нет AI? Теперь понятно почему.

                                Да, наверное именно благодаря "примитивненькой графике" и "отсутствию АИ" ИЛ-2 вошел в десятку лучших симуляторов всех времен и народов по мнению крупнейшего игрового сайта ign.com :lol: :lol: :lol:
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (6) [1] 2 3 ...  5 6 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0958 ]   [ 15 queries used ]   [ Generated: 26.04.24, 02:58 GMT ]