this post was submitted on 28 Jul 2024
1293 points (99.0% liked)

Programmer Humor

19147 readers
921 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 1 year ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 251 points 1 month ago* (last edited 1 month ago)

Mom, can we stop and get some Python?

No, we have Python at home.

Python at home....

[–] [email protected] 192 points 1 month ago* (last edited 1 month ago) (5 children)

What if I prefer this?

#define CURLYOPENRIGHTCLOSEDLEFTBRACKET {
#define CURLYOPENLEFTCLOSEDRIGHTBRACKET }
#define CURVYOPENRIGHTCLOSEDLEFTBRACKET (
#define CURVYOPENLEFTCLOSEDRIGHTBRACKET )
#define PERIODWITHPERIODONTOP :
#define COMMAWITHPERIODONTOP ;

int main CURVYOPENRIGHTCLOSEDLEFTBRACKET CURVYOPENLEFTCLOSEDRIGHTBRACKET CURLYOPENRIGHTCLOSEDLEFTBRACKET
  if CURVYOPENRIGHTCLOSEDLEFTBRACKET 1 CURVYOPENLEFTCLOSEDRIGHTBRACKET CURLYOPENRIGHTCLOSEDLEFTBRACKET
    asm volatile CURVYOPENRIGHTCLOSEDLEFTBRACKET
      "mov $1, %%rax\n"
      "mov $1, %%rdi\n"
      "lea message(%%rip), %%rsi\n"
      "mov $4, %%edx\n"
      "syscall\n"
      PERIODWITHPERIODONTOP
      PERIODWITHPERIODONTOP
      PERIODWITHPERIODONTOP "%rax", "%rdi", "%rsi", "%rdx"
    CURVYOPENLEFTCLOSEDRIGHTBRACKET COMMAWITHPERIODONTOP
  CURLYOPENLEFTCLOSEDRIGHTBRACKET
  return 0 COMMAWITHPERIODONTOP
CURLYOPENLEFTCLOSEDRIGHTBRACKET

asm CURVYOPENRIGHTCLOSEDLEFTBRACKET ".section .data\n"
  "message: .ascii \"wut\\n\"\n"
  ".section .text\n" CURVYOPENLEFTCLOSEDRIGHTBRACKET COMMAWITHPERIODONTOP
[–] [email protected] 49 points 1 month ago* (last edited 1 month ago) (1 children)

You win a free trip to the Hague

[–] [email protected] 18 points 1 month ago (2 children)

They don't even deserve the trial. Straight to gulag.

load more comments (2 replies)
[–] [email protected] 28 points 1 month ago (1 children)

Can this be done with emoji?

load more comments (1 replies)
[–] xmunk 20 points 1 month ago

Acceptable, just FYI I added a pre-commit git hook, please rebase your changes.

[–] [email protected] 18 points 1 month ago

Thanks. I hate it.

[–] [email protected] 94 points 1 month ago (5 children)

Idk why but i fell in love with this and might just use it now

[–] [email protected] 28 points 1 month ago
load more comments (4 replies)
[–] [email protected] 82 points 1 month ago* (last edited 1 month ago) (9 children)

Looks like Python, but in an editor with a weird TUI scrollbar

[–] [email protected] 84 points 1 month ago (2 children)

High chance that it's a Python programmer who is really unhappy about having to work in Java, lol

[–] [email protected] 16 points 1 month ago

Agreed. I saw this and thought it looked beautifully passive aggressive

load more comments (1 replies)
load more comments (8 replies)
[–] Fillicia 75 points 1 month ago (7 children)
[–] [email protected] 36 points 1 month ago

Literally me every time I want to program something slightly complex in Python.

[–] [email protected] 21 points 1 month ago (1 children)
[–] Fillicia 25 points 1 month ago (13 children)

YAML makes you appreciate Python's 4 spaces indentation.

load more comments (13 replies)
load more comments (5 replies)
[–] [email protected] 74 points 1 month ago (1 children)

Whitespace isn't semantically important. Ticket closed.

[–] [email protected] 22 points 1 month ago

That would be a very satisfying ticket closure

[–] [email protected] 73 points 1 month ago

Python with extra steps

[–] [email protected] 60 points 1 month ago (3 children)

Python programmer encountering a real programming language for the first time.

load more comments (3 replies)
[–] [email protected] 59 points 1 month ago* (last edited 1 month ago) (14 children)

