Графы из разных языков программирования

Продолжение и, скорее всего, окончание моего исследования про графы из текстов.
Мне подсказали страницу, где есть реализация одного алгоритма (QuickSort) на разных языках программирования, а значит есть отличная возможность сравнить графы этих “одинаковых” программ.
Под катом полученные графы для языков: C, C++, Java, Visual Basic, Delphi, Python, Php, Prolog, Fortran, Ruby, Haskel, Algol, Mathematica, Asm.
Попробуйте не заглядывая под кат угадать, какой граф будет наиболее красивым и какой самым страшным?

Самым страшным языком программированияграфом я провозглашаю Фортрановский (сама программа, надо признать, была еще страшнее графа):


Ненамного лучше него, правда, выглядит граф Visual Basic, хотя кода там гораздо меньше:

А вот граф Algol-а (хоть и выглядит запутано, но тут есть определенная кластеризация):

Следом можно поставить Delphi (а тут кластеризации нет вообще):

Удивительно неплохо на их фоне смотрится ассемблер:

Java почему-то подкачала. Я думал ее граф будет красивее, а получилось это:

Вот граф одной из реализаций на Python:

А вот реализация на C++ с шаблонами и итераторами. Удивительно, но неплохо выглядит:

Дальше идут примерно одинаковые по красоте на мой взгляд графы.
Prolog:

Ruby:

Php:

C (вот уж не думал, что C и Php окажутся рядом, да и вообще чем-то похожи):

Очень интересно выглядит граф языка Mathematica:

Ну и наконец победитель, которого наверняка никто не угадал - это язык Haskel. Идеал минимализма:

Оригинал и комментарии

6 комментариев к Графы из разных языков программирования

  • Xor

    Жаль нету графа на C#. Было бы интересно взглянуть в дополнение к остальным :)

  • konstantin

    интересно, а почему на всех графах пропущен if, хотя в исходных листингах он есть…

  • ingahilt

    ужас, какие монстры!
    первые 4 верхних графа по своему строению напомнили вирусы с их нуклеиновыми кислотами, брррр

  • captador

    Получается, что это “графы”, которые должен будет построить программист, используя стандартные для языка способы. Т.е. чем меньше граф, тем меньше надо писать “своего” кода.

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

    • Я видел машинный код в коде на C++ недавно :) Если инжектишь код в память, то надо его сразу в машинных кодах туда писать.

Ответить

 

 

 

Вы можете использовать эти HTML тэги

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>