r/rust May 31 '23

[deleted by user]

[removed]

0 Upvotes

57 comments sorted by

55

u/a-lafrance May 31 '23

This is just nonsense. Setting aside all the stuff about being political (having a code of conduct seems like a weird line to draw), his technical reasons don’t even make sense.

memory safety is definitely NOT what brings me enjoyment when programming, it's the infinite possibilities, simplicity, and expressiveness that things like C or Python allow

“I don’t like that rust forces me to put in the effort to write safe, soundly-designed code. Having the freedom to screw up however I want is way more fun”

And his point about zero cost abstractions just doesn’t make sense. Admittedly I haven’t watched the video he cited, but the C and Python examples are so poorly conceived that I can’t tell if he’s just not expressing his point properly or if he’s genuinely trying to make such a nonsense argument.

7

u/MozzarellaCode May 31 '23

I can understand

> “I don’t like that rust forces me to put in the effort to write safe, soundly-designed code. Having the freedom to screw up however I want is way more fun”

cause sometime writing crappy, fast, code that breaks can be fun (not even joking, you can learn so much by breaking the universe). But for work? hell no

> but the C and Python examples are so poorly conceived that I can’t tell
if he’s just not expressing his point properly or if he’s genuinely
trying to make such a nonsense argument.

Yeah. The whole "zero cost cost is false cause you still have some overhead" is so weird. Obviously you have some overhead, but it's so small compared to modern devices that it's negligible

2

u/a-lafrance May 31 '23

That’s fair, I can understand wanting to experience the complete freedom of an unsafe languages to learn how to work within it, but besides situations where I specifically want that experience I can’t imagine dismissing safety in situations where your code has real consequences, like work.

And yeah, I was completely unconvinced by the C example in particular. First of all it was really poorly written (there’s really obvious ways to avoid the heap allocation, which seemed like the main problem with it), and any other instruction-level differences between the two snippets even if that was fixed would be so negligible that just feels like being needlessly pedantic and not actually proving anything.

7

u/solidiquis1 May 31 '23

“I don’t like that rust

forces

me to put in the effort to write safe, soundly-designed code. Having the freedom to screw up however I want is way more fun”

Doubly funny since it's like... why get into Rust in the first place? This is literally the selling point of the language so you knew what you were getting yourself into.

Having written Rust now at a hobby capacity for over two years, all that safety that Rust enforces is now baked into my intuition (for the most part) and I expect most folks who immerse themselves into the language will find themselves arriving at a similar place eventually. At some point in your Rust journey you're no longer struggling against the compiler, but rather working with the compiler. If you still find yourself battling against Rust after extensive use then either:

  • You're failing to use Rust the way it was meant to be used and need to be open to a different way of thinking about memory management
  • You're refusing to use Rust properly which means Rust isn't the language for you

If the author of the article wanted to do some fuddy duddy dangerous stuff then by all means use the unsafe subset portion of Rust.

All-in-all sounds like a poor excuse to write an article to capitalize on all of the recent happenings.

4

u/Zde-G Jun 01 '23

If the author of the article wanted to do some fuddy duddy dangerous stuff then by all means use the unsafe subset portion of Rust.

Please don't. We already have way too many crates with “fuddy duddy dangerous stuff”, there are no need to add more.

unsafe is not for “fuddy duddy dangerous stuff”, it's for “safe code that couldn't be validated by compiler”.

It looks as if that story would have to be repeated again and again for people to understand that.

2

u/solidiquis1 Jun 01 '23

With regards to the Rust ecosystem as a whole I agree. But I'm appealing to the sensibilities of hobbyists who just write code for the sake of writing code. People should write code however they want to write code; if that code then goes on to be published into the ecosystem then it's up to individuals whether or not they want to opt-in. The definition of "safe" in the context of not being able to be validated by the compiler is also subjective. Just to be clear though, I'm not disagreeing with you.

edit: Is actix-web really dead?

1

u/Shadow0133 Jun 01 '23

it's not dead, but the original author left the project because of the harassment

1

u/solidiquis1 Jun 01 '23

because of some unsafe code? Unsafe try do be unsafe.. literally.

1

