Unable to load image

Rust: The wrong people are resigning

https://news.ycombinator.com/item?id=36106942

Context: Some black guy was going to be the first BIPOC to present a keynote at RustConf, but got downgraded to a regular talk because nerds were salty about some blog where he criticised Rust for some nerd shit. Obviously this was racism and not just autists being autists, because he's the only negro magical enough to care about Rust. Now there's a new wave of drama I can't be bothered to understand, go read it for yourself.

78
Jump in the discussion.

No email address required.

Why is it that Rust and only Rust is so peculiarly loudly internecine? You hear about the odd bit of drama from, like, Ruby or JavaScript server, but literally the only things I know about Rust are 1) sAfEr tHaN cPp and 2) step one to learning the language is hating everyone involved.

Someone post a full rundown of the history of wtf any of this shit is plz


Don't forget to turn off signatures in settings!

Jump in the discussion.

No email address required.

I don't know. Im a terrible programmer and never built anything non trivial in a real programming language.

But my take on Rust, is that its trying to apply bureaucracy to an already decent language. C isnt perfect and suffer from some historical quirks, but those things should be fixed.

What SHOULDNT be fixed imo is that programmers are kept safe from mistakes. Thats not something thats fixable. So the thesis of rust is missing the point entirely.

Man could frick up a brick.

Why are we trying to redesign the brick rather than educating people one how to use bricks? Theres nothing fundamentally wrong with the brick.

So the drama ensues because the problem thats trying to be solved is a human one and not a concrete one.

Whats the "best" way to stop me from sticking a match in my gas tank? There isnt one. And at the end of the day, if Im motivated, Ill get it in there. People somehow think that me having the ability to do that is a design fault, when really it's true freedom.

So people would rather have holy wars than fixing actual problems.

Jump in the discussion.

No email address required.

Humans are holy beings and computers are merely tools. Why wouldn’t I make my tool deal with mindless tasks and set my goals on higher purposes?


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

Name some quirks of C

Jump in the discussion.

No email address required.

Neighbor that is TOO easy:

  • strict aliasing for pointers

  • signed overflow is UB

  • implicit integer casts that can cause UB

  • function definitions need a prototype if you want to use them before definition

  • null-terminated strings

  • whole standard lib is shit (both the api and the impls)

  • not portable at all

  • msvc only works for C98

  • anonymous structs types are not reflexive

  • variable length arrays

  • macro expansions doesn't allow for recursion

  • when using variadic functions, there is no indication of the amount of arguments

  • printf is a turing-complete interpreter (should be resolved and checked at comp-time)

I could go on forever but this is just of the top of my head.

Jump in the discussion.

No email address required.

  • can disable with compiler flag

  • same

  • can turn this into a error

  • obv.

  • its v. elegant though. Also see below

  • so use a non standard lib

  • false

  • false

  • can disable

  • thank god

  • next you'll be complaining about manual memory management :marseyeyeroll:

  • compiler will warn

That's like one genuine issue on the list

Jump in the discussion.

No email address required.

  • disabling strict aliasing kills basically any optimization; my problem is that restrict vs no restrict is too coarse grained for aliasing. I imagine being able to specify when variables/types can alias each other

  • agreed, non-standard

  • agreed, same criticism you need to make sure the compiler on every platform your shipping to supports these strags

  • I assume you mean this is an obvious deficiency. User experience should not be degraded so heavily for a marginal decrease in the complexity of implementing a compiler

  • if I cared about elegance, I would write haskell. Luckily we seem to be in agreement

  • only use libs to use mac and windows syscalls without future breakage

  • trying compiling a WIN32 program on mac and get back to me

  • they've announced it; I am doubtful they have implemented the full standard yet

  • can't assign a struct { field: int } x; to a struct { field: int } y

  • yeah thank god, people don't abuse macros without this feature, yes nobody writes 10 macros each of which eval a bit deeper to simulate recursion

  • pushing an extra int on a stack with the length is negligible. If your okay with using varargs and taking the performance hit of registers vs stack arguments presumably you are also okay with this

  • that's not the problem. The problem is that my fricking print function is a runtime interpreter for a shitty DSL

Jump in the discussion.

No email address required.

Mommy is soooo proud of you, sweaty. Let's put this sperg out up on the fridge with all your other failures.

Jump in the discussion.

No email address required.

>imagine being able to specify when variables/types can alias

good news

trying compiling a WIN32 program on mac and get back to me

Does mingw not work on mac?

>I assume you mean this is an obvious deficiency. User experience should not be degraded so heavily for a marginal decrease in the complexity of implementing a

Separating your interface from your implementation is a useful thing to do imo. You can always generate headers from source files if its such a big deal

>if I cared about elegance, I would write haskell.

Not close enough to the machine to be truly beautiful

>they've announced it; I am doubtful they have implemented the full standard yet

:marseyshrug: so use gcc

>yes nobody writes 10 macros each of which eval a bit deeper to simulate recursion

c punishes misuses with ugly code

>pushing an extra int on a stack with the length is negligible. If your okay with using varargs and taking the performance hit of registers vs stack arguments presumably you are also okay with this

Vaargs only hit the stack when they run out of registers. That's the whole point.

>that's not the problem. The problem is that my fricking print function is a runtime interpreter for a shitty DSL

yet every other language has invented a variation on printf. including sepples.

Jump in the discussion.

No email address required.

I'm too bored to keep going, but I tested the stdargs thing and it seems you were right, but the compiler can't inline varg functions. https://godbolt.org/z/cTo4e8vK7 My previous impression was that a void* was passed and then va_arg decremented it by sizeof(type).

Jump in the discussion.

No email address required.

There is also a weird behaviour when you are using macros to define names. I don't remember the exact comportment but I remember going : "uh"

Jump in the discussion.

No email address required.

Shut up, nerd.

Jump in the discussion.

No email address required.

Kinda weird that case statements can go anywhere: https://www.onlinegdb.com/0m0gNUibf

Jump in the discussion.

No email address required.

Only if you've never used labels and goto in C.

Jump in the discussion.

No email address required.

Do you think any of the zoomers on here have ever programmed in C? It’s definitely weird for them.

Jump in the discussion.

No email address required.

I am a zoomer and exclusively program at C when not at work. Take your bigotry elsewhere.

Jump in the discussion.

No email address required.

:marseyxdoubt#:

Jump in the discussion.

No email address required.

Pointer :marseycursor: types are semi obfuscated, you can't directly use them as a type (IE: It's maam "void * one, * two" not "void* one, two"

Text based :marseytrumpitsoverwereback: macros are cringe :marseyneat: and slow

