1 point

Just draw whitespace…

permalink
report
reply
33 points

Let me introduce you to YAML, you’ll love it!

permalink
report
reply
14 points

Ugh, there’s some parts of YAML I love, but ultimately it’s a terrible format. It’s just too easy to confuse people. At least it has comments though. It’s so dumb that JSON doesn’t officially have comments. I’ve often parsed “JSON” as YAML entirely for comments, without using a single other YAML feature.

YAML also supports not quoting your strings. Seems great at first, but it gets weird of you want a string that looks like a different type. IIRC, there’s even a major version difference in the handling of this case! I can’t remember the details, but I once had a bug happen because of this.

Performance wise, both YAML and JSON suck. They’re fine for a config file that you just read on startup, but if you’re doing a ton of processing, it will quickly show the performance hit. Binary formats work far better (for a generic one, protobuffers has good tooling and library support while being blazing fast).

permalink
report
parent
reply
8 points

It’s so dumb that JSON doesn’t officially have comments.

So much this.

Used to work at a company where I sometimes had to manually edit the configuration of devices which were written and read in JSON. Super inconvenient if you have to document all changes externally. As a “hack” I would sometimes add extra objects to store strings (the comments). But that’s super dicey as you don’t know if it somehow breaks the parsing. You’re also not guaranteed the order of objects so if the configuration gets read, edited and rewritten your comment might no longer be above/below the change you made.

Always found it baffling that such a basic feature is missing from a spec that is supposed to cover a broad range of use cases.

permalink
report
parent
reply
5 points

json 5 does support comments. alternatively, yaml is a superset of json. any valid json is also valid yaml. but yaml also supports comments. So you can also write json with comments, and use a yaml parser on it, instead of a standard json parser

permalink
report
parent
reply
5 points

One of these days I’ll actually look up how YAML indentation works. Every time I use it it’s trial and error until I stop getting errors.

permalink
report
parent
reply
2 points

That’s a super risky way to do it. It might stop giving you errors because you finally got the indentation right, or it might stop giving you errors because you got the indentation “right” but not how you you meant to organize the objects.

permalink
report
parent
reply
3 points

I got my hair torn out till I setup my home assistant. I f*cking hate it its stupid

permalink
report
parent
reply
9 points

He could wrap a rubber band around the screen

permalink
report
reply
4 points

Spoken like a fellow professional Python programmer.

permalink
report
parent
reply
4 points

I started with Perl. This taught me a certain mindset that works well with Bash and Ruby. I’ve tried to learn Python several times and I just fucking hate it. I gave up when I realized that it just doesn’t work the way that my brain works.

I wonder if the outcome would have been different if I’d started with Python? How might that have shaped my thinking / reasoning? Fwiw, I was also ok with PHP and SQL, but I don’t know much or anything about the backgrounds on those foundations. Maybe my above statements were completely bullshit.

permalink
report
reply
11 points

I used to love Perl as it worked the way my brain worked.

Then I started taking medication for ADHD.

I haven’t used Perl since except for text parsing, it’s an absolute hot mess of a language (though very powerful and functional at the things it does well)

permalink
report
parent
reply
2 points

That’s super interesting.

I have a mental divergence that isn’t ADHD. I was reviewing stats on it that said people who have it are some percent more likely to have ADHD. I wonder if my previous enjoyment of Perl is because I’m on an ADHD spectrum. It would be interesting to find out.

permalink
report
parent
reply
3 points

I kind of started with Python, and I hate Perl. Relying so much on global variables like $_, @_, $1, $2 is just the worst idea ever. Oh you want to call a function? Better be safe and backup all global variables you’re using, because they will be overwritten! Want to use some regex in a function? Better ensure all callers have made backups of the $1, $2, $3 variables.

The end result is just large amounts of defensive boilerplate everywhere because things will break if you don’t.

There’s also no good way to tell which functions use $_ without looking up the docs or keeping everything in memory.

The only merit Perl got in my opinion is its regex support. Quite handy for bash one liners time from time.

permalink
report
parent
reply
12 points

And God forbid you use tabs in a document with spaces instead of tabs (or vice versa)

permalink
report
reply
3 points

:retab is your friend!

permalink
report
parent
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

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

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 5.3K

    Monthly active users

  • 1K

    Posts

  • 38K

    Comments