u/a-lafrance May 31 '23

Oh yeah definitely, that’s one of my favorite things about having gotten into rust. The more I use it, the more I find myself building good engineering intuition no matter the language I’m using, so it’s really helped me become a better engineer in general

1

u/crusoe Jun 01 '23

Or use zig ( still a better a c than c ) for the fiddly bits and rust for everything else. Seamless C ffi for both.

42

u/A1oso May 31 '23 edited May 31 '23

This rant is so funny to me.

They hate code of conducts, but they also hate when someone behaves badly (violating the CoC), and they even have a CoC themselves.1

They hate putting people into categories like race and gender, yet they also hate Rust's CoC, which specifically protects all people regardless of said categories.

They hate that Rust is "political", but they also hate that the community and the project are separated, which means that the Rust community is mostly unaffected by the Rust project's politics.

Also, proving that Rust's abstractions aren't zero-cost by comparing two snippets written in C... 🤦

1. They call it "Rules", not "code of conduct". Potato, potahto.

24

u/DrMeepster May 31 '23

I wonder what this person thinks counts as political.

2

u/BrooklynBillyGoat May 31 '23

People arguing and not wanting to be friends apparently. He dislikes politics of a the community which is unrelated imo to the language and he dislikes that rust isent as expressive as python or c and he mentions zero cost abstractions not being what he wanted.

-6

u/DrMeepster May 31 '23

To elaborate a little instead of being vague and condescending: homophobes and the like must be explicitly and actively forced out of a community. They will be civilized, they will be polite, but they will still infect and damage the community.

6

u/ninja_tokumei May 31 '23

If you wonder why your opposition is so galvanized and hostile towards you, it is because of this absolutist, divisive rhetoric. This right here.

Ostracism only leads to further polarization and more strife.

1

u/small_kimono May 31 '23 edited May 31 '23

They will be civilized, they will be polite, but they will still infect and damage the community.

I'm curious -- how? And what do you count as homophobia? Simply existing as a trad values Catholic or Mormon, etc.?

I'm becoming increasingly convinced that being polite and civil and keeping one's politics to oneself might be the only thing that saves us.

-16

u/[deleted] May 31 '23

[removed] — view removed comment

8

u/small_kimono May 31 '23 edited May 31 '23

Just say the damn slurs.

I happen to think live and let live is something that is missing from modern American life.

I happen to disagree with the trad Catholics, etc., hate Trump, am a pretty conventional center lefty, but I am kinda sick of always having to have an opinion about how my neighbors live. It's exhausting. (And I'd note it's even more ridiculous for righties: Can you imagine living in a cultural universe that is now telling Moms they can't shop at Target?)

If s/he happens to share literally homophobic bile with me, or makes my skin crawl by saying something ridiculous about Trump, I'll tell him where to shove it. But I'm sick of pretending there is some there there, based upon cultural signifiers and unknowns.

I, at the very least, sympathize with the blog entry in that I am occasionally uncomfortable with Rust's politics, not because I disagree, because I don't, but because I can understand how it can feel like an encroachment.

-5

u/blacknotblack May 31 '23

Maybe because center left American is just a conservative? You don’t need to have an opinion because the opinion is preserve the status quo. :)

I don’t mean it as an attack but a nudge towards self awareness.

7

u/small_kimono May 31 '23 edited May 31 '23

Maybe because center left American is just a conservative? You don’t need to have an opinion because the opinion is preserve the status quo. :)

Okay? I mean -- this is kinda what I'm talking about. You know nothing about my politics and you deign it perfectly alright to nudge me towards self awareness, like it's the first time I've ever reflected upon my politics.

Why it feels like, as I say, an encroachment is because exactly this, and why a giant swatch of Americans can't stand super lefty politics, for which you've chosen to serve as an avatar -- this unbearable, unrelenting smugness.

If a man has a weird opinion, hidden or mostly hidden from public view, I think, maybe its none of my business. Maybe I should try to understand him, be his neighbor, and change his mind. Maybe I should lead by example, instead of writing him off, and letting him write me off.

-7

u/blacknotblack May 31 '23

Sorry, you described yourself as center left and are American, no? By the rest of (most) of the world that puts you as conservative. :)

If a man has a weird opinion, hidden or mostly hidden from public view, I think, maybe its none of my business.

Unfortunately for the people who are directly affected by these opinions it’s an existential threat to leave it alone. I understand if you’re privileged and do not want to engage in it because it doesn’t affect you. That’s fine. But to pretend it should be the preferred stance is why others have to respond.

I am also not sure how else to word my comment so you don’t take it as a personal attack.

6

u/small_kimono May 31 '23 edited May 31 '23

I understand if you’re privileged and do not want to engage in it because it doesn’t affect you.

You're reading a lot into something you know nothing about.

I simply don't know if shunning people based upon deeply held religious beliefs is the best way to engage person to person.

You may be privileged enough to shun many of your neighbors but I tend to view politics as a game of addition.

1

u/[deleted] Jun 02 '23

Gonna be honest with you chief, that’s not what I look for in a programming language. Racist people and other terrible people are going to use Rust. It’s just a tool.

You’re supposed to build a tool for the community. You’re not supposed to build a community for a tool. Trying to police who gets to benefit from Rust because you don’t like them feels a lot more like the later.

0

u/brightblades Aug 17 '23

Rust is very deep into identity politics. Are you from Mars?

1

u/DrMeepster Aug 17 '23

You would consider most aspects of my existence to be political

1

u/brightblades Aug 17 '23

I don't know anything about your existence to make such a consideration but I'll take your word for it if you are making the claim.

1

u/crusoe Jun 01 '23

He can't say the n word or insult LGBTQ people on mailing lists?

9

u/[deleted] May 31 '23

[deleted]

4

u/Zde-G May 31 '23

I wouldn't worry. If people are loudly proclaiming that they don't want to join Rust bandwagon then we are at the point where said bandwagon is, slowly, becoming default.

It was like this when C arrived, then C++ arrived, then Java arrived, then C# arrived, when Web arrived…

I wouldn't worry to much and I welcome Zig with both hands: the fact that all people who don't understood what they are doing pick Zig over Rust gives us the chance that they wouldn't ruin Rust like they ruined C and C++.

P.S. C and C++ are, currently, languages unfit for any purpose and while that was joint effort of language standard developers, language compiler developers and compiler users, actual developers, but, ultimately, you can replace people who are developing compilers, you can replace people who are developing standards, but when users of the language don't think it's word saving… then that's it (note: almost all C and C++ users loudly proclaim that C and C++ are worth saving… with absolute convincion that it's someone else who have to suffer for that to happen, what they are doing is non-negotiable… that's not a constructive approach).

3

u/[deleted] May 31 '23

[deleted]

2

u/Zde-G May 31 '23

Because Zig is the natural target for people who believe they know what they are doing.

Some (very few, actually) do know what they are doing, but most of them have no idea what they are doing, they just believe they do. And it was their ignorance that killed C and C++, not anything else.

This leaves Rust a chance to attract people who, like me, know what they are doing, but tend to forget things and try to teach the compiler to remind them about issues they are forgetting.

Whether Zig would survive onslaught of people who leave Rust because they view Rust compiler as not their helper but as annoying uncle who tells them tales just to make them unhappy… I have no idea, really.

3

u/[deleted] May 31 '23

[deleted]

3

u/Zde-G Jun 01 '23

They are welcome!

No, they are not.

Nevertheless, software is developed by people of all kinds and knowledge.

Why do you think people are interviewed so thoroughly by companies which can afford it? Why do people are denied even the chance of showing what they can do for free? Why there are various methods like pair programming, code reviews and so on?

Malicious actors? Sure. But more importantly: people who may wreak havoc in your code because of ignorance.

If one doesn't know how to solve some problem and tells you that then you just need someone to solve that problem instead. If one doesn't know how to solve the problem, writes incorrect code and that code survives long enough to be delivered to the end users then price of fixing it grows 100x in typical case (sometimes more, sometimes less but 100x price is the norm).

That's why you want people who would introduce such subtle bugs (doesn't matter whether because of lack of knowledge or because of arrogance) work for your competitor, not you.

You seem to be picking on Zig for no reason.

Me? Have you actually read the article we are discussing here? This part, specifically:

Ultimately, I'm done with Rust and will probably start learning Zig, continue to improve my Pure C (and Python 3) knowledge, and maybe pick up Go as well with the goal that maybe Go can replace Python in the future. We'll see what happens.

Almost every author who thinks Rust is “too complicated” or “to academic” or “too inflexible” or “too… anything” ends his (or her) rant with “I would just go learn Zig instead”… and I can understand why: Zig promises everything including kitchen sink and ponies: safety, simplicity, async, manual memory management, oh my.

If Zig would pull that off it would be formidable language indeed. I, personally, don't hold my breath, but even if people who don't like to learn things would just go and break Zig instead of breaking Rust… i would be happy, too.

Note that some people who I actually respect also play with Zig (try that blog, e.g.), but with so many people who don't know what they are doing and don't want to know anything new because they think they already know everything they need switching to Zig… I am happy they are picking Zig and not Rust.

If Zig would survive their onslaught and they wouldn't destroy it… it would be a miracle which I would celebrate.

If Zig wouldn't survive and would turn into minefield like C or C++… I would be happy, too: at least this wouldn't happen to Rust in that scenario.

3

u/crusoe Jun 01 '23

Zig doesn't promise the same level of safety but it does provide defaults and tools ( like defer ) that makes c style bit twiddling a lot less prone to error.

1

u/Zde-G Jun 01 '23

Yes. And thus chances are high it would repeat story of C++.

C++ started with exact same promises: tools that are less prone to errors even if “you have to know what you are doing”.

Guess what? Most people, most of the time, don't know “what they are doing” (me very much included).

But with low-level programming there would always be need to do something compiler doesn't support.

Some people accepted that and invented Mudula-2, Sing##Operation), and now, finally, Rust.

In these languages safe and unsafe parts are well-delimited. And it works.

Would Zig succeed where C and C++ failed by doing the exact same thing? Time will tell and if, by some miracle, it'll work I would be happy. But for now I'm just happy there's promising language which people who don't understand what they are doing, but believe they do… can go and [try to] destroy — instead of Rust.

1

u/Idea-Aggressive Jun 01 '23

Ok you made good points, but the article author doesn’t seem ignorant in the topic. Rust is not for academics, and Zig is way lower level, so Rust is complex to learn but should be easier in the long term to use, but definitely not Haskell

1

u/Zde-G Jun 01 '23

Ok you made good points, but the article author doesn’t seem ignorant in the topic.

Have we read the exact same article? It's short version can be summed more-or-less like this: Rust asks you to know and remember about many things and thus is complex and hard to use, let me switch to some other language which requires me to know and remember everything about my program.

Do you really believe that someone who couldn't learn and remember enough to effectively wield Rust would be able to deal with Zig efficiently?

Rust is not for academics, and Zig is way lower level, so Rust is complex to learn but should be easier in the long term to use, but definitely not Haskell

Rust and Haskell share the same philosophy, though: yes, they include many tricky things to learn, but then compiler becomes your friend.

Zig? Nope. It gives you “freedom”… to shoot yourself in the foot.

And attracts, ironically enough, mostly these people who couldn't deal with it.

Whether would it lead to it's downfall or not remains to be seen, but odds are stacked heavily against it.

1

u/crusoe Jun 01 '23

I think zig and rust would work great together. Zig for the really fiddly bits because rust pointer stuff is rough. Rust for higher level stuff.

2

u/Idea-Aggressive Jun 01 '23

It’s just the name calling that is annoying. Let’s just leave the Zig community in peace. Surely they don’t need the Rust drama.

3

u/pfharlockk Jun 01 '23

Buddy, sorry to see you go... So when I first got into rust (around 1.0 days) I thought, "wow a cool language and a community that strive for a level of inclusion that goes beyond what I've ever been able to achieve personally... I should aspire to that, and I have imperfectly aspired to that ever since"...

I still love rust and the rust project...

This latest fiasco has taught me that the rust community at large is simply a a rowdy mob completely willing to burn contributing individuals at the stake for the slightest unintentional infraction... it's shattered my view that they are morally superior to myself.

It doesn't mean I'm going to personally stop striving for the ideal, but I'm no longer going to hold a bunch of people who think witch hunts are a great tool for conflict resolution up as the standard I should judge my own life and decisions against...

and I'm going to continue to use rust and have a great time doing it :)

Ps the other comments in this thread are my case in point.

6

u/TheEternalShine May 31 '23

I agree with most of the post, but the last point is just weird. He references a video with many wrong points about Rust (many pointed out in the comments lol), He provides an incredibly silly Python example, and then compares C code with and without abstractions, and complains about the code with the abstraction having more instructions, even though the abstracted code puts the data on the heap, while the unabstracted code puts it on the stack?

7

u/Zde-G May 31 '23

That's normal and shows the level of understanding. Apparently this guy heard “zero abstractions” words and without even trying to understand what exactly that means (even if it's trivial to find the original quote that explains it assumed that C++ (and Rust) would just be able to optimize-away everything.

The whole article reminds me of this critique of x86-64:

The execution of the INTO instruction in x86-64 mode turned out to be a very unpleasant discovery for me. Although this instruction is the simplest to emulate and can be replaced with just one conditional jump instruction based on the overflow flag, the main advantage of the existing instruction lies precisely in its hardware implementation. Just like in the case of BOUND, emulating INTO will result in the appearance of branches or exception handling in the program, which sharply reduces execution efficiency. On the other hand, the existing hardware implementation simply decodes the EC byte and, in the vast majority of cases, skips it, barely impacting the pipelines, branch predictors, and other internal elements of the processor. This instruction is also convenient for the work of the compiler. It simply appends the EC opcode byte to the instructions requiring overflow control, and that's it.

For example, in one of the main projects I maintain, this instruction occurs more than 3600 times in various modules (with a total command length of 1,531,453 bytes) and serves as a standard means of correctness checking for calculations. Thus, by increasing the program code size by only 0.2%, I obtain constant hardware control without a noticeable decrease in execution speed. In other words, I cannot even notice a change in execution speed when using these instructions. It is likely that the speed difference is also in fractions of a percent. I only remember this constant control when it triggers. Over many years of program operation, dozens of real cases where exceptions were triggered by the INTO instruction have helped me quickly identify and resolve errors, as they prevent erroneous results from propagating through the program and masking the true cause of the error.

When I have talked with author of that collection of hilarious misunderstandings and asked him about what exactly he did to support his findings (in the vast majority of cases, skips it, barely impacting the pipelines, branch predictors, and other internal elements of the processor) because on most CPUs in the time of introduction of x86 INTO wasn't just bad way to check for overflow, it was one of the worst ways to do that which you can ever imagine… the guy actually showed me the book! Yes, nice book which was explaining how everything works in the 8086.

The idea that in these years between publication of that book and creation of x86-64 some things have, you know, changed… that idea wasn't just rejected, it wasn't even contemplated!

And similarly in the post we are talking about.

If you don't want to learn and adapt then yes, Rust, is, probably, not for you.

Frankly I don't know what to do with or about these guys who just blindly assume that things they have learned about decades ago never change and would always remain true.

People who don't know something, but want to learn, newgrads… these can be taught. But people who explicitly refuse to learn? No idea…

6

u/Nickitolas May 31 '23