The standard library is crap (although not as horrible as C++'s)

There's some more but that's the best off of the top of my head. There's also a whole mess involving linkers, including libraries and build :marseyyarn: systems but I feel that it's all a bit out of scope. Same with all the compiler specific crap like specifying function calling conventions and dealing with interrupts.

I love C but I wish there :marseycheerup: was a proper successor. Zig constantly gets in your way and it's no fun to program :marseycapyhacker: in.

Jump in the discussion.

No email address required.

all of the non-prefix type syntax like this, arrays having the [] after the name, everything related to function pointers etc. is really stupid. It should be strictly [type name] [variable name].

Jump in the discussion.

No email address required.

C U P

Jump in the discussion.

No email address required.

Rust let’s you make errors w/ memory allocation it just defaults to protection. If you do work on a large code base you can easily see the value.

Jump in the discussion.

No email address required.

If you can turn it off then what's the point

Jump in the discussion.

No email address required.

It's like working with typescript. It can ignore typing by specifying an any type, but type safety is still useful even if it can be disabled.

In rust everything that isn't memory safe is in an unsafe block. All the code not in an unsafe block is protected from buffer overflow and other memory errors by the borrow checker. This makes the code way easier to secure than in C and C++.

Jump in the discussion.

No email address required.

New young programmers have a hard time finding jobs vs. the tech bubble so they invent a language that boomers don't know so they can have one up on them.

Happens every generation

Jump in the discussion.

No email address required.

It's a language entirely populated by young devs, since all the old blood is busy using cpp in industry. As such they're insane.

Jump in the discussion.

No email address required.

Never underestimate the zealotry of fresh converts.

Jump in the discussion.

No email address required.

Nah but Rust is special even within the category of "weird programming languages that people wank to". People get rabid about it. Haskell's in a similar situation in terms of not being mainstream and offering absurd safety guarantees but it doesn't attract anywhere near the same level of :marseytrain: fanaticism, and at worst makes arch users angry when pandoc is forced by the arch repository to include a GB of dynamic libraries. Rust has been the programming language of choice for drama for a while now.

Jump in the discussion.

No email address required.

:marseyautism: rust is based on the idea that it’s impossible for humans to figure anything out from context and that if only everyone follows the rules 100% that everything will be fine. Literal neurodivergence.

Jump in the discussion.

No email address required.

It's so fricking darning that the venn diagram of Rust programmers, autists, and nerdy guys clumsily LARPing as woman is basically a circle.

edit: Oh and furries too.

Jump in the discussion.

No email address required.

Long story short: :marseytrain:

Jump in the discussion.

No email address required.

Scala is a train-infested drama mine too, but it's not a mainstream language and there's no hype around it anymore.

Jump in the discussion.

No email address required.

I fricking hate scala

Jump in the discussion.

No email address required.

ScalahateTestRepositoryBuilderSchema

Jump in the discussion.

No email address required.

What do you think :marseyhyperthonk: of Kotlin?


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

It's nice, lots of good ergonomics. I don't know if it'll gain traction cause a lot of those nice things are being added to java now so I feel like it's losing a bit of the edge it has over it

Jump in the discussion.

No email address required.

I feel like Java will always be Java 8 from now on.


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

That's how I felt about 6. Compared to those days new shits being added to java at light speed now

Jump in the discussion.

No email address required.

Are ppl bothering to use current versions though?


Follower of Christ :marseyandjesus: Tech lover, IT Admin, heckin pupper lover and occasionally troll. I hold back feelings or opinions, right or wrong because I dislike conflict.

Jump in the discussion.

No email address required.

A lot of teams where I work are keeping up pretty well. We have our own datacenter, but I assume a lot of the hosted services like AWS are also able to serve up the latest versions as well

Jump in the discussion.

No email address required.

More comments

I'm surprised :marseyspit: that all the java trains :marseydramautist: don't use kotlin but "java but functional" is prime :marseycertifiedangus: trainbrain.

Jump in the discussion.

No email address required.

Rust doesn't have any downsides at runtime when compared with any other language, so it attracts absolutists that enjoy being right more than arguing.

Jump in the discussion.

No email address required.

heck yeah brother :marseyboomer:

Jump in the discussion.

No email address required.

I keep saying this hoping someone will prove me wrong :marseygiveup:

I don't want to learn rust but I'd need so much convincing to pick up C proficiency.

Jump in the discussion.

No email address required.

Lol that's exactly why Rust is the only non GC language I've decided to commit to getting good at. I'm not neurodivergent enough in the right way to learn & write production C/C++ without it being exploited by a 15 year old Belarussian within a week.

But yea it's def limiting career-wise since lots of senior research positions require C++ :marseysad:

Jump in the discussion.

No email address required.

If you use only smart pointers, C++ essentially becomes a GC language

Jump in the discussion.

No email address required.

can't resist posting :marseycomplain: a crab here

:#marseyravegigaspeed:

Jump in the discussion.

No email address required.

There’s no gopher marsey?

Jump in the discussion.

No email address required.

>Rust

>Black

:marseyconfused: Look at twitter :marseybluecheck: & blog

>train

>furry

>weed

:marseythumbsup: That checks out

Still a pretty :marseyglam: rare find tho :marseyclapping:


https://i.rdrama.net/images/17092367509484937.webp https://i.rdrama.net/images/17093267613293715.webp https://i.rdrama.net/images/1711210096745272.webp

Jump in the discussion.

No email address required.

Wait. He's a train?

I nooticed all the furry :marseyratso: stuff and train :marseyaaatranslaser: mannerisms on his blog but it was never :marseyitsover: flagrantly apparent in his whiny posts.

Jump in the discussion.

No email address required.

https://i.rdrama.net/images/16853132358232582.webp

IDK man, this seems pretty :marseyglam: train-coded, so I just assumed (also because it's Rust).


https://i.rdrama.net/images/17092367509484937.webp https://i.rdrama.net/images/17093267613293715.webp https://i.rdrama.net/images/1711210096745272.webp

Jump in the discussion.

No email address required.

Hmm. Transitioning away from his neurodivergant sheep :marseybootlicker: avatar.

Jump in the discussion.

No email address required.

This is such quintessentially Rust drama: so much bureaucracy to do something simple. This is the problem with communities without a BDFL.

Jump in the discussion.

No email address required.

real programming languages cause drama through buffer overflows or allowing completely obfuscated code to execute


Read what I wrote above. Now picture in your head that I put a /s at the end. Good job sweaty! :marseygigaretard:

Jump in the discussion.

No email address required.

All the oldschool :marseyascii2: email worms were written in assembly.

Ergo, it's the most dramatic language.

Jump in the discussion.

No email address required.

How is there so much :marseyautism: and :marseytrain2: drama around the handling of rust when half of the other posts are complaining how "muh big tech is taking over the governance?"

I feel like big generic companies will at least have the money to deal with the boring problems than the borderline mentally ill people that are attention starved

Jump in the discussion.

No email address required.

The borderline and not so borderline people are the ones who make languages great

:#!taddance:

Jump in the discussion.

No email address required.

Imagine choosing to program in Rust :marseyeggirl:

Jump in the discussion.

No email address required.

Rust is comfy though :marseyneet:

I guess in between my 'tism, my love of linux and rust it's already :marseyitsover::marseytransflag2:

Jump in the discussion.

No email address required.

I started learning rust a while ago

around the same time I also installed arch

:marseyveryworried#:

Jump in the discussion.

No email address required.

They're going :marseysal2: to be only programming :marseycodecel: language with a balanced gender :marseypassftm: ratio and have the worst s*x ratio.

Jump in the discussion.

No email address required.

Alright RuStAcIaNs, we got some real sad news here. Seems the community is racist. Yeah, I know, it sucks. We're going to be a little tight lipped until we know what's the right way to handle it but we promise you we will do better.

Jump in the discussion.

No email address required.

What propaganda? Where would they hear it? Because they hear the exact opposite from: every TV station, all of Hollywood, the entire education system from kindergarten to postgraduate, all large political parties in the Western world, every tech platform bar none, and any other established entity. Hearing the truth from shitposters on extremely fringe internet forums, in the face of full-spectrum brainwashing from birth, does in fact make one more of a free thinker.

Snapshots:

got downgraded to a regular talk:

this was racism:

Jump in the discussion.

No email address required.

Link copied to clipboard
Action successful!
Error, please refresh the page and try again.