The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Сравнение 72 реализаций языков программирования

01.06.2009 13:11

Guillaume Marceau опубликовал наглядный обзор параметров 72 реализаций языков программирования, использовав для этого 19 специальных тестов, подготовленных проектом "The Computer Language Benchmarks Game", в рамках которого производится ежедневный анализ изменения параметров 1368 приложений из состава Debian, после их пересборки или выполнения различными версиями компиляторов и интерпретаторов. Оцениваются такие параметры, как скорость выполнения, потребление памяти и размер исходного кода, необходимый для реализации определенных функций.

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

  1. Главная ссылка к новости (http://gmarceau.qc.ca/blog/200...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/21974-lang
Ключевые слова: lang, compare, benchmark
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, anon (?), 13:49, 01/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Идеальный язык - stalin :D
     
     
  • 2.61, andr.mobi (??), 14:42, 29/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > быстрым, но усложненным системным языкам, при этом в нижний правый угол будет привязан к элегантным, но медленным, скриптовым языкам.

    К таким высказываниям лучше прикладывать "ИМХО". Не вижу ничего элегантного в "медленных скриптовых" языках, только очень загадочный местами код и очень много возможностей лепить трудноуловимые баги. Усложнённость же "быстрых системных" языков (видимо имеется в виду C++) включает в себя всего несколько свежих концепций, в основном взятых из других языков (см. "Дизайн и эволюция C++"), которые совсем не сложно освоить, достаточно прочитать 2-3 толковые книжки.

    Страунструп - голова. Кроме него к С++ приложили свои мозги такие монстры, как Керниган, Дуг Маккилрой и прочие легендарные личности, все работали одной командой. Если мы чего-то там не понимаем, нужно помнить, что мы мало читали в детстве, и не те книжки скорее всего, что надо стремиться к знаниям, а не искать ленивого успокоения в мутной тухлой заводи "элегантных" медленных скриптовых языков.

     

  • 1.2, Аноним (-), 14:06, 01/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Мне больше gnat понравился.
     
     
  • 2.5, ixrws (ok), 14:19, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Мне больше gnat понравился.

    Концепция, и работа ады прекрасная, мне после С++ очень понравилось, да и компонетное программированое реализуется классно. Вот только одно но, паскально-модульный синтаксис это нечто, не могу его не то что бы осилить, но когда пишеш на С постоянно, даже на лиспе и хаскеле легче писать, нежели на паскально-модульном. А в целом и реализация у гната хорошая, и язык мощьный и количество биндингов тоже неплохо для старта.
    А то что можно и ссылки и указатели и gc и прямое высвобождение смешивать - это заставило проникнуться:)

     
     
  • 3.6, pavlinux (ok), 14:23, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>Мне больше gnat понравился.
    >
    >Концепция, и работа ады прекрасная, мне после С++ очень понравилось, да и
    >компонетное программированое реализуется классно. Вот только одно но, паскально-модульный синтаксис это нечто,

    Чем же в институте занимался??? Там именно Паскаль преподают.

     
     
  • 4.7, gluk47 (?), 14:30, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    В МГУ, например, на кое-каком факультете, про модули на паскале не заикаются. Всё хоть сколько-нибудь серьёзное предлагается писать на си, си++ и потом на чём угодно
     
     
  • 5.38, ДяДя (?), 20:48, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно. Своих то языков в МГУ, поди, нет ? ;-)
    Поэтому Pascal не полюбили.
     
     
  • 6.41, pavlinux (ok), 22:49, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Конечно. Своих то языков в МГУ, поди, нет ? ;-)

    Как же ж... КуМИР :)


    А Паскаль рекомендован UNESCO, с целью сохранения мозга детей (даже не Бейсик).

     
  • 4.35, 2Nike (ok), 19:32, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    В институтах обучают ТЕХНИКЕ программирования. Поэтому и начинают с Паскаля по одной простой причине, синтаксис у него понятен для новичков. После выпуска Вы можете программировать хоть на брэйн факе, все необходимые навыки у Вас уже будут.
     
     
  • 5.53, szh (ok), 10:41, 03/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Синтаксис С чуть-чуть сложнее чем у Паскаля. Начинать с ненужного паскаля чтобы было проще - держать студентов за идиотов. Но если они действительно идиоты, то программистами всё равно не станут , и можно начинать с С.
     
  • 4.51, Filosof (?), 19:28, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Незнаю как у вас в институтах, а у нас в Универах... -:)
    ну нас редложили С или Паскаль. Мы выбрали С. Знаете, нисколько не жалею...
     
     
  • 5.52, Аноним (-), 03:38, 03/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Незнаю как у вас в институтах, а у нас в Универах... -:)
    >
    >ну нас редложили С или Паскаль. Мы выбрали С. Знаете, нисколько не жалею...

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

     
     
  • 6.54, szh (ok), 10:43, 03/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    у языка С есть суровые преймущества в некоторых применениях. Знание С может оказаться полезным.

     
  • 6.56, XoRe (ok), 11:42, 04/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >>
    >>ну нас редложили С или Паскаль. Мы выбрали С. Знаете, нисколько не жалею...
    >
    >если подразумевалось, что профессионал обязан уметь абстрагироваться от конкретных реализаций и решать
    >задачи, то я с вами согласен.
    >но если вы убеждены в преимуществе языка с архаичной структурой, то мне
    >вас жаль.
    >кроме того, вы не уточнили поколения, диалекты. паскаль значительно прогрессировал (да и
    >паскаля в классическом представлении уже давно нет), си тоже не стоял
    >на месте.

    Имхо, С, как первый язык для изучения, лучше позволяет абстрагироваться.
    Гораздо меньше ограничений в том, как писать код - в одну строку, или в несколько; как использовать операторы и т.д. - создается гораздо меньше стереотипов.
    А стереотипы - это зло для программирования и вообще для творчества.

     
     
  • 7.57, Cobold (??), 12:39, 04/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Знаете, лучший язык для изучения в качестве первого это форт, как раз согласно Вашим аргументам. Свобода там полная, уровень абстракции любой - хоть AI для микроконтроллера пиши, и скорость исполнения не хилая. А ещё форт это отличный способ почувствовать как свобода может мешать на серьёзных проектах и почему другие языки её ограничивают. Главное не заиграться слишком долго :)
     
     
  • 8.58, XoRe (ok), 10:45, 05/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Ну я все-же ещё бы оглядывался на мейнстрим Язык С дает ровно столько абстра... текст свёрнут, показать
     

  • 1.8, afiskon (?), 14:33, 01/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Если я правильно понял, как это интерпретировать, Ruby и Python ни на что не годятся. Так и знал.
     
     
  • 2.12, XoRe (ok), 14:47, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Если я правильно понял, как это интерпретировать, Ruby и Python ни на
    >что не годятся. Так и знал.

    Угу. Продолжайте писать на brainfuck'е =)

     
  • 2.13, F (?), 14:56, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Годятся в случае, когда задача не тяжелая и производительность не критична, как и другие скриптовые языки.
     
     
  • 3.16, Abu (?), 15:07, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А правильно ли будет некую логику, например, в игре типа Heroes Might and Magic, писать на скриптовых языках, а оставшуюся критичную часть (вывод графики) - С/C++ ? И - какое соотношение будет критичных частей кода к некритичным в такой игре?

    Мне просто иногда кажется, что важность С/С++ в том же игрописании слегка преувеличена.

     
     
  • 4.17, Аноним (-), 15:21, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Афайк, в игрописании не больно-то и практикуют сплошные си.
    Движек да, С/С++, а игровая логика на каком-нить lua.
     
     
  • 5.23, vitek (??), 16:00, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Афайк, в игрописании не больно-то и практикуют сплошные си.
    >Движек да, С/С++, а игровая логика на каком-нить lua.

    но движок то на С/С++. :-D

     
  • 4.33, XoRe (ok), 19:23, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А правильно ли будет некую логику, например, в игре типа Heroes Might
    >and Magic, писать на скриптовых языках, а оставшуюся критичную часть (вывод
    >графики) - С/C++ ? И - какое соотношение будет критичных частей
    >кода к некритичным в такой игре?
    >
    >Мне просто иногда кажется, что важность С/С++ в том же игрописании слегка
    >преувеличена.

    На C/C++ пишется движок.
    А AI (искуственный интеллект), GUI (интерфейс) и прочие вещи можно писать на чем угодно.
    На lua, python, perl.
    Да хоть на php )

    Фишка в том, что компании часто покупают готовый графический движок.
    А все AI/GUI и прочая пишут свои, на чем им нравится.
    Причем компания может оставить эти скрипты в виде простых файлов (не шифровать).
    И тогда энтузиасты пишут всякие моды.

     
  • 4.36, 2Nike (ok), 19:35, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А правильно ли будет некую логику, например, в игре типа Heroes Might
    >and Magic, писать на скриптовых языках, а оставшуюся критичную часть (вывод
    >графики) - С/C++ ? И - какое соотношение будет критичных частей
    >кода к некритичным в такой игре?
    >
    >Мне просто иногда кажется, что важность С/С++ в том же игрописании слегка
    >преувеличена.

    Игровым программистам платят меньше, поэтому и идут туда те, кто кроме C++ ничего не знает(Дай бог, чтобы это на нормальном уровне знал).

     
     
  • 5.39, MiG (?), 22:15, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Игровым программистам платят меньше, поэтому и идут туда те, кто кроме C++ ничего не >знает(Дай бог, чтобы это на нормальном уровне знал).

    Ну, если человек __хорошо__ знает C++, то всё остальное ему уже не особенно и нужно. ;-)

     
     
  • 6.44, Gra2k (?), 01:35, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Типа консоль, кофе и можно денег не платить? Как с вами связаться ? есть работенка!
     
  • 2.18, Юниксоид (??), 15:26, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тролль ?
     
     
  • 3.19, afiskon (?), 15:28, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Программист Perl ;)
     
     
  • 4.34, XoRe (ok), 19:24, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Программист Perl ;)

    Программисты Perl обычно ругаются на php =)

    P.S.
    Вы ничего не подумайте, я сам пишу на Perl)

     
     
  • 5.59, d (??), 19:54, 07/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Программисты Perl обычно ругаются на php =)

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

     

  • 1.10, FreewareMatter (?), 14:40, 01/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне понравился Си, РНР.
     
  • 1.28, аноним (?), 17:40, 01/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > верхний левый угол которого будет соответствовать быстрым, но усложненным
    > нижний правый угол будет привязан к элегантным, но медленным, скриптовым языкам

    Я так понимаю, по оси X - элегантность, по оси Y - скорость.

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

    Тогда тут все должно быть ровно наоборот.

     
     
  • 2.29, аноним (?), 17:44, 01/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Прочитал. Оси - тормознутось и размер кода :)
     

  • 1.40, аноним (?), 22:42, 01/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    зашибись тесты! значит на пхп в несколько процессов идет обработка http://shootout.alioth.debian.org/u32q/benchmark.php?test=binarytrees&lang=ph а на перле в одно рыло? http://shootout.alioth.debian.org/u32q/benchmark.php?test=binarytrees&lang=pe
    чудесно передергиваем!
     
     
  • 2.60, XoRe (ok), 00:41, 10/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >зашибись тесты! значит на пхп в несколько процессов идет обработка http://shootout.alioth.debian.org/u32q/benchmark.php?test=binarytrees〈= а
    >на перле в одно рыло? http://shootout.alioth.debian.org/u32q/benchmark.php?test=binarytrees〈=
    >чудесно передергиваем!

    Кстати да, +1.
    Не осилили переписать на Perl?

     

  • 1.42, pro100master (ok), 23:41, 01/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    похоже, что авторы решили проделать огромную, но пустую и ненужную работу, чтобы убить время. Подобные операции обычно жутко оптимизируются. И зачем пихать их в скрипты, которые не то, что не в курсе про память, они вообще интерпретируются. И еще одна странность - обычный для таких штук Фортран обошли стороной. Нипонятнооо...
     
     
  • 2.46, Аноним (-), 02:46, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > обычный для таких штук Фортран обошли стороной. Нипонятнооо..

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

     
     
  • 3.47, pro100master (ok), 09:15, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >> обычный для таких штук Фортран обошли стороной. Нипонятнооо..
    >
    >Чего тут непонятного, это не универсальный язык. Он заточен исключительно под расчеты
    >-- все счетные тесты будут лежать в левом нижнем углу отдельно
    >от всех. В счетном классе задач фортран обгоняет все языки. А
    >вообще тест -- дерьмо. Кобола нет, смолтока нет, лиспа нет.

    это понятно. Но и задачка не "универсальная", а счетная. Да и языки, в таком случае, там тоже далеко не все универсальные. Т.е. мне не понятны 2 вещи: что хотел показать автор с практической точки зрения и чем обоснован его выбор. :)

     
  • 3.48, аноним (?), 10:18, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >> обычный для таких штук Фортран обошли стороной. Нипонятнооо..
    >
    >Чего тут непонятного, это не универсальный язык. Он заточен исключительно под расчеты
    >-- все счетные тесты будут лежать в левом нижнем углу отдельно
    >от всех. В счетном классе задач фортран обгоняет все языки. А
    >вообще тест -- дерьмо. Кобола нет, смолтока нет, лиспа нет.

    кроме кобола все вышеперечисленное есть. не в диаграмме, в результатах, которые можно между собой сравнить. и фортран, и лисп, и смолтолк. разуваем глаза и смотрим внимательнее http://shootout.alioth.debian.org/

     

  • 1.43, uZver (??), 00:29, 02/06/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    странно, но java в сравнении не увидел. наверное выше всеких похвал и сравнений ;)
     
     
  • 2.45, firefox (?), 02:00, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    третий ряд третья строка слева)
     
  • 2.49, F (?), 14:49, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Там их много: java, javaclient, java14, gcj, может ещё что-нибудь не заметил.
     
  • 2.50, F (?), 15:10, 02/06/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, там есть ссылка на какой-то обновленный вариант:
    http://gmarceau.qc.ca/blog/uploaded_images/size-vs-speed-vs-depandability-200
    Java там в первой колонке!
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру