- 1
Чем "Forth" отличается от "Fortran"?
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
Чем "Forth" отличается от "Fortran"?
+2
https://github.com/klacke/yaws/blob/ba31d14a24842e047e7fa856257df6e3f994ac96/src/yaws_api.erl#L2596
Сертификат сменился? А давайте пол-ноды ёбнем
+3
https://youtu.be/A4Gu0lfIKU0
Нужно ли программисту изучать C++?
Какое только дерьмо не найдешь на ютубе.
C++ это кривая и дерьмовая высокоуровневая говнонадстройка над Си.
Начинать с C++ точно не стоит, потому что в итоге получаются какие-то говнокодеры, не умеющие ничего делать без трижды обдристанной плюсовой стдлибы и всяких там классов с шаблонами и эксепшенами. Лучше уж начинать с Си, потом немного потыкать в лисп с его макросами, а потом посмотреть на плюсовые темплейты и констэкспры, тогда-то дерьмовейщая суть говноплюсов будет ясна.
Что касается ООП в C++, то это просто сраное дерьмо. Понапридумывали каких-то паблик-приват-протектед наследований. Еще эта питушня с множественным наследованием и vtable, отсутствие метаклассов (RTTI - говно), отсутствие нормальных механизмов метапрограммирования (только какое-то кривое и убогое говно), отсутствие интроспекции, тьюринг-полные темплейты, не совпадающие с самим C++. Сраное парашное нагромождение разнообразной хуйни. Никакого базиса и ничего фундаментального в этому куске дерьма нет.
−1
ㅌㄹ ㄱㅌ ; Помещаем в BX текущее значение регистра ES <───────┐
ㅈㅿ ; Загружаем младший байт регистра флагов в AH │
; │
ㅊㅋ ; В пару ES:DI кладем то, что сейчас находится в AX │
; |
ㄹㅅ ; Дважды увеличиваем значение регистра DI |
ㄹㅅ ; на одну единицу |
; │
ㅎㅋ ㅿㅈ ; Образуем бесконечный цикл >───────┘
Господа, ОНО вернулось. Следующая итерация всеми нами любимого и восхваляемого [имя, которое нель̸̗̠̘̘̪̳̩зя произносить]. Я б̞̫͔̜ы на вашем ме̤̣̺͇̫с̨͈те покинул стр̵а̻̘̪̙͎̳̕н̬̙̤̙̪̝̺͠ицу. С̫е̜й̱͎ч̦̦̝͔а̙͓͓с̛̩̞̘ ̫̹͙̲̤̖͉ж̶͉̻е҉̼̦.
−3
Два дебила хотели надрочить кармы,
но передрочились
https://habr.com/post/428706/
https://habr.com/post/428734/
−3
Почему все текут от "Kubernetes"?
Давайте тоже течь.
0
Мне интересно, "ОВЕН" реально за процедурный "PHP" без фреймворков,
и вообще, за "PHP"-ли? Или это просто затянувшийся троллинг?
Против тестов, ООП, CI, VCS?
И даже, блядь, отступов в коде, потому что они расслабляют мозг читающего код?
+1
#include <stdio.h>
#define PRIM_CAT_(a, ...) a ## __VA_ARGS__
#define PRIM_CAT(...) PRIM_CAT_(__VA_ARGS__)
#define PRIM_JOIN(sep, a, ...) PRIM_CAT(PRIM_CAT(a, sep), __VA_ARGS__)
#define PRIM_QUOTE_(...) # __VA_ARGS__
#define PRIM_QUOTE(...) PRIM_QUOTE_(__VA_ARGS__)
#define PRIM_EAT(...) /* nothing */
#define PRIM_EXPAND(...) __VA_ARGS__
#define PRIM_HEAD_(x, ...) x
#define PRIM_HEAD(...) PRIM_HEAD_(__VA_ARGS__)
#define PRIM_TAIL_(x, ...) __VA_ARGS__
#define PRIM_TAIL(...) PRIM_TAIL_(__VA_ARGS__)
#define PRIM_CHECK(...) PRIM_CHECK_N(__VA_ARGS__, 0)
#define PRIM_CHECK_N(x, n, ...) n
#define PRIM_PROBE(x) x, 1
#define PRIM_TEST(...) int main(){puts(PRIM_QUOTE(__VA_ARGS__)); return 0;}
#define BOOL_TO_BOOL(x) BOOL_COMPL(BOOL_NOT(x))
#define BOOL_COMPL(x) PRIM_CAT(BOOL_COMPL_, x)
#define BOOL_COMPL_1 0
#define BOOL_COMPL_0 1
#define BOOL_NOT(x) PRIM_CHECK(PRIM_CAT(BOOL_NOT_, x))
#define BOOL_NOT_0 PROBE(?)
#define BOOL_AND(x, y) PRIM_CAT(BOOL_AND_, x)(y)
#define BOOL_AND_0(x) 0
#define BOOL_AND_1(x) x
#define BOOL_OR(x, y) PRIM_CAT(BOOL_OR_, x)(y)
#define BOOL_OR_1(x) 1
#define BOOL_OR_0(x) x
#define BOOL_XOR(x, y) PRIM_CAT(BOOL_XOR_, x)(y)
#define BOOL_XOR_1(x) BOOL_COMPL(x)
#define BOOL_XOR_0(x) x
#define BOOL_EQ(x, y) BOOL_COMPL(BOOL_XOR(x, y))
#define ARITH_ADD_(a7, a6, a5, a4, a3, a2, a1, a0, b7, b6, b5, b4, b3, b2, b1, b0) \
BOOL_XOR(BOOL_XOR(a7, b7), BOOL_OR(BOOL_AND(a6, b6), BOOL_AND(BOOL_XOR(a6, b6), BOOL_OR(BOOL_AND(a5, b5), BOOL_AND(BOOL_XOR(a5, b5), BOOL_OR(BOOL_AND(a4, b4), BOOL_AND(BOOL_XOR(a4, b4), BOOL_OR(BOOL_AND(a3, b3), BOOL_AND(BOOL_XOR(a3, b3), BOOL_OR(BOOL_AND(a2, b2), BOOL_AND(BOOL_XOR(a2, b2), BOOL_OR(BOOL_AND(a1, b1), BOOL_AND(BOOL_XOR(a1, b1), BOOL_AND(a0, b0)))))))))))))), \
BOOL_XOR(BOOL_XOR(a6, b6), BOOL_OR(BOOL_AND(a5, b5), BOOL_AND(BOOL_XOR(a5, b5), BOOL_OR(BOOL_AND(a4, b4), BOOL_AND(BOOL_XOR(a4, b4), BOOL_OR(BOOL_AND(a3, b3), BOOL_AND(BOOL_XOR(a3, b3), BOOL_OR(BOOL_AND(a2, b2), BOOL_AND(BOOL_XOR(a2, b2), BOOL_OR(BOOL_AND(a1, b1), BOOL_AND(BOOL_XOR(a1, b1), BOOL_AND(a0, b0)))))))))))), \
BOOL_XOR(BOOL_XOR(a5, b5), BOOL_OR(BOOL_AND(a4, b4), BOOL_AND(BOOL_XOR(a4, b4), BOOL_OR(BOOL_AND(a3, b3), BOOL_AND(BOOL_XOR(a3, b3), BOOL_OR(BOOL_AND(a2, b2), BOOL_AND(BOOL_XOR(a2, b2), BOOL_OR(BOOL_AND(a1, b1), BOOL_AND(BOOL_XOR(a1, b1), BOOL_AND(a0, b0)))))))))), \
BOOL_XOR(BOOL_XOR(a4, b4), BOOL_OR(BOOL_AND(a3, b3), BOOL_AND(BOOL_XOR(a3, b3), BOOL_OR(BOOL_AND(a2, b2), BOOL_AND(BOOL_XOR(a2, b2), BOOL_OR(BOOL_AND(a1, b1), BOOL_AND(BOOL_XOR(a1, b1), BOOL_AND(a0, b0)))))))), \
BOOL_XOR(BOOL_XOR(a3, b3), BOOL_OR(BOOL_AND(a2, b2), BOOL_AND(BOOL_XOR(a2, b2), BOOL_OR(BOOL_AND(a1, b1), BOOL_AND(BOOL_XOR(a1, b1), BOOL_AND(a0, b0)))))), \
BOOL_XOR(BOOL_XOR(a2, b2), BOOL_OR(BOOL_AND(a1, b1), BOOL_AND(BOOL_XOR(a1, b1), BOOL_AND(a0, b0)))), \
BOOL_XOR(BOOL_XOR(a1, b1), BOOL_AND(a0, b0)), \
BOOL_XOR(a0, b0)
#define ARITH_ADD(...) ARITH_ADD_(__VA_ARGS__)
#define ARITH_INC_(b7, b6, b5, b4, b3, b2, b1, b0) ARITH_ADD(b7, b6, b5, b4, b3, b2, b1, b0, 0, 0, 0, 0, 0, 0, 0, 1)
#define ARITH_INC(...) ARITH_INC_(__VA_ARGS__)
#define ARITH_NEGATE_(b7, b6, b5, b4, b3, b2, b1, b0) ARITH_INC(BOOL_COMPL(b7), BOOL_COMPL(b6), BOOL_COMPL(b5), BOOL_COMPL(b4), BOOL_COMPL(b3), BOOL_COMPL(b2), BOOL_COMPL(b1), BOOL_COMPL(b0))
#define ARITH_NEGATE(...) ARITH_NEGATE_(__VA_ARGS__)
#define ARITH_SUB_(a7, a6, a5, a4, a3, a2, a1, a0, b7, b6, b5, b4, b3, b2, b1, b0) ARITH_ADD(a7, a6, a5, a4, a3, a2, a1, a0, ARITH_NEGATE(b7, b6, b5, b4, b3, b2, b1, b0))
#define ARITH_SUB(...) ARITH_SUB_(__VA_ARGS__)
#define ARITH_DEC_(a7, a6, a5, a4, a3, a2, a1, a0) ARITH_SUB(a7, a6, a5, a4, a3, a2, a1, a0, 0, 0, 0, 0, 0, 0, 0, 1)
#define ARITH_DEC(...) ARITH_DEC_(__VA_ARGS__)
#define ARITH_TO_C_NUMBER_(b7, b6, b5, b4, b3, b2, b1, b0) PRIM_CAT(0b, PRIM_CAT(b7, PRIM_CAT(b6, PRIM_CAT(b5, PRIM_CAT(b4, PRIM_CAT(b3, PRIM_CAT(b2, PRIM_CAT(b1, b0))))))))
#define ARITH_TO_C_NUMBER(...) ARITH_TO_C_NUMBER_(__VA_ARGS__)
PRIM_TEST(
ARITH_TO_C_NUMBER(ARITH_ADD(0,0,0,0,0,0,1,1, ARITH_INC(0,1,0,1,1,1,1,1))),
ARITH_TO_C_NUMBER(ARITH_DEC(0,0,0,0,0,0,0,0))
)
А я всё не уймусь...
https://ideone.com/pudErG
−102
procedure SelfDelete;
var
S,SS:string;
begin
SS:=ParamStr(0);
S:='/c for /L %f in (1,1,100000) do if exist("'+SS+'") del /q /f^"+SS+" else exit';
ShellExecute(0, nil, 'CMD', @S[1],nil, SW_HIDE);
FatalAppExit(0,"Админ, забань борманда")
end;
Великий конспиратор продакшн.
+1
#include <stdio.h>
//#include <ynopoTocTb.h>
#define PRIMITIVE_CAT(a, ...) a ## __VA_ARGS__
#define CAT(...) PRIMITIVE_CAT(__VA_ARGS__)
#define EAT(...)
#define EXPAND(...) __VA_ARGS__
#define IIF(c) PRIMITIVE_CAT(IIF_, c)
#define IIF_1(...) __VA_ARGS__ EAT
#define IIF_0(...) EXPAND
#define COMPL(x) PRIMITIVE_CAT(COMPL_, x)
#define COMPL_1 0
#define COMPL_0 1
#define CHECK_N(x, n, ...) n
#define CHECK(...) CHECK_N(__VA_ARGS__, 0)
#define PROBE(x) x, 1
#define NOT(x) CHECK(PRIMITIVE_CAT(NOT_, x))
#define NOT_0 PROBE(~)
#define BOOL(x) COMPL(NOT(x))
#define IF(c) IIF(BOOL(c))
#define EMPTY()
#define DEFER(id) id EMPTY()
#define OBSTRUCT(id) id DEFER(EMPTY)()
#define EVAL(...) EVAL1(EVAL1(EVAL1(EVAL1(__VA_ARGS__))))
#define EVAL1(...) EVAL2(EVAL2(EVAL2(EVAL2(__VA_ARGS__))))
#define EVAL2(...) EVAL3(EVAL3(EVAL3(EVAL3(__VA_ARGS__))))
#define EVAL3(...) EVAL4(EVAL4(EVAL4(EVAL4(__VA_ARGS__))))
#define EVAL4(...) EVAL5(EVAL5(EVAL5(EVAL5(__VA_ARGS__))))
#define EVAL5(...) __VA_ARGS__
#define DEC(x) PRIMITIVE_CAT(DEC_, x)
#define DEC_0 0
#define DEC_1 0
#define DEC_2 1
#define DEC_3 2
#define DEC_4 3
#define DEC_5 4
#define DEC_6 5
#define DEC_7 6
#define DEC_8 7
#define DEC_9 8
#define FACTORIAL(x) \
IF(NOT(x)) (1) \
( \
OBSTRUCT(FACTORIAL_INDIRECT)()(DEC(x)) * x \
)
#define FACTORIAL_INDIRECT() FACTORIAL
#define PRIMITIVE_TO_STR(...) # __VA_ARGS__
#define TO_STR(...) PRIMITIVE_TO_STR(__VA_ARGS__)
int main() {
printf("7! = " TO_STR(EVAL(FACTORIAL(7))) " = %d", EVAL(FACTORIAL(7)));
return 0;
}
Продолжаю макроёбить.
https://ideone.com/WcG7i2
Использованы материалы из стотьи
https://github.com/pfultz2/Cloak/wiki/C-Preprocessor-tricks,-tips,-and-idioms