Growing up with C made me assume semicolons and braces were needed to avoid subtle bugs, but experience with more recent languages showed me that it's possible to reliably parse the same semantic cues that humans use: indentation, parentheses, and other such context. (Perhaps this was less viable when C was invented, due to more constrained hardware.)

I was skeptical at first, but in practice, I have never encountered a bug caused by this approach in Python, Nim, or any other language implementing it consistently, over the course of a decade or two using them. Meanwhile, I have seen more than a few bugs caused by brace and semicolon mistakes.

So nowadays (outside of niche & domain-specific languages) I see braces and semicolons as little more than annoying noise and fuel for religious arguments.

[–] [email protected] 34 points 1 month ago (3 children)

In Java it’s quite difficult to forget semicolon and still have a syntactically correct program.

I think braces are incredibly important. With Python it can be confusing which indentation is correct when copying code between files. Different indentations can easily be still syntactically correct, but the outcome is vastly different. It’s often I have to double and triple check to verify I copied the code with correct indentation.

load more comments (3 replies)
load more comments (13 replies)
[–] [email protected] 55 points 1 month ago (1 children)
[–] [email protected] 46 points 1 month ago (1 children)

.... whitespace is whitespace.

load more comments (1 replies)
[–] [email protected] 44 points 1 month ago (1 children)

I low key love it. It's unconventional, but it's not hard to read

[–] [email protected] 28 points 1 month ago (2 children)

it's not hard to read

Until there's missing brace somewhere

load more comments (2 replies)
[–] [email protected] 44 points 1 month ago (4 children)

I was like, "where are the braces?". Then, I turned to the right

load more comments (4 replies)
[–] [email protected] 42 points 1 month ago* (last edited 1 month ago) (2 children)

This looks like a python programmer that is mad they have to write ~~C#~~ Java…

load more comments (2 replies)
[–] [email protected] 39 points 1 month ago (1 children)

This should be its own language. Pyava.

[–] [email protected] 30 points 1 month ago (1 children)

Or Jathon (pronounced like Mike Tyson would pronounce JSON)

[–] [email protected] 20 points 1 month ago

Or we can round out the confusion and call it PythonScript

[–] [email protected] 39 points 1 month ago* (last edited 1 month ago) (1 children)

My credo on this kind of thing is never do something that will make your successor so mad that they find out where you live and post parts of your body to Interpol.

load more comments (1 replies)
[–] [email protected] 38 points 1 month ago

I kinda like it, easy to see unbalanced braces

[–] [email protected] 37 points 1 month ago (6 children)

Last day at the company, pushed over 5,000 commits. Just style changes, still passes all the checks.

load more comments (6 replies)
[–] [email protected] 34 points 1 month ago (11 children)
load more comments (11 replies)
[–] [email protected] 34 points 1 month ago (1 children)
load more comments (1 replies)
[–] [email protected] 33 points 1 month ago

Pseudo-python

[–] [email protected] 23 points 1 month ago

That would be very cool to have in a code autoformatter

[–] [email protected] 23 points 1 month ago

bro what the fuck

[–] [email protected] 23 points 1 month ago

Honestly, looks neat, might adopt this

[–] [email protected] 20 points 1 month ago

Damn. That’s tidy to the point of inconvenience.

[–] [email protected] 17 points 1 month ago (1 children)

I'm not a coder, and.... Well... Thanks, I hate it.

Even I know this is horrific. Where the fuck does this statement end? Which of these brackets refer to this section of other brackets. Idfk.

I could give a shit less if it was just for a single block per or something but ";}}}" hurts me.

[–] [email protected] 16 points 1 month ago (1 children)

Well the code indentation explains that, like python. The issue is not reading it. You would rather quit your job than edit this.

load more comments (1 replies)
[–] [email protected] 15 points 1 month ago (2 children)

Auto formatter as part of the expected language tooling is Go's greatest move, even if their formatter doesn't go far enough.

load more comments (2 replies)
[–] [email protected] 14 points 1 month ago (1 children)

The braces need indentation, of course.

load more comments (1 replies)
[–] [email protected] 14 points 1 month ago* (last edited 1 month ago)

I’m more concerned about that poor stack with all those recursions.

It’s also ~~O(n^2)~~ O(n!). I’m not sure what they’re trying to do, but I’m sure it can be done in O(n) (or at least polynomial).

Reject.

load more comments
view more: next ›