this post was submitted on 16 Sep 2023
570 points (93.8% liked)

Programmer Humor

19623 readers
2835 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] 86 points 1 year ago (4 children)

haskell: "you submitted your math work instead of an essay"

javascript: "this is awful, but at least i can read it anywhere i like"

lisp: "it is not grammatically correct to nest brackets so much"

lua: "your vocabulary is too limited and you have the writing skills of a child"

rust: "omg. your essay is fast, safe, and perfect in every way! A+"

css: "this is beautiful, but it doesnt say anything"

[–] [email protected] 82 points 1 year ago* (last edited 1 year ago) (3 children)

C#: did you just copy Java's essay and put your name on it?

COBOL: why it looks like it's from 16th century?

PHP: I did not ask for a spaghetti recipe

alternative Rust: it's great, but I asked for an essay, not "πŸ”₯ Blazingly fast rust-based EssayOS"

[–] [email protected] 18 points 1 year ago (3 children)
[–] [email protected] 10 points 1 year ago

Yes, I know. I'm a .NET dev myself, it's just a joke

[–] TheGiantKorean 2 points 1 year ago

Java developer here. Can confirm (from what I've read about C#, anyway).

[–] [email protected] 11 points 1 year ago* (last edited 1 year ago) (4 children)

Rust v3: "It's three hours and I'm still compiling dependencies"

EDIT: Also, "What does Option[Arc[Mutex[BTreeMap[String, Box[RefCell[Box[amp mut F>>>>>>> where F : Fn(T) -> U in your essay mean?" (srry, I didn't come up with a better obscure data type, it's probably gibberish)

EDIT2: Lemmy deletes 'less than' sign for some damn reason (time to build Lemmy at home?)

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

My friend partially explained how the build safety system worked for Rust and my first reaction was "holy shit the link stage must take a century".

"Yes."

load more comments (3 replies)
[–] [email protected] 1 points 1 year ago
[–] [email protected] 39 points 1 year ago (1 children)
[–] [email protected] 10 points 1 year ago (1 children)

what! how did you know??!?

[–] [email protected] 6 points 1 year ago (2 children)

Rust may be good and all, but I doubt it's magically always write good A+ code, I'm sure some developers will slap all their code inside unsafe as a shortcut.

[–] [email protected] 2 points 1 year ago

yeah i was mostly joking. rust will never catch up to javascripts beauty

[–] [email protected] 2 points 1 year ago

Hey! Don't read my code!

(how else are you supposed to cast a lambda to a generic type parameter?)

[–] [email protected] 29 points 1 year ago

rust: "You just translated someone else's essay"

[–] [email protected] 7 points 1 year ago (1 children)

javascript: "this is awful, but at least i can read it anywhere i like"

There are only 3 engines capable of interpreting most of it.

[–] [email protected] 8 points 1 year ago

it can run on almost any browser, it can be bundled to run on desktop or mobile. i know wasm exists but javascript is still sadly an extremely versatile language, mostly due to its support on the web

[–] [email protected] 65 points 1 year ago (1 children)

Unity: handing me over the essay is going to cost you extra.

Typescript: is this a declaration of war?

[–] [email protected] 7 points 1 year ago

GDScript: This is plagiarism. You can't just write "extends essay2d."

[–] [email protected] 42 points 1 year ago (1 children)

Brainfuck: it's technically an essay, but who in their right mind would write it using only the first eight letters of the alphabet?

[–] [email protected] 3 points 1 year ago

++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++++.--..++++++.

[–] TheGiantKorean 36 points 1 year ago (2 children)

Perl: this essay is just one long run on sentence.

[–] [email protected] 14 points 1 year ago

He just kept talking in one long incredibly unbroken sentence moving from topic to topic so that no one had a chance to interrupt, it was really quite hypnotic.

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

With some very odd random punctuation. (I love Perl, but some of the built-in variables . . .)

[–] TheGiantKorean 1 points 1 year ago

Lol yes. Like... How is $_ intuitive?

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

C++: The project is now led by university research comitee optimizing essays/second and consists 1k lines of template hieroglyphs.

[–] [email protected] 22 points 1 year ago (1 children)

HTML:

Blink. Blink. Blink. Blnk.

[–] [email protected] 4 points 1 year ago

Blink engine

[–] MrClayman 17 points 1 year ago

LaTeX gang rise up

[–] [email protected] 9 points 1 year ago

Old but gold!!!

[–] [email protected] 7 points 1 year ago* (last edited 1 year ago)

If you're struggling to read Ruby, you probably aren't going to read any of the other languages on this list. That's the real humor! πŸ˜‚

[–] slazer2au 7 points 1 year ago

Rockstar: this would make one hell of a banger.

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (3 children)

Unpopular opinion: Ruby is too widely used, because it's the least performant language.

Sometimes even for stuff, where performance matters (Asciidoctor).

[–] [email protected] 9 points 1 year ago (2 children)

Ruby's popularity in the early 10s thanks to Ruby on Rails feels like it happened by accident. The language is hard to read and low performance, but Rails is completely automagic. But this is also the worst thing about rails. You create your app fast, but then maintaining it is expensive because you can't onboard new developers easily. Even if they're familiar with rails' automagicisms, it will take them quite some time to parse what the hell the code is doing.

Meanwhile I seem to recall Ruby's creator finding the situation of his language being popular because he'd created it as an experiment and never thought it would be used in production grade environments

[–] [email protected] 9 points 1 year ago (1 children)

"ruby is hard to read" is a really strange take...

[–] [email protected] 1 points 1 year ago

Yeah there’s multiple people in here saying that and it seems like maybe they’ve never actually written Ruby. I don’t think Ruby is a good language for writing business apps in, but it’s incredibly easy to read. Way easier than pretty much every single language out there.

Now if you start including shit like rails, sure. But that’s not Ruby. That a framework and just like Spring or Django or Boost or whatever, it has its own semantics and can be incredibly difficult to read. That has nothing to do with the language though.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

language is hard to read

for item in array do
  puts item[:name]
end

Whew, iterating and working with data in Ruby is so hard. How does anyone read this stuff.

low performance

Ruby is a syntax-sugar-loaded C-wrapper, just like Python and countless other languages that don't compile straight to machine code. If anything other than C and Rust are slow to you, then sure, maybe Ruby isn't a good fit for your project (but Crystal might be).

create your app fast

Damn right, I'm two or three times as productive as I ever was in C#/Razor, Java/Spring or kludging through the countless JS boilerplate-heavy web frameworks.

but then maintaining it is expensive

As with any app that grows into something successful and widely used, technical complexity becomes exponential. I've found once web applications grow to a certain number of models and controllers, the relationships between them start to grow exponentially as well. This means one small change can ripple throughout your application and have unintended consequences where you least expect.

This is not even remotely a unique problem to Ruby. It's happened across every project I've seen that grows beyond 30 models and a couple of dozen controllers, regardless of language. This is why unit testing is so important.

But, specifically you mentioned you can't "onboard new developers easily". I don't see how. I've taken two CS grads straight out of college and had them adding features with tests within a couple of days on Ruby projects. Ruby was designed to be most friendly to humans, not the compiler. If Rails is what is tripping you up, imagine trying to learn a new web framework on top of an even more complicated language than Ruby. I just don't see this argument at all, from my experiences.

Ruby’s creator finding the situation of his language being popular because he’d created it as an experiment

Pretty sure most any language that was created by an individual and not by BigCorpβ„’ is a feat in and of itself. This speaks more widely to a language's capabilities and value if it can reach popularity without corporate backing. This argument seems to imply that because of it's origin, it will always be some kind of experimental toy that was never intended for wide-use.

Meanwhile, Linus Torvalds:

I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

Things have to start somewhere, I guess?

I kindly ask you to be more constructive in your criticism of Ruby. It's a great, powerful language with a low barrier to entry. There's no reason to spread FUD about it.

[–] [email protected] 5 points 1 year ago (1 children)
for item in array do
  puts item[:name]
end

What's with the weird syntax, isn't idiomatic ruby

array.each do |item|
  puts item[:name]
end

(or the shorthand version)?

[–] [email protected] -1 points 1 year ago* (last edited 1 year ago) (1 children)

First time I’ve ever heard someone call a for loop β€œweirdβ€œ. They’ve been around for 50 years πŸ˜‚

The whole point was on readability, not trying to make rubocop be quiet. Sure, .each is great, but I’m not sure about it being shorthand. What did you save? Like 3 characters? I find the for loop more readable unless I’m method chaining.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago) (1 children)

