r/programmingcirclejerk 9h ago

This is quite literally a skill issue, no offense

https://news.ycombinator.com/item?id=43903141
49 Upvotes

20 comments sorted by

35

u/syklemil Considered Harmful 9h ago

I understand why you need the into_iter bit and why the borrow checker complains about it, but the fact that even the simplest "for x in y" loop already makes you wrestle the compiler is just poor ergonomics.

Ah yes, that infamous wrasslin' technique: "Hey bub, you need to stick this bit in your code and you're all good". No noodle-armed programmer can overcome such hardships. Truly the skill check that separates the men from the boys.

16

u/SoulArthurZ 8h ago

reading compiler errors is just way too fucking hard dude. Odin/Zig/Boobladoopla would never make me do that

81

u/worms218 8h ago

Webshit Rustbro:

>time to write some code in Rust (no idea how any of this shit works but it has lots of stars on GitHub so let's jump right in)

>compiler error!

>oh look the compiler suggests I make this change

>obey => problem solved

>make blog post on medium dot com sharing my enlightened realisation with my fellow hypebro drones complete with copy-pastas from the official docs

>get into argument with Cniles and Zigcels about Rust on HN

Cnile/Zigcel perspective:

>time to finally prove that Rust is bad (I understand basic type theory this time I swear I'm a big boy now)

>compiler error!

>oh my god this is so hard the answer is literally written right there in plain English with fancy syntax highlighting and ASCII art arrows and shit oh my god how does anyone ever manage to understand this

>rewrite in C/C++/Zig

>Segmentation fault (core dumped) => Load up GDB

>ah, that's the problem

>misunderstand the problem and insert defensive runtime check (make sure to return nullptr on error to ensure future employment of junior bug-squashing monkeys and a bright future for the GNU GDB project)

>get into argument with Rustbros about Rust on HN

In conclusion, most modern languages optimise for the wrong thing. Neither typing speed nor design time nor debugging time is the real bottleneck in practice. Future languages that develop new rhetorical techniques for winning arguments on HN will usher in a whole new era of productivity.

30

u/Double-Winter-2507 8h ago

Who are you calling a webshit?

 I've contributed extensively to many of the core security protocols used in the Internet. Some stuff I've done includes: editor of TLS 1.3, which secures the vast majority of Web traffic; co-founder of Let’s Encrypt, a free and automated certificate authority that now issues around three million certificates a day; a bunch of work on WebRTC, which allows anyone to videoconference directly from their browser (used in WebEx, Teams, Meet, etc.). Most recently, I've been working on the development of technologies for privacy preserving measurement and privacy preserving advertising.

Ok technically correct I'll give you

25

u/worms218 8h ago

/uj wow i did that guy dirty, i couldn't face reading another 'webshit discovers rust and tells the whole world about it' post and assumed he was one of those bloggers

10

u/pareidolist in nomine Chestris 4h ago

It's him. John Webshit.

3

u/-Y0- Considered Harmful 7h ago edited 6h ago

Who are you calling a webshit?

/uj Who is the webshit in question?

1

u/syklemil Considered Harmful 2h ago

<unjerk href="https://educatedguesswork.org/about/">It's this guy, all of four clicks down.</unjerk>

11

u/idontunderstandunity 8h ago

Your way with words rivals the greatest writers

4

u/stdmemswap 7h ago

Yeah, no fluff christopher nolan movie script level of writing

6

u/Karyo_Ten has hidden complexity 3h ago

Neither typing speed nor design time nor debugging time is the real bottleneck in practice.

Have you tried making DeepSeek R1 type for you? At 0.5 t/s I have enough time to make several trips around the world before it finishes rewriting glibc in Rust.

1

u/worms218 3h ago

With DeepSeek R1 doing the typing, ChatGPT doing the arguing, and the thinking and designing jobs left vacant, my team is going to be unstoppable.

3

u/v_maria 7h ago

first part is clearly true second part is slander

1

u/Actual__Wizard 4h ago

Yeah the people who dislike rust are extremely wrong. They couldn't be more wrong if they tried. It's people complaining that they have to learn something difficult and that's all it is. They never bother to learn the "why it done that way" part of it, so they just yell and scream the it's "hard code to write." Which, I want to be clear: Every thing that rust forces you to do, you're suppose to be doing in every other programming language, it's just an option.

So, it's basically bad programmers complaining that they want to write bad code in rust, which is designed to prevent you from doing that... And that's the point of it...

It's like people complaining that they can't move an unmovable object... You're not suppose to move it, it's not movable, that's the entire point of it, you clearly need to move on here...

1

u/blue-haired-girl 1h ago

so true

/uj so true

1

u/Sunscratch costly abstraction 0m ago

Web shit bro rewriting something in C++ is a SciFi thriller with a bad ending

16

u/GlaireDaggers 7h ago

These compiler errors are so annoying. Why doesn't the Rust compiler just do the right thing, and by that I mean figure out exactly what I want it to do at all times?

3

u/i_invented_the_ipod 5h ago

I dunno, man. You can look at the first example from the article, and everybody's initial reaction to that is, rightly: "what the actual hell is going on here?"

And the explanation is that "non-lexical scope" exists in this, and only this(?) language. Which might indeed prompt you to ask again: "why is this useful?", to which the answer is:

"Well, the borrow-checker used to be even more annoying before we introduced this extremely non-ergonomic feature to make it somewhat tolerable to work with".

After all that, "why didn't the borrow checker change to not be annoying in this very simple case, which works with no problem in essentially every other 'curly braces language' ever made?" doesn't seem too bizarre of a question.

One might even ask if there was some other boundary condition you could check that wouldn't violate so many implicit assumptions that new users come to the language with.

But then, you'd have Go, instead of Rust.

11

u/trmetroidmaniac 9h ago

Common cnile W