Assembly language and C, specifically with poorly written code...
Essentially what I do, is I find ways to write super ultra complicated stuff in the most obfuscated way possible.
Why do I do this? Because one of the challenges of my job is reverse engineering other people's code and so if I can reverse engineer my own code which I write specifically to be hard to understand, or I am able to understand ridiculous syntax like this:
*(S_TEST *)(*(S_TEST *)tester_node.next).next).name)
Or code like this:
push esi
mov esi, eax
mov eax, dword[ebx + 4*2]
mul esi
push edx
push eax
mov eax, dword[ebx + 4*0]
mul esi
push edx
push eax
mov eax, dword[ebx + 4*1]
mul esi
imul esi, dword[ebx + 4*3]
add dword[esp + 4*0], ecx
adc dword[esp + 4*1], eax
adc dword[esp + 4*2], edx
adc dword[esp + 4*3], esi
pop dword[ebx + 4*0]
pop dword[ebx + 4*1]
pop dword[ebx + 4*2]
pop dword[ebx + 4*3]
pop esi
ret
I also find this fun because it tests and deeply improves my own knowledge of the language. When I am asked to whiteboard something, there's not much to fear if I know all of the ways to express a pointer, all of the ascii alphabet ordinals by heart, how to dereference a pointer to a struct which contains an array of structs which have function pointers, etc... Basically my thought process is "if I can handle the hardest stuff, everything else will be easy."
This is not purely theoretical either. Check out this decompiled C code:
Hardly clean, "elegant" code... But I don't have the luxury to complain... I just get good at dealing with it rather than complaining about it:
LABEL_117:
v47 = v72;
v48 = *(_DWORD *)(v72 + 8);
if ( !(v48 & 1) || *(_QWORD *)(v6 + 32) != 1i64 )
goto LABEL_134;
v85 = 0i64;
if ( !v64 || !_bittest((const signed __int32 *)v64, 2u) )
{
if ( v48 & 4 )
{
v49 = *(_DWORD *)v72;
v50 = 517;
v51 = "<CREATE>[TRUNCATE] Volume opened specifying truncate (%p) {%p} [%wZ] (%08x)";
goto LABEL_122;
}
if ( v64 )
v52 = v64 + 8;
else
v52 = 0i64;
v73 = v52;
LODWORD(v62) = *(_DWORD *)v72;
v61 = v5;
v60 = v52;
sub_14000B0DC(3u, "<CREATE>[TRUNCATE] (%p) {%p} [%wZ] (%08x)", v10, 532, v9, v7);
LODWORD(v58) = 20;
v53 = FltSetInformationFile(v71, v7, &v85, 8i64);
v54 = v53;
v65 = v53;
if ( v53 >= 0 )
{
*(_QWORD *)(v6 + 32) = *(_DWORD *)v72 != 0 ? 3 : 0;
FltSetCallbackDataDirty(v6);
goto LABEL_133;
}
v60 = sub_14000B618(v53);
sub_14000B0DC(0, v11, v10, 537, v9, (unsigned __int64)"FltSetInformationFile");
This is why I laugh when I hear people whining about something like where a tab or a space is. I'm sorta being sarcastic here... Of course clean code is always better... But At the same time, my job involves dealing with nasty code and I have to be able to figure out what it's doing so practice does help a lot.