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

    +1

    1. 1
    2. 2
    3. 3
    https://tass.ru/nacionalnye-proekty/6391295
    
    Томские ученые разработали первое в России программное обеспечение, независимое от Windows

    ШОК! Томские ученые открыли способ создавать программное обеспечение, независимое от Windows. Нужно всего лишь…

    j123123, 30 Апреля 2019

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

    0

    1. 1
    2. 2
    NVIDIA GeForce GTX 550 Ti - 3 075 очков на 3DMark 11 Performance
    NVIDIA GeForce GT 1030 - 2 891 очков

    У меня сгорела видеокарта, купленная 7 лет назад. Современная, почти такая же по производительности стоит в полтора раза дороже, чем моя стоила тогда (в рублях). Прогресс отменили, что ли? У меня баттхерт.

    Steve_Brown, 28 Апреля 2019

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

    0

    1. 1
    Onetime = ?config(onetime, Config) =:= true,

    Boolshit? Нет, это динамическая питуизация.

    CHayT, 24 Апреля 2019

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

    +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
    var v: List[Int?] = List@{1, 2, none, 4};
    
    //Chained - List@{1, 4, 16}
    v->filter(fn(x) => x != none)->map[Int](fn(x) => x*x)
    
    //Piped none filter - List@{1, 4, 16}
    v |> filter(fn(x) => x != none) |> map[Int](fn(x) => x*x)
    
    //Piped with noneable filter - List@{1, 4, 16}
    v |??> map[Int](fn(x) => x*x)
    
    //Piped with none to result - List@{1, 4, none, 16}
    v |?> map[Int](fn(x) => x*x)
    
    
    // 5.15 Merge
    entity Baz {
        field f: Int;
        field g: Int;
        field k: Bool
    }
    
    var t = @[ 1, 2, 3 ];
    t<+(@[5])       //@[1, 2, 3, 5]
    t<+(@[3, 5])    //@[1, 2, 3, 3, 5]
    
    var r = @{ f=1, g=2, k=true };
    r<+(@{g=5})          //@{f=1, g=5, k=true}
    r<+(@{g=3, k=false}) //@{f=1, g=3, k=false}
    r<+(@{g=5, h=0)      //@{f=1, g=5, k=true, h=0}
    
    var e = Baz@{ f=1, g=2, k=true };
    e<+(@{g=5})          //@{f=1, g=5, k=true}
    e<+(@{g=3, k=false}) //@{f=1, g=3, k=false}
    e<+(@{g=5, h=0)      //error field not defined

    «Буквально несколько дней назад компания Microsoft представила публике новый язык программирования. Языку дали название Bosque. Главная миссия дизайна языка — чтобы он был прост и понятен как для человека, так и для компьютера»

    А вот кому новый, простой и понятный язык? Содержание спецсимволов всего на 54% превосходит таковое у «C++»!

    h/448814
    https://github.com/Microsoft/BosqueLanguage/blob/master/docs/language/overview.md

    gost, 22 Апреля 2019

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

    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
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    Переменная loffset 0 loffset!
    Переменные местные жители здесь местные! Выбрано 100 (несколько) ячеек
    : локальный, (смещение -)
    отложить rp @ loffset @ swap -
    откладывать буквально откладывать +;
    : бизнес, (смещение -)
    местный, отложи рп! ;
    : (local DOES> @ local, отложить @;
    : f> r r> rp @ 1 float - dup rp! е! > г;
    : (flocal DOES> @ local, отложить f @;
    
    : нечего делать ;
    : ralign r>
    START rp @ [1 плавает 1-] Буквально и
    WHILE ['ничего не делать> тело] ALiteral> r
    REPEAT> r;
    
    : <local (- sys1)
    текущие @ @ loffset @ местные жители @
    больше 0 = ЕСЛИ отложено до ТО; мгновенный
    : местный: (-)
    откладывать> последние новости здесь местные жители @ дп!
    ячейка loffset +! Создать loffset @, немедленный (локальный
    вот местные жители! дп! lastcfa! прошлой! ; мгновенный
    : flocal: (-)
    Последние новости здесь местные жители @ дп!
    START loffset @ 0 1 плавает падение FM / мод, пока
    0 отложено Буквально откладывай> 1 ячейку + клетки! повторение
    отложить f> r Создать loffset @, немедленный (flocal
    вот местные жители! дп! lastcfa! прошлой! ; мгновенный
    : local> (sys1 - sys2); мгновенный
    : локальный (sys2 -)
    местные жители! dup delocal
    Loffset! ток @! ; мгновенный
    : TO> in @ 'dup @ [' (local> cell body +] ALiteral =
    IF> body @ local, отложить! падение
    ELSE dup @ ['(flocal> cell body +] ALiteral =
    IF> body @ local, отложить ф! падение
    В противном случае, смотрите> в! отложить на потом; мгновенный
    
    : DO 2 ячейки loffset +! отложить DO; немедленное ограничение
    :? DO 2 ячейки loffset +! отложить? ДЕЛАТЬ; немедленное ограничение
    : Для 2 ячеек loffset +! выделить для; немедленное ограничение
    : LOOP -2 ячейки loffset +! Задержка LOOP; немедленное ограничение
    : + LOOP -2 ячейки loffset +! отложить + LOOP; немедленное ограничение
    : СЛЕДУЮЩИЙ -2 loffset + клетки! отложите СЛЕДУЮЩУЮ; немедленное ограничение
    :> R 1 клетки loffset +! отложить в сторону> R; немедленное ограничение
    : R> -1 ячейки loffset +! отложить R>; немедленное ограничение
    
    Местные жители высокого уровня 19aug93py
    
    : {отложить <местное -1
    НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
    drop> in @> r
    НАЧНИТЕ dup 0 <0 = WHILE> в! отложить местное: REPEAT drop
    d> в! отложить местное>; немедленное ограничение
    
    : F {отложить <местный -1
    НАЧАЛО> в @ name dup c @ 1 = swap 1+ c @ '| = и к
    drop> in @> r
    НАЧНИТЕ dup 0 <0 = WHILE> в! Отложить Flocal: REPEAT DROP
    d> в! отложить местное>; немедленное ограничение
    
    'местный; псевдоним} немедленное ограничение
    
    \ ANS Locals 19aug93py
    
    Создайте 5 локальных ячеек, выберите их
    : (местный) (адрес)
    местный @ 0 =
    Если вы отложите в сторону <local local on
    3 локальных ячейки + 2! местная ячейка + 2! ЗАТЕМ
    dup IF linestart @> r исходная строка #> r загрузочный файл @> r
    blk @> r> tib @> r #tib @ dup> r> in @> r
    
    > Тиб +! dup #tib! > Tib @ Swap Move
    > выкл blk выкл loadfile выкл -1 linestart!
    
    отложить местное:
    
    d> в! r> #tib! > Тиб! r> blk!
    r> загрузочный файл! r> Loadline! r> linestart!
    ELSE 2-капельные локальные клетки + 2 @ локальные 3 клетки + 2 @
    отложить местный>
    2 локальных ячейки + 2! местная ячейка +! ЗАТЕМ;
    
    :? местный;
    местный @
    IF с местными ячейками + @ с местными 2 ячейками + 2 @
    отложить местное; местный от ТОГО;
    
    :; ?местный; отложить; ; немедленное ограничение
    :> Местный; откладывать делает>; мгновенный
    : EXIT inlocal @ IF 0 delocal, TO откладывает EXIT; мгновенный
    
    : местные жители |
    НАЧАТЬ имя dup c @ 1 = больше 1+ c @ '| = и 0 = WHILE
    читать (локально) REPEAT 0 (локально); немедленное ограничение

    BOKCEJIbHblu_nemyx, 20 Апреля 2019

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

    0

    1. 1
    2. 2
    fuse_blown() ->
      whereis(?marker_process) =/= undefined.

    Q: Какой механизм IPC в Erlang самый быстрый и безопасный?
    Отвечает Снаут, основатель Стиля Вечно Ждущего Процесса: process registry.

    CHayT, 17 Апреля 2019

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

    0

    1. 1
    Я забыл теорию графов, но вот недавно читал про магазинный автомат, а вы?

    OlegUP, 17 Апреля 2019

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

    +1

    1. 1
    2. 2
    3. 3
    Заметил, что после написания почти каждого сообщения я копирую в буфер обмена какой-нибудь символ, чтобы перетереть возможное старое значение.
    Чтобы случайно в какой-нибудь чат не вставить [color=green][i]конфиденциальную информацию[/i][/color].
    Это нужно лечить?

    AHCKuJlbHblu_nemyx, 16 Апреля 2019

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

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    rt_fold(#{}, Acc) ->
        Acc;
    rt_fold(Keys, Acc) ->
        maps:fold(<.... опущено ...>, Acc, Keys).

    CHayT, 14 Апреля 2019

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

    +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
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    # это комментарий #
    COMMENT это понятно что COMMENT
    CO это тоже ко-ко-коментарий CO
    
    CO функция принимает 3 параметра типа INT и возвращает ссылку на массив CO
    PROC range = (INT start, end, step)REF[]INT : (
        INT length = ABS((end - start) % step);
        NEW [0 : length - 1]INT result; CO массив в куче CO
        CO LWB —– нижний индекс массива, UPB —– верхний CO
        FOR i FROM LWB result TO UPB result
        DO
            result[i] := start + i * step
        OD;
        result CO функции возвращают результат последнего вычесленного выражения CO
    );
    
    CO можно определять свои операторы CO
    OP RANGE = (INT start, end)REF[]INT: range(start, end, (start < end | 1 | -1));
    PRIO RANGE = 5; CO для бинарных операторов нужно задать приоритет, у сложения/вычитания приоритет = 6 CO
    
    CO для операторов возможна перегрузка по количеству и типу аргументов CO
    OP RANGE = (INT end)REF[]INT: 0 RANGE end;
    
    OP ACCUM = ([]INT x, PROC(INT,INT)INT f)INT : (
        INT length = UPB x - LWB x;
        IF length = 0 THEN
            1
        ELIF length = 1 THEN
            x[LWB x]
        ELSE
            INT result;
            result := x[LWB x];
            FOR i FROM LWB x + 1 TO UPB x
            DO
                result := f(result, x[i])
            OD;
            result
        FI
    );
    PRIO ACCUM = 5;
    
    CO правый операнд у ACCUM —– лямбда CO
    OP ! = (INT x)INT: 1 RANGE x + 1 ACCUM ((INT x, y)INT: x * y);
    
    printf(($g(0), "! = ", g(0), l$, 7, !7));
    
    OP MAP = ([]INT x, PROC(INT)INT f)REF[]INT : (
        NEW [LWB x : UPB x]INT result;
        FOR i FROM LWB x TO UPB x
        DO
            result[i] := f(x[i])
        OD;
        result
    );
    PRIO MAP = 5;
    
    PROC pow = (INT x, n)INT: x ^ n;
    
    CO каррирование CO
    printf(($g(0), " "$, RANGE 10 MAP pow(2, )));
    print(new line);
    
    OP FOREACH = (REF[]INT x, PROC(REF INT)VOID f)VOID : (
        FOR i FROM LWB x TO UPB x
        DO
            f(x[i])
        OD
    );
    PRIO FOREACH = 5;
    
    REF[]INT a = -5 RANGE 6;
    a FOREACH ((REF INT x)VOID:
        x := x ^ 2
    );
    
    printf(($g(0), " "$, a))

    https://tio.run/##jVVdbxJBFH3nV1xbTXZ1iaBpNVQfkFIlKV2C1T40mJBIkYRgUzFdEx@wtRpTPx70hyCWlkLBvzDzF/wj9dw7s0uBmgiF7syce@fOuecM5Xr1ZX3xbvX8fJ70F72nRqT6aqTO8O6qISbauqV66pTmYxk/n8@urUe438AN9TcMhhjqjzJrQQCHOP5Sx6oriePR18wGGT8mUe/1PhL29QfV09@wiywP8TlTbdXVe3Sbt@aoNufQe/zEu/R4mnKoUPVIdbDFierwov5kI/U7vA/VANn3CTnbxEl5FsEdrqBQ9DO0U25UK3SfHM71qlneaXpUaTz38FzZdovZlc0Sr6TIiRFe/FyvNKrNF4hJP3jsOABT3ES6dM2ELQl2LbtBmwmE2oA4JSXXTuXV63pzCSVMlsR/KFZ/BH8oj1MAsrrxgP60fvxpfSdh5li@T0mIOgKvff1uIo9qe/SkMA7qgI6WPrBhNvGKX6QarRT9vGxgSqJ1XyLNSHDLBs4vM7tZK1Hqvjkv3UCO63JkQfnL5uA221SDL2mU/sqNauEQJ8AN9GeRyJ7IDYcZYOEI4V31izXY0YfMjV0YshLHC6yQY5lmJeGUaELMMDwSzoAbicC6wtqAxaw/QyZSVE9WmSkuALu39CFn8QtUTK89zM4qJNJGymjIuSgeM6B7PKK3lMQnnnRRUqGY86OMC0YDR1wMqZ/SUdb6EOc5mCkIYwhkCKLscU5w5CNexTGsdRjWAxwG8Ai6F65GY2JuWhIZ07ZczYaitMXQomF1lxZj2hky3CaLQb/A3z6W@mbSXjQDbCANRI4Ou7JnrczPfPBfCAqvipEx6XQDJplP2EXMot3ApjOZJ3nGGtsGHrHLOdLDx@W5LfefhmbxB/ApWyIwWs6tjJcTtP4ouxYZIilP2dWLkOQkJNiUVCWLfJyNVi5cBFMOY3uFceO1KcMG8F4y9GsQoS7YdTLhlmOePaSuldwIFVp2jDbXQy4WijVkdMH66bdYDTLiOyhSBd9FLDiDDq8eKAf9/Mkqtb28EvYxcKWBSdtAcx4T7Ti2dW8MJsAd84btvL1TazS3HOdq1Um4Hs1xsjmPzKh@1aM7Hl25wzbjrfLpwqVCsCKYudrlujbcpgytpekmzTRhogH/uiu3nDHnk1dkRLKplSmWH6Xtl7sRTx41QhqeUcM2oc92EcOKE42Xzc/GNEk0B2IMycmEbITszi2PXCZK0E6jskv1WqNimcMxs@nMIy4hYikkEBOsXfepn1sGi/IvZPC/6ZlkJGJhvC8zEW1dxkR8wZ5hcSlWjoBOWA7kxJWkJGMgDgJbt2KXqUYIKbvu@flf
    Давайте течь от "Algol-68".

    BOKCEJIbHblu_nemyx, 13 Апреля 2019

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