1. Лучший говнокод

    В номинации:
    За время:
  2. C# / Говнокод #28078

    +1

    1. 1
    https://habr.com/ru/post/655085/

    эксель быстрее шарпов, шах и мат дотнетчики...

    kcalbCube, 11 Марта 2022

    Комментарии (100)
  3. JavaScript / Говнокод #27645

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    async function f()
    {
    	print("Hello World");	
    }
    
    function main()
    {
    	await f();
    }

    Ну что заскучились... есть новость... первый async/await ... так что с почином - асинков. но это только начало ... Для любознательных дампик... https://pastebin.com/rwnsrdLx (для SEO https://github.com/ASDAlexander77/TypeScriptCompiler) и результат работы

    C:\temp>C:\dev\TypeScriptCompiler\__build\tsc\bin\tsc.exe --emit=jit --shared-libs=C:\dev\TypeScriptCompiler\__build\tsc\bin\TypeScriptGCWrapper.dll --shared-libs=C:\dev\TypeScriptCompiler\3rdParty\llvm\debug\bin\mlir_async_runtime.dll C:\temp\1.ts  
    Hello World

    ASD_77, 04 Сентября 2021

    Комментарии (100)
  4. Си / Говнокод #27525

    0

    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
    #include <stdio.h>
    #include <stdlib.h>
    #include <inttypes.h>
    
    typedef struct list list;
    
    struct list
    {
      list* next;
      uint32_t data;
    };
    
    #define ADD_LIST(ptr, val) \
    do { \
      (ptr)->next = (list *)alloca(sizeof(list)); \
      (ptr)->next->data = val; \
      (ptr)->next->next = NULL;\
    } while (0)
    
    // https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
    #define INIT_LIST(val) \
    ({ \
      list *INIT_LIST = (list *)alloca(sizeof(list)); \
      INIT_LIST->data = val; \
      INIT_LIST->next = NULL; \
      INIT_LIST; \
    })
    
    
    int main(void)
    {
      list *a = INIT_LIST(5);
      ADD_LIST(a,10);
      ADD_LIST(a->next,15);
      ADD_LIST(a->next->next,20);
      ADD_LIST(a->next->next->next,25);
      ADD_LIST(a->next->next->next->next,30);
    
      for(list *ptr = a; ptr != NULL; ptr = ptr->next)
      {
        printf("%d ", ptr->data);
      }
    
      return EXIT_SUCCESS;
    }

    А можно ли в крестоговне так сделать без Сишного Препроцессора?

    j123123, 19 Июля 2021

    Комментарии (100)
  5. Python / Говнокод #27277

    0

    1. 1
    2. 2
    3. 3
    4. 4
    XRU = "XRU"
    PITUH = "PITUH",
    KUROCHKA = "KUROCHKA"
    PETUH = PITUH.replace('I', 'E')

    Traceback (most recent call last):
    File "./prog.py", line 4, in <module>
    AttributeError: 'tuple' object has no attribute 'replace'

    3_dar, 02 Марта 2021

    Комментарии (100)
  6. C++ / Говнокод #25741

    +1

    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
    #include <iostream>
    
    using namespace std;
    
    int main()
    {
        bool b;
        cin >> b;
    
        switch (b) {
        case true:
            cout << "TRUE" << endl;
            break;
        case false:
            cout << "FALSE" << endl;
            break;
        default:
            cout << "WHAT???" << endl;
            break;
        }
    
        return 0;
    }

    Данный код с компилятором MSVC2017 64bit при вводе значения "true" (текстом) выводит в консоль "WHAT???"

    mvngr, 30 Июля 2019

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

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Кто-нибудь понял суть уязвимости WPA2?
    Сука миллион говностатей наклепали, и ни в одной не объясняется простыми словами для таких ламеров, как я.
    А всё блядь только пишут что пропатчили PeerKey Fast BSS Transition (FT) AES-CCMP WPATKIP и GCMP под OpenBSD.
    ЗАЕБАЛИ ЭТУ ХУЙНЮ ПИСАТЬ
    
    Кто-то на примере Алисы и Боба может расписать?

    inho, 17 Октября 2017

    Комментарии (100)
  8. Си / Говнокод #22876

    −33

    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
    #include <http://govnokod.ru/21585>
    
    // assembly output for f1_signed and f2_signed on GCC 7,6,5 ... versions are same
    
    signed char f1_signed(signed char a1, signed char a2, signed char a3)
    {
      return MAXS(a1,a2,a3,a1,a2,a3);
    }
    
    signed char f2_signed(signed char a1, signed char a2, signed char a3)
    {
      return MAXS(a1,a2,a3);
    }
    
    // assembly output for f1_unsigned and f2_unsigned on GCC 7,6,5 ... versions are differend
    // GCC compiler can't do same simplification for unsigned function
    
    // This function produces much more assembler code than second
    unsigned char f1_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
    {
      return MAXS(a1,a2,a3,a1,a2,a3);
    }
    
    unsigned char f2_unsigned(unsigned char a1, unsigned char a2, unsigned char a3)
    {
      return MAXS(a1,a2,a3);
    }

    https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80574

    Очередной мой багрепорт в GCC. Компилятор GCC может заоптимизировать повторяющуйся в MAXS хрень для signed char, но не может для unsigned
    А вот Clang не может заоптимизировать ни то, ни другое. https://godbolt.org/g/7Kt9X0

    j123123, 30 Апреля 2017

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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Del1 = fun(K,[A|B],F,Acc) ->
    if
    not(is_list(A)) and (B==[]) and (A rem K == 0) -> Acc;
    not(is_list(A)) and (B==[]) -> [A|Acc];
    not(is_list(A)) and is_list(B) and (A rem K == 0) -> F(K,B,F,Acc);
    not(is_list(A)) and is_list(B) -> F(K,B,F,[A|Acc])
    end
    end.
    D=[10,22,34,45,52,60,75].
    Del1(5,D,Del1,[]).

    Студент сдал по Функциональному программированию (написано на Erlang, работает).
    Функция удаляющая из списка эл-ты кратные 1му аргументу.

    vt244, 04 Декабря 2015

    Комментарии (100)
  10. Assembler / Говнокод #18488

    −41

    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
    global _start
    _start:
            mov ecx,1
    code:
            push ecx
            mov eax,4
            mov ebx,1
            mov ecx,str
            mov edx,len
            int 128
    
            pop ecx
    loop:
            inc ecx
            cmp ecx,10
            jle code
    exit:
            mov eax,1
            mov ebx,0
            int 128
    
    str: db "Hello world !",10
    len: equ $-str

    Просто нубский код на nasm, фух, неужели я смог напечатать 10 раз хелловорлд и понять то что написал, аж не верится

    pl7ofit, 16 Июля 2015

    Комментарии (100)
  11. C++ / Говнокод #16429

    +50

    1. 1
    2. 2
    3. 3
    []() { std::function<int(int)> foo = 
               [&foo](int k) { return k == 1 ? 1 : k + foo(k-1); }; 
               return foo; }()(3)

    Как написать рекурсивную лямбдру на крестах?

    TarasB, 26 Июля 2014

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