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

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    : %fib
        ( left right count limit -- result )
        2dup u<= if 2drop swap drop exit then
        1+ 2swap tuck + 2swap recurse ;
    
    : fib
        ( n -- n )
        1 2 0 -rot 2swap %fib ;

    Где там ForthGovno?

    wvxvw, 03 Августа 2013

    Комментарии (17)
  2. Куча / Говнокод #13533

    +125

    1. 1
    2. 2
    3. 3
    <a class="buy_btn" href="javascript://228;" onclick="$.l_basket_modify(this.href.replace(/\D+/g, ''), 1);">
       <img src="/images/addToBasket.png" alt="Добавить в корзину">
    </a>

    Сначала привлёк хинт у ссылки при наведении...

    Crazyzubr, 02 Августа 2013

    Комментарии (2)
  3. Куча / Говнокод #13498

    +123

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    @echo off
    :start
    ping -n 1 <destination>
    ping -n 90 127.0.0.1 > NUL 2>&1
    GOTO start

    http://mybroadband.co.za/vb/showthread.php/122641-How-do-you-set-ping-interval
    Попов жив.

    Stallman, 28 Июля 2013

    Комментарии (12)
  4. Куча / Говнокод #13491

    +125

    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
    slowCallPattern (P: P: P: P: P: P: _) = (fsLit "stg_ap_pppppp", 6)
    slowCallPattern (P: P: P: P: P: _) = (fsLit "stg_ap_ppppp", 5)
    slowCallPattern (P: P: P: P: _) = (fsLit "stg_ap_pppp", 4)
    slowCallPattern (P: P: P: V: _) = (fsLit "stg_ap_pppv", 4)
    slowCallPattern (P: P: P: _) = (fsLit "stg_ap_ppp", 3)
    slowCallPattern (P: P: V: _) = (fsLit "stg_ap_ppv", 3)
    slowCallPattern (P: P: _) = (fsLit "stg_ap_pp", 2)
    slowCallPattern (P: V: _) = (fsLit "stg_ap_pv", 2)
    slowCallPattern (P: _) = (fsLit "stg_ap_p", 1)
    slowCallPattern (V: _) = (fsLit "stg_ap_v", 1)
    slowCallPattern (N: _) = (fsLit "stg_ap_n", 1)
    slowCallPattern (F: _) = (fsLit "stg_ap_f", 1)
    slowCallPattern (D: _) = (fsLit "stg_ap_d", 1)
    slowCallPattern (L: _) = (fsLit "stg_ap_l", 1)
    slowCallPattern (V16: _) = (fsLit "stg_ap_v16", 1)
    slowCallPattern [] = (fsLit "stg_ap_0", 0)

    Исходник GHC
    https://github.com/ghc/ghc/blob/master/compiler/codeGen/StgCmmArgRep.hs#L120

    j123123, 27 Июля 2013

    Комментарии (5)
  5. Куча / Говнокод #13477

    +124

    1. 1
    "(\{\{([#%$])([^:\}]+)(:([^\}]+))?\}\})"

    Регуляркоговно.
    Заменено на

    "(\{\{([#%$])(.+?)(:(.+))?\}\})"

    vistefan, 25 Июля 2013

    Комментарии (32)
  6. Куча / Говнокод #13452

    +124

    1. 1
    2. 2
    3. 3
    // Просрока быть недолжно.
            // Если нет платежа, то будет исключение.
            // Оба эти случая логически исключены, если медот не дергать в неположеном месте.

    dimkich, 19 Июля 2013

    Комментарии (10)
  7. Куча / Говнокод #13423

    +125

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    wrs(S):-put_char('\"'), wrsi(S).
    wrsi([C|S]):-put_char(C), wrsi(S).
    wrsi([]):-put_char('\"').
     
    wrl(S):-put_char('['), wrli(S), put_char(']').
    wrli([C|[O|S]]):-wrs(C), put_char(','), wrli([O|S]).
    wrli([C]):-wrs(C).
     
    :- wrl(["dog", "cat", "canary"]).

    Курю правильные примеры кода на прологе. PrologGovno ждите во всех кинотеатрах страны.
    http://ideone.com/L4vIKs
    Почему вместо того чтобы пользоваться стандартной функцией вывода списков или строк - автор рекомендует это? Я код правда поправил, а то хаскельных скобок (я уже без них не могу) не было и запятую в конце списка выдавало.

    HaskellGovno, 15 Июля 2013

    Комментарии (14)
  8. Куча / Говнокод #13413

    +132

    1. 1
    У МИНЯ ЕСТЬ АЙФОН 5 И БАЛЬШОЙ ДОМ В МАЙНКРАВТЕ А ЧИВО ДАБИЛСЯ ТЫ?

    Я БАГАТ И УСПЕШОН

    PragramistOtBoga, 12 Июля 2013

    Комментарии (6)
  9. Куча / Говнокод #13344

    +124

    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
    91. 91
    92. 92
    93. 93
    94. 94
    #pragma syntax(C++03) // было
    int i,j,*pi,&ri=...,ai[10],aai[10][20];
    const int ci = 100;
    T myFunction (TX x1,TX x2,TY y1,TY ywd=...);
    
    #pragma syntax(C++SD) // стало
    var(int) i,j;
    var(Ptr[int]) pi;
    var(Ref[int]) ri = ...;
    var(Array[int,10]) ai;
    var(Array[Array[i,20],10]) aai;
    var(Immutable[int]) ci = 100;
    // отличать от:
    const(int) cci = 100; // и cci с рантаймовой точки зрения будет чистой константой, а не "типа неизменяемой переменной"
    
    function(T) myFunction (var(TX) x1,x2; var(TY) y1,ywd=...);
    // ^смысл в том, чтобы список параметров имел ту же форму, что декларация переменных и членов структур
    
    // возможны и константные функции
    function const(int) constSum (const(int) x1,x2) { return x1+x2; }
    // теперь constSum (1,2) будет всё равно что 3
    
    // это теперь заменяет тайпдеф
    const(typename) Int32 = int;
    
    #pragma syntax(C++03) // было
    class C
    {
     int mi;
     static int si;
    
    private:
     float mf;
     void privateMethod1 () {...}
     void privateMethod2 ();
    
    protected:
     void staticMethod1 () {...}
     void staticMethod2 ();
    
    public:
     virtual void virtualMethod ();
    };
    
    int C::si;
    void C::privateMethod2 () {...}
    void C::staticMethod2 () {...}
    void C::virtualMethod () {...}
    
    #pragma syntax(C++SD) // стало
    class C
    {
     // эта секция называется "имплементацией класса"
     var(int) mi;
     // статические поля в имплементации класса не объявляются
    
    private:
     var(float) mf;
     function() privateMethod1 () {...}
     //void privateMethod2 (); // объявлять методы, который не имплементируются тут же, не обязательно
    
    protected:
     function() staticMethod1 (): Static
     {...}
     // Static - пометка для функции, декларируемой/имплементируемой в имплементации класса,
     // что это не метод, а просто функция
    
    public:
     virtual function() virtualMethod ();
     // в имплементации класса по-настоящему нужна декларация только переменных-полей,
     // виртуальных методов и деструктора, если он пишется юзером
    
     // также:
     var(int) inlinelyInitialized = 100;
     // да, инициализаторы тоже допускаются
    };
    
    using (C) var(int) si; // using(C) - пометка, что декларация касается неймспейса C
    using (C) private: function() privateMethod2 (): Method {...}
    // ^если метод объявляется/имплементируется вне имплементации класса, его
    // нужно пометить как Method, чтобы отличить от обычной функции
    
    // using можно юзать и целым блоком...
    using (C)
    {
    protected:
     // для функции-неметода вне имплементации класса уточнение Static не требуется
     function() staticMethod2 {...}
    public:
     function() virtualMethod (): Method {...}
    }
    
    // глобальный скоп - тоже типа класс, для его явного указания, если вдруг понадобится,
    // используется конструкция using (.)

    Тот момент, когда понимаешь: "Какая радость, что в создатели стандарта крестов не берут кого попало."
    http://www.gamedev.ru/flame/forum/?id=178107

    LispGovno, 09 Июля 2013

    Комментарии (9)
  10. Куча / Говнокод #13328

    +133

    1. 1
    2. 2
    Не поленись, пройди по анкетам и поставь всем минусы.
    минуисуя участников, ты помогаешш обществу.

    Stertor, 08 Июля 2013

    Комментарии (1)