1. C++ / Говнокод #27456

    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
    // https://llvm.org/doxygen/AArch64AddressingModes_8h_source.html#l00051
    
     /// getShiftName - Get the string encoding for the shift type.
     static inline const char *getShiftExtendName(AArch64_AM::ShiftExtendType ST) {
       switch (ST) {
       default: llvm_unreachable("unhandled shift type!");
       case AArch64_AM::LSL: return "lsl";
       case AArch64_AM::LSR: return "lsr";
       case AArch64_AM::ASR: return "asr";
       case AArch64_AM::ROR: return "ror";
       case AArch64_AM::MSL: return "msl";
       case AArch64_AM::UXTB: return "uxtb";
       case AArch64_AM::UXTH: return "uxth";
       case AArch64_AM::UXTW: return "uxtw";
       case AArch64_AM::UXTX: return "uxtx";
       case AArch64_AM::SXTB: return "sxtb";
       case AArch64_AM::SXTH: return "sxth";
       case AArch64_AM::SXTW: return "sxtw";
       case AArch64_AM::SXTX: return "sxtx";
       }
       return nullptr;
     }

    Хорош ли тот язык, в котором такую херню надо писать?

    Именно поэтому я за гомоиконы.

    j123123, 06 Июня 2021

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    Ltac solveInstr :=
      unfold mov, ldr,
      str, cmp,
      jnz, jmp, halt, fail,
      hvc, run, yield, share, lend, donate,
      retrieve, relinquish, reclaim, send, wait,
      option_state_unpack, unpack_hvc_result_normal, unpack_hvc_result_yield,
      get_reg, update_reg, update_incr_PC, get_memory, update_memory;
      repeat case_match;
      subst; eauto.

    Hijikata, 05 Июня 2021

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

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    #include <iostream>
    using namespace std;
    
    int main() {
    	const char *kakoiBagor = R""""(
    "Какой
    багор )))"
    )"""";
    	cout << kakoiBagor << endl;
    	return 0;
    }

    А вы знали, что в C++ есть ХЕРЕДОК?

    https://ideone.com/5KdJJQ

    3_dar, 04 Июня 2021

    Комментарии (281)
  4. Go / Говнокод #27453

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    func Map[F, T any](s []F, f func(F) T) []T {
        r := make([]T, len(s))
        for i, v := range s {
            r[i] = f(v)
        }
        return r
    }

    Го сдался.

    PolinaAksenova, 02 Июня 2021

    Комментарии (161)
  5. JavaScript / Говнокод #27452

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function main() {
        for (const q of [1, 12]) {
            print(q);
        }
    
        for (const l of "HW") {
            print(l);
        }
    
        print("done.");
    }

    продолжаем говнокодить компилятор для TypeScript (типа новый сабсет для native-ого кода)

    ASD_77, 02 Июня 2021

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

    0

    1. 1
    for /f "delims=" %f in ('dir /s /b c:\*readelf*.exe') do "%f" --version

    gcc hell

    gologub, 02 Июня 2021

    Комментарии (34)
  7. C++ / Говнокод #27450

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    int main(void)
    {
        std::string data = "HELLO WORLD!\n";
        std::transform(
            data.begin(), data.end(), 
            std::ostream_iterator<char>(std::cout, ""),
        std::bind(std::plus<char>(), std::placeholders::_1, 1));
        
        return 0;
    }

    А как сделать это ещё короче?

    digitalEugene, 02 Июня 2021

    Комментарии (10)
  8. 1C / Говнокод #27447

    +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
    Функция ОпределитьВидКонтрагента(Контрагент) Экспорт
    	
    	 Запрос = Новый Запрос;
    	 
    	 Запрос.УстановитьПараметр("Контрагент", Контрагент);
    	 
    	 ТекстЗапроса = "ВЫБРАТЬ
    		|	Контрагенты.Ссылка КАК Контрагент,
    		|	Контрагенты.Представление КАК Представление,
    		|	Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо
    		|ИЗ
    		|	Справочник.Контрагенты КАК Контрагенты
    		|ГДЕ
    		|	Контрагенты.ЮрФизЛицо = ЗНАЧЕНИЕ(Перечисление.ЮрФизЛицо.ЮрЛицоНеРезидент)
    		|	И Контрагенты.Ссылка = &Контрагент";
    	 
    	 Запрос.Текст = ТекстЗапроса;
    	 	 
    	 РезультатЗапроса = Запрос.Выполнить();
    	 
    	 Если РезультатЗапроса.Пустой() Тогда
    		 Возврат Ложь;
    	 КонецЕсли;
    	 
    	 Выборка = РезультатЗапроса.Выбрать();
    	 
    	 Пока Выборка.Следующий() Цикл
    		 
    		 Если Контрагент = Выборка.Контрагент Тогда
    			 Возврат Истина;
    			 
    		 Иначе
    			 Возврат Ложь;
    			 
    		 КонецЕсли;
    		 
    	 КонецЦикла;
    	 
    КонецФункции

    cdpoma, 01 Июня 2021

    Комментарии (24)
  9. Python / Говнокод #27446

    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
    # Калькулятор полных линейных неравенств
    
    # Модули
    from math import sqrt
    
    # Пояснение
    print('Это калькулятор полных линейных неравенств')
    print('Эти неравенства выглядят так: a*x^2 +- b*x +- c = 0')
    print('a, b и c - коэффиценты.\n')
    
    # Ввод коэффицентов
    a = int(input('Введите коэффицент a:'))
    b = int(input('Введите коэффицент b:'))
    c = int(input('Введите коэффицент c:'))
    r = 0
    D = 0
    # Решение: вид неравенства
    if b >= 0: 
        g = '+ '
    else:
        g = ''
    if c >= 0: 
        f = '+ '
    else:
        f = ''
    print('Так выглядит уравнение: ' + str(a) + 'x^2 ' + str(g) + str(b) + '*x ' + str(f) + str(c) + ' = 0')
    
    # Решение: коэффиценты и дискриминант
    print('Дискриминант(D) равен b^2 - 4 * a * c')
    print('Значит D = ' + str(b) + '^2 - 4 * ' + str(a) + ' * ' + str(c))
    b = int(b)
    a = int(a)
    c = int(c)
    D = b**2 - 4 * a * c
    print('D = ' + str(D))
    drt = sqrt(D)
    # Решение: ответ
    if D < 0:
        print('Ответ: Уравнение не имеет корней, так как дискриминант меньше нуля')
    elif D == 0:
        print('Уравнение имеет один корень: ')
        x = -b/(2*a)
        print('Корень уравнения: x = ' + str(x))
    elif D > 0: 
        print('Уравнение имеет два корня: ')
        x1 = (-b - drt)/2*a
        x2 = (-b + drt)/2*a
        print("Корни уравнения: x1 = " + str(x1) + ', x2 = ' + str(x2))
    else:
        r = 0

    Вот это чудо Я(гуманитарий) состряпал за 15 минут на второй день изучения питона. Ну как? Так ли худо?

    ni2kta, 31 Мая 2021

    Комментарии (96)
  10. JavaScript / Говнокод #27445

    +6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    [■,■,■,■].map(■→●) ⇒ [●,●,●,●]
    [■,●,■,▲].filter(■→true) ⇒ [■,■]
    [■,●,■,▲].find(●→true) ⇒ ●
    [■,●,■,▲].findIndex(●→true) ⇒ 1
    [■,●,■,▲].fill(●) ⇒ [●,●,●,●]
    [■,●,■,▲].some(●→true) ⇒ true
    [■,●,■,▲].every(●→true) ⇒ false

    https://twitter.com/rauschma/status/1398668839177568259

    Немного визуализации для демонстрирования работы с массивами

    groser, 30 Мая 2021

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