Not in ruby, the for loop was initially put there to make it friendly for people from other languages and is discouraged. It's just syntax sugar on top of each.

By shortand version I meant

array.each(&amp;:to_s)

(although in this case I'm not calling puts anymore)

edit: lemmy keeps putting the &amp; there, but you know what I mean

[–] [email protected] -1 points 1 year ago

Not in Ruby

It’s valid syntax, it’s part of Ruby. It’s easy to read and familiar across many languages. Write what you want to write, I’m not sure why you feel the need to finger wag.

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

It's as performant as python which is way more widely used.

[–] [email protected] -2 points 1 year ago (1 children)

No, there circulated a performance list a while ago. Python was in the lower third while Ruby was bottom.

[–] [email protected] 4 points 1 year ago

Which benchmark are you talking about? The most common I know of is the computer language benchmarks game, here's a nice implementation of it.. You can see ruby is actually a decent bit faster.

It's an annoyingly persistent myth that ruby is significantly slower than python.

[–] lars 3 points 1 year ago

Yeah I usually run my backend in Asciidoc too. The level of its performance might surprise you.

[–] Lime66 2 points 11 months ago* (last edited 11 months ago)

TS: "You can't just say 'any' and end the essay expecting I know what the fuck your talking about

[–] alokir 1 points 1 year ago

JavaScript: i know it was easy to write it like this but you should index your citations next time

Typescript: I meant properly, not on your scratch sheet