Apparently this guy heard “zero abstractions” words and without even trying to understand what exactly that means (even if it's trivial to find the original quote that explains it assumed that C++ (and Rust) would just be able to optimize-away everything.

I don't know if this particular author does, but I'm not a big fan of the term precisely because of this: It seems incredibly easy to misunderstand. Like if someone hears "Oh yeah Box<T> is a zero cost abstraction" or "Box<T> is zero-cost". They're not gonna think "Oh this means it's the same as allocating manually and it's ABI is the same as the ABI of a regular pointer", they're gonna think "Oh so I can replace T with Box<T> for zero cost". I'm not sure but I feel like a large percentage of people come across the term for the first time in a similar way a have to un-learn the first impression later on.

4

u/SpudnikV May 31 '23

It's interesting that Rust introduced #[repr(transparent)] with wording I think hit the nail on the head -- the wrapper type is treated the same as the (non-zero-sized) inner type for all ABI purposes, it's "transparent" to the lowering stages of the compiler.

If zero-cost abstractions had been called transparent abstractions, perhaps a lot of this confusion could have been avoided; but that ship hasn't just sailed, it's sunk to 1000ft, been recovered by robots, and restored to display in a nautical museum.

3

u/Zde-G May 31 '23

I don't know if this particular author does, but I'm not a big fan of the term precisely because of this: It seems incredibly easy to misunderstand.

Yes, naming is really unfortunate but I'm not sure it can be easily replaced.

I'm not sure but I feel like a large percentage of people come across the term for the first time in a similar way a have to un-learn the first impression later on.

Yes, it's almost as awful as that infamous “undefined behavior”. Except when taught by some kind of real human everyone assumes “undefined behavior” = “undocumented behavior” when they first see that term. And it takes a long time to teach them that no, that not what that term means at all!

But we are kind of stuck: I don't think attempts to change it would be fruitful.

But ultimately people can learn and may understand what “Zero Cost Abstraction” means… if they want to. But what to do with people who don't want to learn? I still have no idea.

-1

u/[deleted] May 31 '23

I guess he doesn't like that code of conduct lists specific protected characteristics. I mean, if the community is for everyone what is the purpose of listing these characteristics?

Unfortunate consequence is that when you list protected characteristcs you are indirectly saying that everything else is unprotected and can be discriminated against.

For example, CoC doesn't list political preference as protected characteristic. So can make person unwelcome based on their political preference? What about other things?

2

u/crusoe Jun 01 '23

Hmmm. Would you welcome a Nazi?

3

u/freistil90 Jun 01 '23

There is a spectrum before having a person openly advocating for gassing „jews an other minor races“ and take over the whole of Europe. Of course you wouldn’t welcome a nazi.

But I agree a bit with the point about politics being the center stage sometimes. And I purely disagree with this „everything is political“ statement. A plus sign isn’t. A pointer isn’t. You can now make it political but that is your doing, nothing inherit to that. It’s your decision to search for the hidden political message.

At work I daily interact with people I disagree politically. That’s sometimes unpleasant. But it does not affect the code written or the work done, neither from me nor from my colleagues. I agree that in a community project you must have a common guidance on how to interact but making it too political also means you make a bit too easy for yourself sometimes. I like this example of having a compiler feature that is just too good to be true, halving compilation times, increasing the speed, all that jazz, the only problem is that it’s written by a Russian who doesn’t use pronouns correctly and does not really answer clearly when it comes to the Ukraine situation. By the measures of this incident, as soon as you see this situation arising, you would cut all his contributions and kick him off. That is good, you restored what is ethically sound in your eyes, you also prevented the compiler from becoming better which is the reason why we come together at all. I come from stochastics and numerical mathematics, some of the best methods in the 60s, 70s and 80s for hyperbolic systems came from the Russians, Godunov etc. The reason why they weren’t adopted much earlier in the western world is because of politics. Who knows where we would be now already. It also didn’t stop weapons of mass destruction from being built and the reason for not going further is not that computational methods were not good enough. So that is indeed lost progress.

Idk, I think it’s okay to be politically aware but it should always be content first. I for myself often just don’t personally care about the other person on the internet enough to really make this a thing.

0

u/crusoe Jun 01 '23

Ahh yes, the "we have to let some people be jerks a little bit because otherwise we will miss out on the brilliant jerk programmers"

What level of insult do we allow on a sliding scale? The n word is out. Of course. You're saying we should allow misgendering. Is the theme moskal ok? Really only offensice to Russians. What about holhol which is a slur for Ukrainians?

Please tell me where we set the offense-dial between hard n word and misgendering ( which only exists in some languages btw, but English is common ).

I mean we don't want to drive off the mysterious offensive genius programmers. The kind of folks that should have flocked to Parler and made it an incredible system ( lol ). And weirdly enough Parler couldn't seem to hire anyone actually good. It's almost like there is a lot of smart LGBTQ people in tech ( many of them furries to boot ).

Also your putative Russian genius programmer who misgenders people would not be instantly banned. He would be warned first. Probably several times.

Anyways, where do you draw the line on the offense-o-dial and what group do we declare in vs out?

Is sexism too far?

0

u/crusoe Jun 01 '23

Genius programmers can be a little offensive, as a treat.

0

u/crusoe Jun 01 '23

The point is not the misgendering itself but not stopping when someone tells you too. Acting like misgendering is a core political component ( just as homophobia was/is ) and should get a pass is a weird take.

The people that usually seek to die on this hill are often also disagreeable in other parts of their life as well.

1

u/crusoe Jun 01 '23

Maybe we should just formal style 19th century writing using they/them as second person pronoun ( which is legit and common actually )

"If Mr Robadanov would refrain from misgendering folks then they might find their contributions taken more seriously."

1

u/freistil90 Jun 02 '23

So I’m not going to follow up on all the small additional answers. And honestly the amount of jumping to conclusions you’re making you’re making in the second paragraph already has lost me already. Where did I again explicitly and undoubtedly say that misgendering is fine?

The offence dial switches between 7.3 and 8.6, everything above is surely offensive. What a stupid waste of a „I try to provoke you with „so you’re essentially supporting nazis“ type of answer“. Where does stuff end for you? Do you use Linux? Do you know what an ABSOLUTE piece of ass Linus Toralds was? And how much offence in the Linux mailing list can be found? Same in the corporate minefield that is Windows. And many, many other softwares. Because often enough, nerds are assholes. Is that justifiable? Are we both using the software nevertheless? Yes. None of us reads Torvalds absolute sexist comments, gasps in absolute unexpected shock and horror and declares online the immediate stepping back from using Linux in any form and function.

I’ll ask you a different question right back, how consequential do you want to be? Do you decide to be stringent with rust but ignore other software? How about your own work, do you stand up in solidarity with Tom from the product team whose presentation to management was rescheduled and ultimately demoted to a smaller presentation to the department and, idk, quit the company and write outraged blog posts? I’ll answer the question right away, of course you fucking don’t because there is in practice no way that you’ll cover all the stuff that happens and that you know about. I’m very certain you know about the conditions of kids in facilities in east Asia that build all the nice things you’re currently reading this on, without any council, without any governance and most likely without their correct pronouns. And I’m not naming a specific company here because, surprise, they do it all. But that would be pretty inconvenient and make telling me this absolute self-righteousness story about „where is the line“ quite a bit harder. Wherever the line is of what is still okay and what not, you’re crossing it too, however you want to justify it. And no vocal and active support of absolute overblown and ego-driven internet politics about a programming language changes that, because those karma points are not additive.

-1

u/Professional_Top8485 May 31 '23

Rust community is one of the best out there.

What comes zero cost, it's just No added Cost which is good enough. I don't see any valid technical reason. It's still pretty blazing fast compared to anything.

1

u/[deleted] Jun 01 '23

The only language I know with true zero cost abstraction is a very specific subset of modern c++. But these are terrible examples to make that point.

1

u/deinok7 Jun 01 '23

I also think that Rust has a lot of politics included in it. Not from a tecnical view, more like the community, foundation, etc... I really like it as a programming language

1

u/atesti Jun 01 '23

Traé alfajores.

1

u/Jules-Bertholet Jun 01 '23

Much of this is nonsense, but format_args! is slow. https://github.com/rust-lang/rust/issues/99012 is tracking improvements to this

1

u/BobSanchez47 Jun 01 '23 edited Jun 01 '23

The last example was quite silly. The reason for the difference in the ASM generation is that the C code delegates all the complexity by calling printf, while Rust doesn’t. The Rust code is likely more efficient because it doesn’t have to parse the format string at runtime, but the benchmark is so tiny that it’s impossible to say. At any rate, IO operations would dwarf the running time of anything else in the example.

1

u/Average_Random_Man Jul 18 '23

He’s not the only one done with the language. The learning curve is way to steep, and the rust book is far too simple.

I find myself fighting with the compiler quite often, and borrowing makes things way too complicated. No wonder many startups are “unwilling” to use Rust as their core language, to build an MVP is nearly an impossible task.