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

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

    +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
    #define paehal int i = 0; char arr[30000]; memset(arr, 0, sizeof(arr));
    #define go i++;
    #define  nozad i--;
    #define plusegg arr[i]++;
    #define minusegg arr[i]--; 
    #define vivodeg putchar(arr[i]);	
    #define tipavhile while(arr[i]){	
    #define nevhile }
    int main() {
    setlocale(0, "");
    paehal
    plusegg plusegg plusegg plusegg plusegg tipavhile plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg  go nozad minusegg nevhile go vivodeg go plusegg plusegg plusegg tipavhile go plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg plusegg go minusegg nevhile go vivodeg 
    return 0;
    }

    брайнфак на минималках
    выводит a!

    pozhiloy, 07 Мая 2019

    Комментарии (47)
  3. C++ / Говнокод #25547

    +1

    1. 1
    2. 2
    #include <type_traits>
    int main() { return std::is_assignable_v<int, int>; }

    --> 0

    WTF?

    Elvenfighter, 17 Апреля 2019

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

    +5

    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
    /*
    https://habr.com/ru/company/jugru/blog/444212/
    
    Александр: Я не думаю, что существует какое-то одно «правильное» определение ФП,
    но если говорить лично обо мне, то ФП — это нечто с функциональной композицией и
    функциями первого класса.
    
    Иван: Я согласен, но добавил бы ещё функции высшего порядка — те, которые могут
    принимать другие функции в качестве аргументов и возвращать как результат.
    
    Cергей: Ссылка на функцию в Си — считается?
    
    Иван: Нет, Си не является функциональным языком программирования :-)
    
    Сергей: Расскажи, почему?
    
    Иван: Потому что нельзя из комбинации указателей на функции создать новую функцию,
    можно только указывать на уже существующие. Конечно, если в ход не пошли какие-то
    ассемблерные хаки.
    */
    
    
    #include <stdio.h>
    #include <inttypes.h>
    #include <stddef.h>
    #include <stdlib.h>
    #include <errno.h>
    
    #define FUNC(a, ...) typeof( a (*) (__VA_ARGS__) )
    
    uint64_t mul2(uint64_t a)
    {
      return a*2;
    }
    
    uint64_t add2(uint64_t a)
    {
      return a+2;
    }
    
    uint64_t chaincaller(uint64_t a, typeof(uint64_t (*)(uint64_t)) *chain)
    {
      while(*chain != NULL)
      {
        a = (*chain)(a);
        chain++;
      }
      return a;
    }
    
    FUNC(uint64_t, uint64_t) *combine_fn (FUNC(uint64_t, uint64_t) a, FUNC(uint64_t, uint64_t) b)
    {
      FUNC(uint64_t, uint64_t) *funchain = (FUNC(uint64_t, uint64_t) *)malloc(sizeof( FUNC(uint64_t, uint64_t) [3]) );
      if (funchain == NULL)
      {
        exit(ENOMEM);
      }
      funchain[0] = a;
      funchain[1] = b;
      funchain[2] = NULL;
      return funchain;
    }
    
    
    int main(void)
    {
      FUNC(uint64_t, uint64_t) *func_chain = combine_fn(mul2,add2);
      uint64_t a = 15;
      uint64_t b = chaincaller(a, func_chain);
      printf("%" PRIu64 " * 2 + 2 = %" PRIu64 "\n", a,b);
      free(func_chain);
      return 0;
    }

    Ассемблерные хуяки.
    https://wandbox.org/permlink/gdRggB77GQOiNzyJ
    Он так говорит, будто б в крестоговно впилили какой-то недоJIT, который честно может сгенерить одну функцию из двух.

    j123123, 19 Марта 2019

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

    −3

    1. 1
    2. 2
    Линус Торвальдс отстранился от разработки ядра Linux.
    https://vk.com/@sysodmins-linus-torvalds-otstranilsya-ot-razrabotki-yadra-linux

    LinuxGovno, 17 Сентября 2018

    Комментарии (47)
  6. Assembler / Говнокод #24698

    −3

    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
    format PE GUI at 0x10000
    
    include 'win32a.inc'
    
    invoke  MessageBoxA, 0, message, caption, MB_ICONQUESTION + MB_OK
    invoke ExitProcess, 0
    
    message db "Just test.", 0
    caption db "Test.", 0
    
    data import
        library kernel32, 'KERNEL32.DLL', user32, 'USER32.DLL'
    
        import kernel32, ExitProcess, 'ExitProcess'
    
        import user32, MessageBoxA, 'MessageBoxA'
    end data

    Не пойму, чочему уменьшив базу на 1 программа перестаёт роботать, но собирается нормально. 0x10000 -- это самое маленькое значение с которым она роботать. С 0x0 какая-то ашипка на счет длл лезит.

    И ксатати, лоли дебагер почему-то не могет зогружать такие програмым.

    yet_another_one_shit, 31 Августа 2018

    Комментарии (47)
  7. PHP / Говнокод #24595

    −2

    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
    <?php
    namespace app\forms;
    
    use std, gui, framework, app;
    use action\Element; 
    
    
    class Progress extends AbstractForm
    {
    
        /**
         * @event progressBar.step 
         */
        function doProgressBarStep(UXEvent $e = null)
        {
            
            
            // Generated
            $e = $event ?: $e; // legacy code from 16 rc-2
            
            Element::appendValue($this->progressBar, 1.0);
        }
    
        /**
         * @event construct 
         */
        function doConstruct(UXEvent $e = null)
        {    
            
        }
    
    }

    Почему же ползунок не лезет? Взято из девелнекста (develnext).

    shite, 07 Августа 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    https://skillbox.ru/php/
    
    Насчёт двенадцати месяцев этих доморощенных учителей занесло на повороте. Если отбросить всякую поеботню вроде ООП, "Laravel" и "Git", "PHP" можно выучить менее, чем за полгода.
    Да и нехуй им за что-то там платить - всё можно найти в бумажных учебниках и в Интернете.

    HighVoltageDick, 05 Августа 2018

    Комментарии (47)
  9. C++ / Говнокод #24574

    −3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    #include <iostream>
    using namespace std;
    
    void wtf() {
     return 0;
    }
    int main() {
     return wtf();
     cout << wtf();
    }

    Решил нопейсать ватафак-код.
    Классика жанра. Ретурн в воидовской функции. Плюс действие после ретурна.

    shite, 03 Августа 2018

    Комментарии (47)
  10. Swift / Говнокод #23907

    +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
    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
    protocol Multi {
        associatedtype T
        associatedtype U
    
        func printSelf()
    }
    
    extension Multi where T == Int, U == Float {
        func printSelf() {
            print("Int & Float!")
        }
    }
    
    extension Multi where T == String, U == Int {
        func printSelf() {
            print("String & Int!")
        }
    }
    
    extension Multi {
        func printSelf() {
            print("Unknown")
        }
    }
    
    class MultiImplementationIntFloat: Multi {
        typealias T = Int
        typealias U = Float
    }
    
    class MultiImplementationStringInt: Multi {
        typealias T = String
        typealias U = Int
    }
    
    class MultiImplementationInvalid: Multi {
        typealias T = Float
        typealias U = String
    }
    
    let m1 = MultiImplementationIntFloat()
    m1.printSelf()
    
    let m2 = MultiImplementationStringInt()
    m2.printSelf()
    
    let m3 = MultiImplementationInvalid()
    m3.printSelf()

    Multimethods в Swift с проверкой в compile-time

    Desktop, 10 Марта 2018

    Комментарии (47)
  11. Си / Говнокод #23702

    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
    #include <stdio.h>
    #include <string.h>
    #include <math.h>
    
    char *questions[] = {
        "Answer these questions please.",
        "I am HACTEHbKA. Do you know about me?",
        "Do you like my love stories?",
        "By the way, what is your name?",
        "Do you like C++?",
        "Do you like bormand?",
        "bormand is cool, isn't he?",
        "Do you know what does it mean?",
        0,
    };
    
    int main () {
        char answer[10], **question = questions, z[30] = {0}, Z = questions[0x04][0x10];
        
        while (*++question) {
            float x = 1, y = 7;
            char* a = answer;
            puts(*question);
            gets(answer);
            while (*a) {
                x *= 10;
                x += *a / 90;
                a ++;
            }
            y = (9/x - 120)/x/x/x;
            if (y > 170/x - 1263 - 437/x/x) {
                int U = **questions;
                for (U = 1/(x+1); U < ' '; U += 0x10) {
                    float bormand = 9*y-6*x*sqrt(y)-6*sqrt(y)+1.0*x*x*x*x-5.2*x*x*x+11.14*x*x-6.788*x+6;
                    z[Z|U] = questions[5-U/5+1/(int)bormand][(int)(Z + questions[0x06][0x10] / 2.6)];
                    if ((Z|U|7) * (int)question[1] < 30) puts(z + U);
                }
                Z++;
            }
        }
        
        return answer == questions[1];
    }

    https://ideone.com/zDcuG2

    HACTEHbKA, 03 Февраля 2018

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