1305
))<>(( (mander.xyz)
you are viewing a single comment's thread
view the rest of the comments
[-] rockerface@lemm.ee 224 points 2 years ago* (last edited 2 years ago)

As a software developer, the less ambiguous your notation is, the better it is for everyone involved. Not only will I use brackets, I'll split my expression into multiple rows and use tabs to make it as readable as humanly possible. And maybe throw a comment or 2 if there's still some black magic involved

[-] Mikufan@ani.social 81 points 2 years ago

No just write the entire code in one line totally perfect.

[-] rockerface@lemm.ee 39 points 2 years ago
[-] Mikufan@ani.social 31 points 2 years ago

"don't worry, you just need this simple one-liner to fix your project"

[-] Morphit@feddit.uk 20 points 2 years ago

The one-liner: *parses HTML with a regex*

[-] Swedneck@discuss.tchncs.de 5 points 2 years ago

cthulhu fthagn

[-] zqwzzle@lemmy.ca 9 points 2 years ago

That almost seems cute next to the shit the obfuscated c contest pulls off. https://www.ioccc.org/years.html

[-] Bandicoot_Academic@lemmy.one 10 points 2 years ago

For some context this is one of the winning entries:

#include <stdio.h>

#define N(a) "%"#a"$hhn" #define O(a,b) "%10$"#a"d"N(b) #define U "%10$.*37$d" #define G(a) "%"#a"$s" #define H(a,b) G(a)G(b) #define T(a) a a #define s(a) T(a)T(a) #define A(a) s(a)T(a)a #define n(a) A(a)a #define D(a) n(a)A(a) #define C(a) D(a)a #define R C(C(N(12)G(12))) #define o(a,b,c) C(H(a,a))D(G(a))C(H(b,b)G(b))n(G(b))O(32,c)R #define SS O(78,55)R "\n\033[2J\n%26$s"; #define E(a,b,c,d) H(a,b)G(c)O(253,11)R G(11)O(255,11)R H(11,d)N(d)O(253,35)R #define S(a,b) O(254,11)H(a,b)N(68)R G(68)O(255,68)N(12)H(12,68)G(67)N(67)

char* fmt = O(10,39)N(40)N(41)N(42)N(43)N(66)N(69)N(24)O(22,65)O(5,70)O(8,44)N( 45)N(46)N (47)N(48)N( 49)N( 50)N( 51)N(52)N(53 )O( 28, 54)O(5, 55) O(2, 56)O(3,57)O( 4,58 )O(13, 73)O(4, 71 )N( 72)O (20,59 )N(60)N(61)N( 62)N (63)N (64)R R E(1,2, 3,13 )E(4, 5,6,13)E(7,8,9 ,13)E(1,4 ,7,13)E (2,5,8, 13)E( 3,6,9,13)E(1,5, 9,13)E(3 ,5,7,13 )E(14,15, 16,23) E(17,18,19,23)E( 20, 21, 22,23)E (14,17,20,23)E(15, 18,21,23)E(16,19, 22 ,23)E( 14, 18, 22,23)E(16,18,20, 23)R U O(255 ,38)R G ( 38)O( 255,36) R H(13,23)O(255, 11)R H(11,36) O(254 ,36) R G( 36 ) O( 255,36)R S(1,14 )S(2,15)S(3, 16)S(4, 17 )S (5, 18)S(6, 19)S(7,20)S(8, 21)S(9 ,22)H(13,23 )H(36, 67 )N(11)R G(11)""O(255, 25 )R s(C(G(11) ))n (G( 11) )G( 11)N(54)R C( "aa") s(A( G(25)))T (G(25))N (69)R o (14,1,26)o( 15, 2, 27)o (16,3,28 )o( 17,4, 29)o(18 ,5,30)o(19 ,6,31)o( 20,7,32)o (21,8,33)o (22 ,9, 34)n(C(U) )N( 68)R H( 36,13)G(23) N(11)R C(D( G(11))) D(G(11))G(68)N(68)R G(68)O(49,35)R H(13,23)G(67)N(11)R C(H(11,11)G( 11))A(G(11))C(H(36,36)G(36))s(G(36))O(32,58)R C(D(G(36)))A(G(36))SS

#define arg d+6,d+8,d+10,d+12,d+14,d+16,d+18,d+20,d+22,0,d+46,d+52,d+48,d+24,d
+26,d+28,d+30,d+32,d+34,d+36,d+38,d+40,d+50,(scanf(d+126,d+4),d+(6
-2)+18*(1-d[2]%2)+d[4]*2),d,d+66,d+68,d+70, d+78,d+80,d+82,d+90,d+
92,d+94,d+97,d+54,d[2],d+2,d+71,d+77,d+83,d+89,d+95,d+72,d+73,d+74
,d+75,d+76,d+84,d+85,d+86,d+87,d+88,d+100,d+101,d+96,d+102,d+99,d+
67,d+69,d+79,d+81,d+91,d+93,d+98,d+103,d+58,d+60,d+98,d+126,d+127,
d+128,d+129

char d[538] = {1,0,10,0,10};

int main() { while(*d) printf(fmt, arg); }

[-] FreshLight@sh.itjust.works 8 points 2 years ago

I tried to read that out loud and summoned something. Please help me, I'm scared.

[-] dejected_warp_core@lemmy.world 4 points 2 years ago

I thought this was a simple piece of software?

Pinhead: No. It is a means by which to summon us.

[-] MystikIncarnate@lemmy.ca 1 points 2 years ago

Give in. Let it take you.

Everything is okay. Shhhhhhh.

[-] Swedneck@discuss.tchncs.de 6 points 2 years ago

this straight up looks like a chemical formula

[-] blanketswithsmallpox@lemmy.world 3 points 2 years ago

If I cross my eyes hard enough on mobile... I imagine I can see dickbutt in there somewhere...

[-] dejected_warp_core@lemmy.world 5 points 2 years ago

Further up the thread, someone mentioned that writing good software is about communicating concepts to people, first and foremost.

This, code obfuscation, is what it looks like to communicate exclusively to the compiler instead.

[-] CommissarVulpin@lemmy.world 6 points 2 years ago
[-] Mic_Check_One_Two@reddthat.com 13 points 2 years ago* (last edited 2 years ago)

For real though, I have written some truly monstrous operations in Excel.

What do you mean you want to use Excel to manage everyone’s calendars? And now you want to export that horribly built calendar management spreadsheet to Google Calendar? What do you mean you want the Google Calendar entries automatically formatted based on who is working on a particular day? I mean yes it’s possible but-…

[-] CommissarVulpin@lemmy.world 2 points 2 years ago

VBA has made things so, so much easier since I started learning how to use it.

[-] MigratingApe@lemmy.dbzer0.com 3 points 2 years ago

Well, this is exactly what mathematicians do.

[-] dustyData@lemmy.world 65 points 2 years ago

As a professor said, most programming languages don't care about readability and whitespace. But we care because humans need it to parse meaning. Thus, write code for people, not for the machine. Always assume that someone with no knowledge of the context will have to debug it, and be kind to them. Because that someone might be you in six months when you have completely forgotten how the code works.

[-] zalgotext@sh.itjust.works 18 points 2 years ago

Exactly. You read code way more times than you write it, so it makes all the sense in the world to prioritize readability.

[-] Swedneck@discuss.tchncs.de 13 points 2 years ago

Source code is for humans, then the compiler turns it into code for machines.

[-] oce@jlai.lu 7 points 2 years ago

Python forcing end of line and tabs kinda does. Add Black auto-formatter and it's pretty good.

[-] frezik@midwest.social 1 points 2 years ago

I've seen too many Python devs write out complex statements all on one crammed up line. Including some that are in the main docs.

Enforced whitespace is just one aspect of readable code. There are many others, and Python is no better at enforcing those than any other language.

[-] oce@jlai.lu 2 points 2 years ago

That would probably make very long lines and black would automatically add returns to line with proper indentations. But it has a a limit for sure. If you chain many list comprehensions it's going to be a mess.

[-] rockerface@lemm.ee 6 points 2 years ago* (last edited 2 years ago)

Yep, if you're writing code for a machine, just do it in binary to save compilation time (/s just in case). Also, you in six months will indeed be someone with no knowledge of the context. And every piece of code you think you write for one-time use is guaranteed to be reused every day for the next 5 years

[-] Mic_Check_One_Two@reddthat.com 20 points 2 years ago

And every piece of code you think you write for one-time use is guaranteed to be reused every day for the next 5 years

[-] feinstruktur@lemmy.ml 5 points 2 years ago

This. Always be kind to your future self.

[-] snowsuit2654@lemmy.blahaj.zone 2 points 2 years ago

Yeah I totally agree. You can minimize and optimize as part of your build procedure/compilation but the source code should be as readable as possible for humans.

[-] Quetzalcutlass@lemmy.world 59 points 2 years ago

I had someone submit a pull request recently that, in addition to their actual changes, also removed every single parenthesis that wasn't strictly necessary in a file full of 3D math functions. I know it was probably the fault of an autoformatter they used, but I was still the most offended I've ever been at a pull request.

[-] rockerface@lemm.ee 29 points 2 years ago

Autoformatter? More like obfuscator

[-] neidu2@feddit.nl 1 points 2 years ago

As someone who used to code in Lisp, I'm all for excessive paranthesis use.

this post was submitted on 03 Apr 2024
1305 points (98.7% liked)

Science Memes

21043 readers
218 users here now

Welcome to c/science_memes @ Mander.xyz!

A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.



Rules

  1. Don't throw mud. Behave like an intellectual and remember the human.
  2. Keep it rooted (on topic).
  3. No spam.
  4. Infographics welcome, get schooled.


Research Committee

Other Mander Communities

Science and Research

Biology and Life Sciences

Physical Sciences

Humanities and Social Sciences

Practical and Applied Sciences

Memes

Miscellaneous

founded 3 years ago
MODERATORS