1. Куча / Говнокод #7652

    +144

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    # /* [  <!-- */ include  <stdio.h> /*   \
      #{\
    `""""true \\#{"\n#"};           \
      \
    if [ -n "$ZSH_VERSION" ]; then           \
      \
      echo exec  echo I\'m a zsh script.; \
      \
    elif [ -n "$BASH_VERSION" ]; then        \
      \
      echo exec  echo I\'m a bash script.; \
    else  \
      echo exec  echo  I\'m  a sh  script.;    \
    fi`;  #\
    BEGIN{print"I'm a ", 0 ? "Ruby"  :"Perl",  " program.\n";  exit; } 
      #\
    %q~            
      
    set dummy =0; puts [list "I'm"  "a"  "tcl"  "script."]; exit   
      
    all: ; @echo "I'm a Makefile."          \
      #*/
    /*: */ enum {a, b};            \
      \
    static int c99(void) {         
      
    #ifndef __cplusplus /* bah */        
      
    unused1: if ((enum {b, a})0)          \
      (void)0;
    #endif           
      
    unused2:  return a;     \
    }  \
    static int trigraphs(void) {         \
      \
      return sizeof  "??!"  ==  2;    \
    }  \
    char X;               \
      \
    int main(void) {             \
      \
      struct X  {        \
      \
         char  a[2];    \
      };\
      if (sizeof(X)  !=  1) {       \
      \
    printf("I'm a C++ program (trigraphs %sabled).\n",         \
      \
       trigraphs()  ? "en"  : "dis");\
      \
    }else if (1//**/2
     
     
    )unused3 : { ; \
        printf("I'm a C program (C%s, trigraphs %sabled).\n", \
            c99() ? "89 with // comments" : "99", \
            trigraphs() ? "en" : "dis"); \
      } else { \
        printf("I'm a C program (C89, trigraphs %sabled).\n", \
            trigraphs() ? "en" : "dis"); \
      } \
      return 0; \
    } /*
    # \
    > main :: IO () -- -- \
    > main = putStr "I'm a Literate Haskell program.\n"
    # \
    ]>++++++++[<+++++++++>-]<+.>>++++[<++++++++++>-]<-.[-]>++++++++++ \
    [<+++++++++++>-]<-.>>++++[<++++++++>-]<.>>++++++++++[<++++++++++> \
    -]<- - -.<.>+.->>++++++++++[<+++++++++++>-]<++++.<.>>>++++++++++[ \
    <++++++++++>-]<+++++.<<<<+.->>>>- - -.<+++.- - -<++.- ->>>>>+++++ \
    +++++[<+++++++++++>-]<- - -.<<<<<.<+++.>>>.<<<-.- ->>>>+.<.<.<<.> \
    ++++++++++++++.[-]++++++++++"""`
    # \
    print "I'm a Python program."; """[-][--><html><head>
    <!--:--><title>I'm a HTML page</title></head><body>
    <!--:--><h1>I'm a <marquee><blink>horrible HTML</blink></marquee> page</h1>
    <!--:--><script language="JavaScript">
    <!--: # \
    setTimeout( // \
      function () { // \
       document.body.innerHTML = "<h1>I'm a javascript-generated HTML page</h1>"; // \
      }, 10000); // \
    //-->
    </script><!--: \
    </body></html><!-- } # \
    say "I'm a Perl6 program", try { " ($?PUGS_VERSION)" } // "", "."; # """ # */
    #define FOO ]-->~

    Может боян, конечно, но этот код реально компилится и работает на 15 разных языках программирования без изменений.
    Работает в C(x2), C++, Haskell, Ruby, Python, Perl(x2), HTML, tcl, bash, zsh, make, bash и brainfuck.

    Запостил: auf1r2, 25 Августа 2011

    Комментарии (18) RSS

    • Как этого добились авторы?
      Ответить
      • Немного энтузиазма, и куча свободного времени :)
        Ответить
        • Меня интересует принцип функционирования.
          Ответить
          • похоже что добрую часть этого разруливают комментарии (c) КЭП
            Ответить
          • С Си и C++ можно разобраться, прогнав через препроцессор. Решётки — это директивы для препроцессора и комментарии для скриптовых языков.

            С HTML — сделав снимок с помощью Firebug или Dragonfly. Специально для HTML здесь заботливо расставлены комментарии.

            brainfuck игнорирует любые символы, не входящие в его алфавит.

            Кое-что здесь разруливают бэкслэши в конце строк.

            Разобрать-то можно. Сложнее было это придумать.
            Ответить
    • Хорошо, что *такой* кроссплатформенности в моём проекте пока не требуется.
      Ответить
    • Тут 7654 отмечают?
      Ответить
    • Минимум четырёхлетняя неактуальность материала.
      Ответить
    • Не зря меня мучили сомнения по поводу Haskell.
      GHC ругается уже на третий символ в первой строке.
      Ответить
    • Я один заметил, что в перечислении ЯП "bash" дважды указан?
      Ответить
    • в топе говнокода 5 или 6ая страница, точь в точь.
      Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий