1. Список говнокодов пользователя 3.14159265

    Всего: 132

  2. Куча / Говнокод #26961

    +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
    Top 5 most loved languages:
    
    Rust: 86.1%
    TypeScript: 67.1%
    Python: 66.7%
    Kotlin: 62.9%
    Go: 62.3%
    
    Top 5 most dreaded languages:
    
    VBA: 80.4%
    Objective-C: 76.6%
    Perl: 71.4%
    Assembly: 70.6%
    C: 66.9%
    
    Top 5 most wanted languages:
    
    Python: 30.0%
    JavaScript: 18.5%
    Go: 17.9%
    TypeScript: 17.0%
    Rust: 14.6%

    https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-wanted

    Миллионы мух не могут ошибаться.

    3.14159265, 18 Сентября 2020

    Комментарии (344)
  3. Си / Говнокод #26951

    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
    #include <stdio.h>
    #include <csptr/smart_ptr.h>
    #include <csptr/array.h>
    
    void print_int(void *ptr, void *meta) {
        (void) meta;
        // ptr points to the current element
        // meta points to the array metadata (global to the array), if any.
        printf("%d\n", *(int*) ptr);
    }
    
    int main(void) {
        // Destructors for array types are run on every element of the
        // array before destruction.
        smart int *ints = unique_ptr(int[5], {5, 4, 3, 2, 1}, print_int);
        // ints == {5, 4, 3, 2, 1}
    
        // Smart arrays are length-aware
        for (size_t i = 0; i < array_length(ints); ++i) {
            ints[i] = i + 1;
        }
        // ints == {1, 2, 3, 4, 5}
    
        return 0;
    }

    Allocating a smart array and printing its contents before destruction.

    C Smart Pointers

    What this is
    This project is an attempt to bring smart pointer constructs to the (GNU) C programming language.

    Features: unique_ptr, shared_ptr macros, and smart type attribute

    https://github.com/Snaipe/libcsptr

    3.14159265, 15 Сентября 2020

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

    +3

    1. 1
    2. 2
    #define add(x, y) &((void*)x)[y];
    #define mul(x, y) (sizeof (char[x][y]))

    из свитера

    3.14159265, 10 Сентября 2020

    Комментарии (110)
  5. Си / Говнокод #26811

    +2

    1. 1
    [code]main[]__attribute__((section(".text"))) = {0xC0FFC031,0x7401FF83,0xFFE7F706,0xC3F5EBCF};[/code]

    Печатает факториал, от числа аргументов.
    капча: t4ar

    3.14159265, 18 Июля 2020

    Комментарии (38)
  6. Java / Говнокод #26808

    +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
    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
    import java.util.concurrent.TimeUnit;
    import java.util.regex.Pattern;
    import static java.lang.System.*;
    import static java.util.concurrent.TimeUnit.NANOSECONDS;
    
    public class Rep implements CharSequence
    {
        String str = null;
        int    len;
        char  base;
    
        public Rep(char x, int count)
        {
            this.len  = count;
            this.base = x;
        }
    
        @Override
        public int length()
        {
            return len;
        }
    
        @Override
        public char charAt(int index)
        {
            return base;
        }
    
        @Override
        public CharSequence subSequence(int beginIndex, int endIndex)
        {
            if (beginIndex < 0) {
                throw new StringIndexOutOfBoundsException(beginIndex);
            }
            if (endIndex > this.len) {
                throw new StringIndexOutOfBoundsException(endIndex);
            }
            int subLen = endIndex - beginIndex;
            if (subLen < 0) {
                throw new StringIndexOutOfBoundsException(subLen);
            }
            return ((beginIndex == 0) && (endIndex == this.len)) ? this
                    : new Rep(this.base, subLen);
        }
    
        @Override
        public String toString()
        {
            return null!=str ?  str : (this.str  = new String(new char[]{base}).repeat(len));
        }
    
        public static void main(String... args)
        {
            long ns = 0L;
            Pattern lazy   = Pattern.compile("^(11+?)\\1+$");
            Pattern greedy = Pattern.compile("^(11+?)\\1+$");
            ns=nanoTime();  lazy  .matcher(new Rep('1',100160079)).matches(); out.println( NANOSECONDS.toMillis(nanoTime()-ns));
            ns=nanoTime();  greedy.matcher(new Rep('1',100160079)).matches();out.println( NANOSECONDS.toMillis(nanoTime()-ns));
            ns=nanoTime();  greedy.matcher(new Rep('1',1165139)).matches();out.println( NANOSECONDS.toMillis(nanoTime()-ns));
    
            ns=nanoTime(); "1".repeat( 100160079 ).matches("^(11+?)\\1+$") ; out.println("Lazy String:"+ NANOSECONDS.toMillis(nanoTime()-ns));
            ns=nanoTime(); "1".repeat( 100160079 ).matches("^(11+)\\1+$") ; out.println("Greedy String:"+ NANOSECONDS.toMillis(nanoTime()-ns)); 
        }
    
    }

    Так как в «Йажа» регулярки работают не на строках, а на интерфейсе CharSequence https://docs.oracle.com/javase/8/docs/api/index.html?java/lang/CharSequence.html

    Решил что можно сделать тупую реализацию CharSequence для строк из повторяющегося символа.

    https://ideone.com/8eYFU7

    3.14159265, 16 Июля 2020

    Комментарии (81)
  7. Си / Говнокод #26736

    +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
    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
    #include "gc.h"
    
    static bool PointerNotOwnedByParentStackFrame(struct StackFrame *frame,
                                                  struct StackFrame *parent,
                                                  void *ptr) {
      return !(((intptr_t)ptr > (intptr_t)frame) &&
               ((intptr_t)ptr < (intptr_t)parent));
    }
    
    /**
     * Adds destructor to garbage shadow stack.
     *
     * @param frame is passed automatically by wrapper macro
     * @param fn takes one argument
     * @param arg is passed to fn(arg)
     * @return arg
     */
    void __defer(struct StackFrame *frame, void *fn, void *arg) {
      struct StackFrame *frame2;
      if (!arg) return;
      frame2 = __builtin_frame_address(0);
      assert(frame2->next == frame);
      assert(PointerNotOwnedByParentStackFrame(frame2, frame, arg));
      if (append(&__garbage, /* note: append() not included */
                 (&(const struct Garbage){frame->next, (intptr_t)fn, (intptr_t)arg,
                                          frame->addr})) != -1) {
        frame->addr = (intptr_t)&__gc;
      } else {
        abort();
      }
    }

    deferы в Сищечке

    https://gist.github.com/jart/aed0fd7a7fa68385d19e76a63db687ff

    3.14159265, 04 Июня 2020

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Срочно нужна помощь с засылкой на хабр!
    
    Желательно перед этим почитать от того, что не пропустит анальная модерация и сектанты.
    
    Предложения так же жду в комментах. По тексту и в целом.

    https://tsar1997.blogspot.com/2020/05/blog-post_54.html

    Исходник пасты - просьба кидать патчи. Позже зашлю на хабр.

    https://pastebin.com/raw/haeHPx89

    3.14159265, 03 Мая 2020

    Комментарии (62)
  9. JavaScript / Говнокод #26620

    +4

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    'use strict';
    
    const isOdd = require("is-odd");
    
    module.exports = function isIsOdd(func) {
    	return func == isOdd;
    }

    https://www.npmjs.com/package/is-is-odd

    Why

    Some functions are not is-odd but they might make you think they're is-odd, this package helps you identify these functions with a simple interface.

    Нить бессмысленных npm-модулей.

    3.14159265, 29 Апреля 2020

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

    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
    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
    @outtext
         v                           >v      ^
    > v  <                            v    >>^<
      v  ^  v                         v    ^
         ^  <                         v    ^
            ^                         v    ^
      >   />^<v                       v    ^
      ^  >v<  <                       v    ^
              ^                       v    ^
      ^   > />^<v                     v    ^   #
      ^   ^>v<  <                     v    ^   ^
      ^         ^                     v    ^   ^
      ^     > />^<v                   v    ^   ^
      ^     ^>v<  <                   v    ^   ^
      ^           ^                   v    ^   ^
      ^       > />^<v                 v    ^   ^
      ^       ^>v<  <                 v    ^   ^
      ^             ^                 v    ^   ^
      ^         > />^<v               v    ^   ^
      ^         ^>v<  <           >v  v    ^ >>^<
      ^               ^           ^v  v    ^ ^
      ^           > />^<v         ^v  v    ^ ^
      ^           ^>v<  <         ^v  v  >>^<^
      ^                 ^         ^v  v  ^   ^
      ^             > />^<v       ^v  v  ^   ^
      ^             ^>v<  <       ^v  v  ^   ^
      ^                   ^       ^v  v  ^   ^
      ^               > />^<v     ^v  v  ^   ^
      ^               ^>v<  <     ^v  v  ^   ^
      ^                     ^     ^v  v  ^   ^
      ^                 > />^<v   ^v  v  ^   ^
      ^                 ^>v<  <   ^v  v  ^   ^
      ^                       ^   ^v  v  ^   ^
      ^                   > />^<v ^v  v  ^   ^
      ^                   ^>v<  < ^v  v  ^   ^
      ^                         ^ ^v  v  ^   ^
      ^                     > />^<^v  v  ^   ^
      ^                >>   ^     ^ < v  ^   ^
      ^          >v<<<<<<<<<<<<    v  v  ^   ^
      ^           v   >^<          v  v>>^<  ^
      ^           v  > >v          v  v^     ^
    > ^   v       v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v      ^
    ^ ^           v  ^^            v  v    >>^<
    ^ ^           v  ^^ <          v  v    ^
    ^ ^           v>>^<            v  v    ^
    ^ ^                            v  v    ^
    ^ ^           v^               v  v    ^
    ^ ^           v^               v  v    ^
    ^ ^           v^               v  v      v
    ^ ^           v^               v  v >v   <
    ^ ^           v^               v  v  >>^<^
    ^ ^        >v <^               v  v  ^   ^
    ^ ^         >>^^<              v  v      ^
    ^ ^         ^                  v  v      ^
    ^ ^                            v  >v     ^
    ^ ^                            v  ^v     ^
    ^ ^                            v   v     ^
    ^ ^                            v   v     ^
    ^ ^    v                       v   v     ^
    ^ ^    <                       v   v     ^
    ^     >^<                      v   v     ^
    ^     ^                        v   v     ^
    ^     v                        > ^<      ^
    ^     <                        ^
        >>^<
     >  ^<v
     ^ >v<<
      v
    >v<
      ^
     >^<
     o>v
     v >  ^<
     v ^

    Обнаружил ideone.com на максималках.

    Называется https://tio.run/

    Поддерживает больше сотни различных языков и диалектов.
    Даже такая питушня про которую я никогда не слышал.

    Конкретно этот код: хелловорлд на «Half-Broken Car in Heavy Traffic»

    3.14159265, 20 Марта 2020

    Комментарии (11)
  11. Pascal / Говнокод #26502

    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
    Type
      ONETWO = 1 .. 2;
    
    var I: ONETWO;
    begin
    	I:=1;
    	I:=I+1;
    	writeln(I); //2
    	I:=1+I;     
    	writeln(I); //3
    	inc(I);
    	writeln(I); //4
    	inc(I);
    	writeln(I);	//5
    end.

    https://ideone.com/mtmPPq
    Всё что нужно знать о продвинутой тупизации в «Паскале».

    3.14159265, 13 Марта 2020

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