Most active commenters
  • pdimitar(17)
  • johnisgood(10)
  • chjj(7)
  • maccard(4)
  • ForTheKidz(3)
  • hyperbrainer(3)

←back to thread

Zlib-rs is faster than C

(trifectatech.org)
341 points dochtman | 90 comments | | HN request time: 3.53s | source | bottom
1. johnisgood ◴[] No.43381735[source]
"faster than C" almost always boils down to different designs, implementations, algorithms, etc.

Perhaps it is faster than already-existing implementations, sure, but not "faster than C", and it is odd to make such claims.

replies(10): >>43381810 #>>43381813 #>>43381820 #>>43381959 #>>43382108 #>>43382124 #>>43382267 #>>43385171 #>>43386202 #>>43392542 #
2. oneshtein ◴[] No.43381810[source]
... because by "C" we mean handwritten inline assembler.

Typical realworld C code uses \0 terminated strings and strlen() with O(len^2) complexity.

3. qweqwe14 ◴[] No.43381813[source]
The fact that it's faster than the C implementation that surely had more time and effort put into it doesn't look good for C here.
replies(3): >>43381819 #>>43382282 #>>43385271 #
4. johnisgood ◴[] No.43381819[source]
It says absolutely nothing about the programming language though.
replies(2): >>43382007 #>>43392496 #
5. xxs ◴[] No.43381820[source]
zlib-ng is pretty much assembly - with a bit of C. There is this quote: but was not entirely fair because our rust implementation could assume that certain SIMD capabilities would be available, while zlib-ng had to check for them at runtime

zlib-ng can be compiled to whatever target arch is necessary, and the original post doesn't mention how it was compiled and what architecture and so on.

It's another case not to trust micro benchmarks

6. tdiff ◴[] No.43381959[source]
Nevertheless Russinovich actually says something in the lines of "simple rewriting in rust made some our code 5-15% faster (without deliberate optimizations)": https://www.youtube.com/watch?v=1VgptLwP588&t=351s
replies(2): >>43382117 #>>43386236 #
7. acdha ◴[] No.43382007{3}[source]
Doesn’t it say something if Rust programmers routinely feel more comfortable making aggressive optimizations and have more time to do so? We maintain code for longer than the time taken to write the first version and not having to pay as much ongoing overhead cost is worth something.
8. kgeist ◴[] No.43382108[source]
I heard that aliasing in C prevents the compiler from optimizing aggressively. I can believe Rust's compiler can optimize more aggressively if there's no aliasing problem.
replies(1): >>43382303 #
9. pinkmuffinere ◴[] No.43382117[source]
I’m sure I’m missing context, and presumably there are other benefits, but 5-15% improvement is such a small step to justify rewriting codebases.

I also wonder how much of an improvement you’d get by just asking for a “simple rewrite” in the existing language. I suspect there are often performance improvements to be had with simple changes in the existing language

replies(5): >>43382207 #>>43382269 #>>43382320 #>>43383954 #>>43385793 #
10. ◴[] No.43382124[source]
11. tdiff ◴[] No.43382207{3}[source]
I agree that simple rewriting could have given some if not all perf benefits, but can it be the case that rust forces us to structure code in a way that is for some reason more performant in some cases?

5-15% is a big deal for a low-level foundational code, especially if you get it along with some other guarantees, which may be of greater importance.

12. layer8 ◴[] No.43382267[source]
If anything, this should be “zlib-rs is faster than zlib-ng”, but not “$library is faster than $programming_language”.
replies(1): >>43382768 #
13. turtletontine ◴[] No.43382269{3}[source]
Far better justification for a rewrite like this is if it eases maintenance, or simplifies building/testing/distribution. Taking an experienced and committed team of C developers with a mature code base, and retraining them to rewrite their project in Rust for its own sake is pretty absurd. But if you have a team that’s more comfortable in Rust, then doing so could make a lot of sense - and, yes, make it easier to ensure the product is secure and memory-safe.
replies(2): >>43382335 #>>43386853 #
14. vkou ◴[] No.43382282[source]
I think you'll find that if you re-write an application, feature-for-feature, without changing its language, the re-written version will be faster.
replies(1): >>43383356 #
15. layer8 ◴[] No.43382303[source]
C has the restrict type qualifier to express non-aliasing, hence it shouldn’t be a fundamental impediment.
replies(2): >>43383302 #>>43383607 #
16. sedatk ◴[] No.43382320{3}[source]
> 5-15% improvement is such a small step to justify rewriting codebases

They hadn't expected any perf improvements at all. Quite the opposite, in fact. They were surprised that they saw perf improvements right away.

17. johnisgood ◴[] No.43382335{4}[source]
> if you have a team that’s more comfortable in

As is the case with any languages, of course, it is not in favor (nor against) Rust.

18. gf000 ◴[] No.43383302{3}[source]
Which is so underused that the whole compiler feature was buggy as hell, and was only recently fixed because compiling Rust where it is the norm exposed it.
replies(2): >>43383713 #>>43384393 #
19. renewiltord ◴[] No.43383356{3}[source]
This is known as the Second System Effect: where Great Rewrites always succeed in making a more performant thing.
replies(1): >>43386989 #
20. anon-3988 ◴[] No.43383607{3}[source]
> fundamental impediment

This is an interesting word. I wonder why no one has written high performance library code in assembly yet at this point?

replies(2): >>43385867 #>>43388117 #
21. vacuity ◴[] No.43383713{4}[source]
My understanding is that noalias isn't fully utilized by LLVM, just that it's less buggy now, so there's some uncertainty leaning in favor of Rust in terms of future Rust-specific optimizations. Certainly a language like Fortran, with its restrictions, delivers accordingly on optimization, so I imagine Rust has plenty of room to grow similarly.
22. pdimitar ◴[] No.43383954{3}[source]
Even 5% on a hot path are quite the big gains, actually.

Furthermore, they said that they did not expect any performance gains. They did the rewrite for other reasons and got the unexpected bonus of extra performance.

23. pdimitar ◴[] No.43383969{3}[source]
I am hopping on Rust threads on HN very regularly and I have to tell you my anecdotal experience.

Which is: people complaining about Rust zealots are much more than actual Rust zealots. Thinking of it, I haven't seen a proper Rust zealot on HN for at least a year at this point.

So I don't know, maybe do less cheap digs. Tearing down straw men is pretty boring to watch.

replies(3): >>43385343 #>>43385702 #>>43388717 #
24. cozzyd ◴[] No.43384393{4}[source]
I believe it was mostly an llvm problem and gcc supports restrict fine thanks to Fortran support
25. pveierland ◴[] No.43385171[source]
One big part I've noticed when working in rust is that, because the compilation and analysis checks you're given are so much stronger than in C or C++, and because the ecosystem of crates is so easy to make use of, I'll generally be able to make use of more advanced algorithms and methods.

I'm currently working with ~150 dependencies in my current project which I know would be a major hurdle in previous C or C++ projects.

replies(1): >>43385258 #
26. ForTheKidz ◴[] No.43385258[source]
Everything you said is correct of course, but the idea of auditing 150 dependencies makes me feel ill. It's essentially impossible for a single person.
replies(3): >>43385294 #>>43385299 #>>43386883 #
27. jandrewrogers ◴[] No.43385271[source]
C++ surpassed C performance decades ago. While C still has some lingering cachet from its history of being “fast”, most software engineers have not worked at a time when it was actually true. C has never been that amenable to scalable optimization, due mostly to very limited abstractions and compile-time codegen.
28. steveklabnik ◴[] No.43385294{3}[source]
This is why sharing code is so important; it doesn't fall on one person, but instead, on the overall community.

For example, cargo-vet and cargo-crev allow you to rely on others you trust to help audit dependencies.

29. pveierland ◴[] No.43385299{3}[source]
Oh, absolutely. Software cannot scale without trust. No single person is capable of auditing their browser or operating system either.
30. chjj ◴[] No.43385343{4}[source]
We have very different experiences then. Don't know what to tell you.

Every interaction I've had with a rust programmer has led me to believe they are a toxic community of cultists. It's unlike any programming community I've seen.

replies(4): >>43386363 #>>43386393 #>>43386555 #>>43386627 #
31. hyperbrainer ◴[] No.43385702{4}[source]
It is not limited to rust zealots or whatever. I have seen this phenomenon of people criticising a certain category for doing something in the comment section on reddit/youtube, but never actually seen the people doing that thing, even browsing the most heavily downvoted comments. Some weird group mentality victimisation.
replies(2): >>43385911 #>>43386274 #
32. maccard ◴[] No.43385793{3}[source]
There are hopefully very few things that can be done to low level building blocks. A 15% improvement is absolutely worth it for a library as widely used as a compression library.
33. johnisgood ◴[] No.43385867{4}[source]
Well, most of them is written in C/C++ and Fortran, is it not the case?
34. PhilipRoman ◴[] No.43385911{5}[source]
I think in those cases usually the uploader has deleted said comments.
35. atoav ◴[] No.43386202[source]
The thing is, Rust allows you to casually code things that are fast. A few years back I took part in an "all programming languages allowed" competition on a popular hacker blog in my country. The topic was who writes the fastest tokenizer (a thing splitting sentences into words).

I took 15 minutes to write one in Rust (a language I had just learned by that point) using a "that should work" approach and became second place, with some high effort C-implementations being slower and a highly optimized assembler variant taking first place.

Since then I programmed a lot more in C and C++ as well (for other reasons) and got more experience. Rust is not automatically faster, but the defaults and std library of Rust is so well put together that a common-sense approach will outperform most C code without even trying – and it does so while having typesafety and memory safety. This is not nothing in my book and still extremely impressive.

The best thing about learning Rust however was how much I learned for all the other languages. Because what you learn there is not just how to use Rust, but how to program well. Understanding the way the Rust borrow checker works 1000% helped me avoiding nasty bugs in C/C++ by realizing that I violatr ownership rules (e.g. by having multiple writers)

replies(1): >>43397868 #
36. Someone ◴[] No.43386236[source]
Without analysis as to what caused that, that statement is meaningless.

For example, he says they didn’t set out to improve the code, but they were porting decennia-old C code to rust. Given the subject (truetype font parsing and rendering), my guess would be that the original code had more memory copies copying data out of the font data because rust makes it easier to safely avoid that (in which case the conclusion would be “C could be as fast, but with a lot more effort”), but it could also be that they spent a day figuring out some code did to realize that it wasn’t necessary on anything after Windows 95, and stripped it out, rather than porting it.

replies(1): >>43386432 #
37. chjj ◴[] No.43386274{5}[source]
> never actually seen the people doing that thing

I'm happy to share then. Here's my most recent encounter with a rustacean: https://x.com/_chjj/status/1829989494298460636

I asked if he/she/they had ever used the unsafe keyword. That was the response I got. It's usually some vile insult involving furry or transgender genitalia.

replies(2): >>43387891 #>>43389997 #
38. scns ◴[] No.43386363{5}[source]
> Every interaction I've had with a rust programmer has led me to believe they are a toxic community of cultists.

Since the brain rates negative experiences more highly, it may have you believe such a generalisation, no?

39. eru ◴[] No.43386393{5}[source]
I use Rust reasonably often. It's a decent language. Mostly more bearable than eg C++ or Go.

> It's unlike any programming community I've seen.

Oh, you clearly haven't hung out with the Haskellers in their prime.

40. serial_dev ◴[] No.43386432{3}[source]
I understand their improvement figures exactly as you wrote, "C could be as fast, but with a lot more effort".

Yes, if your code in Lang-X is faster than C, it's almost certainly a skill issue somewhere in the C implementation.

However, in the day-to-day, if I can make my code run faster in Lang-X than C, especially if I'm using Lang-X for only a couple of months and C potentially for decades, that is absolutely meaningful. Sure, we can make the C code just as fast, but it's not viable to spend that much time and expertise on every small issue.

Outside of "which lang is better" discussions on online forums, it doesn't matter how fast you can theoretically make your program, it matters how fast you actually make it with the constraints your business have (time usually).

replies(1): >>43387023 #
41. simonask ◴[] No.43386555{5}[source]
I mean, aren't you having such an interaction right now? Do you find this discussion toxic?
replies(2): >>43386615 #>>43387368 #
42. pdimitar ◴[] No.43386615{6}[source]
What I find toxic is the claim of zealotry when I can't see any, not on HN anyway.

So I called the poster out to show proof. So far there's none, except one Twitter post (because we all know that's the best technical discussion forum on the planet, clearly) which does not surprise me at all.

So they are the ones who get triggered by something that does not exist.

That is what is toxic.

If you go around claiming fantasies and people call you out then that falls more under curiosity and discussion. Not toxicity.

43. pdimitar ◴[] No.43386627{5}[source]
Very weird. Maybe you can point us at these "every interaction" so we can see for ourselves?

Toxic people are everywhere on the net. That's not an interesting insight. If you point us at some lunatic on Twitter who loses their marbles over everything, that's not interesting either.

Do you get trolled on actual technical forums though?

replies(1): >>43387056 #
44. maccard ◴[] No.43386853{4}[source]
Disagree - a rewrite for “maintainability” is an engineer saying they want to rewrite in their preferred language. I wouldn’t allow someone on my team to rewrite a core dependency for “maintainability”, but I absolutely would if they suggested it would be faster and safer.
replies(1): >>43387543 #
45. maccard ◴[] No.43386883{3}[source]
The effort is _roughly_ proportional - if you need to parse JSON in either language you can write it yourself or use an existing library. Both of those are the same amount of work in c++ and rust.
46. cb321 ◴[] No.43386989{4}[source]
I am not sure if the semantics have drifted over the decades to what you say, but this seems not quite right according to wikipedia: https://en.wikipedia.org/wiki/Second-system_effect

EDIT: but I do agree that starting greenfield from an old code base is often a path towards performance.

replies(1): >>43395103 #
47. andai ◴[] No.43387023{4}[source]
The skill issue part is a pretty interesting part of the conversation.

I'm always reminded of this video, where the author writes the same program in Rust and Go.

https://www.youtube.com/watch?v=Z0GX2mTUtfo

> Now, the Rust version took me about five times as long as the Go version

> The Go one performed almost identically well

Now this was for netcode rather than number crunching. But I actually had a similar surprise with number crunching, with C# and C++. I wrote the same program (rational approximation of Pi), line for line, in both languages, and the C# version ran faster. Apparently C# aggressively optimizes hot code paths while running, whereas to get that behavior in C++, you need to collect profiler data and use a special compiler flag.

replies(1): >>43391583 #
48. pdimitar ◴[] No.43387169{7}[source]
One lunatic. Not a community full of them. I've been communicating with the "community" for years. Worst I saw was 2-3 people like the one you linked to, and a few more on Rust Users Forum that can be a bit gatekeep-ish at times. For 4-5 years in total. Do the math on averages.

It is interesting how you can't see that you are inflating one nut case and extrapolating to an entire community.

49. chjj ◴[] No.43387368{6}[source]
I wouldn't go so far as to say toxic in this case, but their reaction to me having a differing opinion is certainly characteristic of rust developer pathology. Not sure why rust attracts these people. This phenomenon should probably be studied.
replies(2): >>43387854 #>>43388111 #
50. ForTheKidz ◴[] No.43387543{5}[source]
> a rewrite for “maintainability” is an engineer saying they want to rewrite in their preferred language

Not necessarily—sometimes languages are especially poorly suited for tasks or difficult to hire for.

replies(1): >>43388224 #
51. mplanchard ◴[] No.43387854{7}[source]
I think “impulse to defend a community you’re a part of when you feel it is being unfairly maligned” is a pretty standard human response pattern.
52. mplanchard ◴[] No.43387891{6}[source]
Do you not think that the thread you’re currently on here on HN has a lot of rust programmers? So your “most recent encounter” is actually this thread.

It’s trivial to find examples of people in any community who are a bit off the rails, but you shouldn’t let that define your perception of the community, especially given the fact that you’re currently in a context where your thesis doesn’t have much to support it.

replies(1): >>43388573 #
53. pdimitar ◴[] No.43388111{7}[source]
- Insult a group with generalization

- Members of the group respond non-kindly

- "Help! I am being repressed!"

I mean, maybe you should try more balanced take next time. Just a thought.

replies(1): >>43388383 #
54. vitus ◴[] No.43388117{4}[source]
> I wonder why no one has written high performance library code in assembly yet at this point?

What do you mean by that?

There is plenty of hand-rolled assembly in low-level libraries, whether you look at OpenBLAS (17%), GMP (36%), BoringSSL (25%), WolfSSL (14%) -- all of these numbers are based on looking at Github's language breakdown (which is measured on a per-file basis, so doesn't count inline asm or heavy use of intrinsics).

There are contexts where you want better performance guarantees than the compiler will give you. If you're dealing with cryptography, you probably want to guard against timing attacks via constant-time code. If you're dealing with math, maybe you really do want to eke out as much performance as possible, autovectorization just isn't doing what you want it to do, and your intrinsic-based code just isn't using all your registers as efficiently as you'd like.

replies(1): >>43477811 #
55. maccard ◴[] No.43388224{6}[source]
We’re talking about a rust rewrite of a fairly core level library. I don’t think C is inherently unsuitable or difficult to hire for. If the library was in Fortran then maybe.

But yes you are technically correct, congratulations.

replies(1): >>43390693 #
56. chjj ◴[] No.43388383{8}[source]
I don't ever recall saying I'm being repressed. Could you point out where I said that?

If you're referring to my above post, I'm pointing out that you're having a very emotional reaction to what I'm saying. That's typically what I see from rust developers.

replies(2): >>43388680 #>>43388687 #
57. brooke2k ◴[] No.43388567{3}[source]
the point of saying "faster than C" isn't to make it a competition, it's to demonstrate that Rust is capable of hitting performance goals that previously one needed to use C/C++ for.
58. chjj ◴[] No.43388573{7}[source]
Fair enough. I suppose it is my most recent encounter. The result: I still don't like the rust community. You may have different opinions. I see no issue here.
replies(2): >>43388738 #>>43390022 #
59. pdimitar ◴[] No.43388680{9}[source]
Where do you see emotional reaction?

All I do in each reply is point out how you generalize and get surprised that you are being called out.

No emotional reactions. Show me where they are?

replies(1): >>43388929 #
60. dralley ◴[] No.43388687{9}[source]
https://www.youtube.com/watch?v=QVVV6AfFZfI&t=0m33s
61. wolvesechoes ◴[] No.43388717{4}[source]
Funny, because I could swear that for every comment that rises some criticism against Rust design/implementation/ergonomics/whatever, I find a dozen that "respectfully disagree", i.e. try very hard to deny validity of original claims.

It is somewhat similar, actually, when someone states a negative opinion on Rust community and marketing around it. It is usually followed by those that say "you met wrong people".

Of course, you won't find any examples in this thread xd.

replies(2): >>43388770 #>>43390316 #
62. pdimitar ◴[] No.43388738{8}[source]
I see the issue. Biased people like yourself don't belong in tech.

For the record, I only picked Rust 5-ish years ago out of a 23 years of career. I know plenty of other languages. I was a skeptic at the start as well. Never generalized a pretty big group like you do though.

You should be ashamed.

replies(2): >>43389046 #>>43390513 #
63. pdimitar ◴[] No.43388770{5}[source]
You can swear on anything, does not make it any more true. ¯\_(ツ)_/¯

All you do is defend very anecdotal evidence. Surely you can see this is not logically compelling.

replies(2): >>43390490 #>>43390494 #
64. pdimitar ◴[] No.43388995{11}[source]
I am not upset with anything. That would imply I care what you think.

What I dislike, if we can even call it that, is that you misrepresent intentionally and are falling victim to extremely easy to avoid ego trips like claiming that your anecdotal evidence is universal.

That is not OK and is not intellectually fair.

Be intellectually fair. If you are not then I posit that you don't belong in tech as you have no scientific and analytic approach to things. That's my takeaway here.

You have left an extensive record of your bias in multiple comments. Including purposeful deflection and projection, as you try to make it out that I react emotionally. Which is false.

You seem like a lost cause though. So bye.

replies(1): >>43389119 #
65. chjj ◴[] No.43389046{9}[source]
FTR I don't really have a problem with the rust language. I think there's some interesting ideas in there. I don't really like the syntax, but that's a minor nitpick.

Not sure what to make of your other comments.

replies(1): >>43389102 #
66. pdimitar ◴[] No.43389102{10}[source]
And I didn't say this was about Rust the language. I said many times it's not OK for you to generalize an entire community of hard-working people. It will never be OK.

What is actually funny in our exchanges is that I don't even actively work with Rust anymore. I work with multiple languages, it included. I've met very smart, humble and fairly hardcore [Rust] devs from whom I learned a lot and got severely humbled as a result (as I was under the illusion that there's not much more I could learn in programming back then).

My other comments are fairly trivial English. Surely you can very easily make something out of them.

replies(2): >>43389194 #>>43390532 #
67. pdimitar ◴[] No.43389138{13}[source]
:)
68. chjj ◴[] No.43389194{11}[source]
My mistake. I thought your comment about being a skeptic was referring to the language itself.

It sounds like you had a good experience with the rust community. I'm glad it worked for you. But from what I've seen, it's not for me.

69. hyperbrainer ◴[] No.43389997{6}[source]
Honestly, that website is so far off the end of the sanity meter that I don't know what to say. Technically, you are right in that counterexamples exist. But on platforms like HN/techincal subreddits etc., never seen it myself, suggesting the problem is far less widespread than one might be initially moved to assume.
replies(1): >>43394460 #
70. hyperbrainer ◴[] No.43390022{8}[source]
> I still don't like the rust community

I wonder whether you believe these people would ever be endorsed by the faces of the Rust language or whether the majority of people in the community would behave so. In my experience (not to minimise yours), the Rust community and FOSS in general, are some of the most open and welcoming communities online, albeit with clear exceptions

71. sophacles ◴[] No.43390316{5}[source]
Wait... zealotry is not "someone having a different opinion".

Literally that's what you're saying: they have a different opinion therefore they're zealots!

Unless people posting an opinion is itself zealotry... but in that case why are you complaining about the replies and not the comments they reply to?

replies(1): >>43391707 #
72. johnisgood ◴[] No.43390490{6}[source]
He is replying to YOUR anecdotal experience though.
replies(1): >>43394307 #
73. finnthehuman ◴[] No.43390494{6}[source]
In case you're ESL, you're downvoted because in this context "I swear" means "here comes some anecdotal evidence" and not "I promise this is true."
replies(1): >>43394295 #
74. johnisgood ◴[] No.43390513{9}[source]
He should be ashamed because he does not like your community?
replies(1): >>43394427 #
75. johnisgood ◴[] No.43390532{11}[source]
> generalize an entire community of hard-working people

By claiming they are hard-working, you are generalizing. It is usually only a couple or few that are actually hard-working people, but then again, I am generalizing because I do not know, I do not wish to actually claim to know.

Judging by your comments, e.g. "you should be ashamed" (for simply expressing his dislike of YOUR community), you sound exactly like a zealot.

Why do you feel the need to claim moral superiority and tell someone to be ashamed just for simply expressing their dislike of your community? And while we are at it, he probably dislikes the community because of people like you. We have gone full circle.

I am not even going to bother commenting on a lot of things you have said, but:

> My other comments are fairly trivial English. Surely you can very easily make something out of them.

Sounds condescending as well, but this is a minor nitpick. :)

replies(1): >>43394400 #
76. ForTheKidz ◴[] No.43390693{7}[source]
I was responding to a general claim. In any case, I certainly disagree that C is suitable in 2025 for the vast majority of possible use-cases. For fun? Sure, but not for shipping code you want to rely on.

Obviously the code isn't going anywhere, and obviously we DO have reliable code we've built with C. But acting like C and Rust deliver equivalent value is simply farcical: you choose C for rapid development and cheap devs (or some other niche concern, like using an obscure embedded arch), and you choose rust to solve the problems that C introduced.

replies(1): >>43391622 #
77. serial_dev ◴[] No.43391583{5}[source]
Well, what I said is also true for Rust and Go. Sure if your Go code is faster than your Rust code, one could argue you have skill issues in Rust, but if to get the Rust program faster than your Go program requires 10x time (or more), it’s fair to say that Go is faster and simpler, even if it would be more precise to say that the Go code you can write performs as well as the Rust code you can write.
78. johnisgood ◴[] No.43391622{8}[source]
Million dollar question: why Rust over <insert any memory safe language>? Common Lisp? OCaml, Ada / SPARK, etc. if not C?
79. wolvesechoes ◴[] No.43391707{6}[source]
It is hard to call it "literal" interpretation of my words when they do not contain any occurrence of the word "zealots".

I think exegesis is a skill you need to hone further.

80. jason-johnson ◴[] No.43392496{3}[source]
How can it not? Experts in C taking longer to make a slower and less safe implementation than experts in Rust? It's not conclusive but it most certainly says something about the language.
replies(1): >>43402334 #
81. jason-johnson ◴[] No.43392542[source]
This has generally been the case, but a system language like Rust has access to optimisations that C simply won't have due to the compiler having so much more information (e.g. being able to skip run time array size checks because the compiler was able to prove out of bounds access cannot occur).
82. pdimitar ◴[] No.43394295{7}[source]
English is not my mother tongue and while I speak and write it quite well, such nuances escape me.

Thanks for the clarification. Appreciate it. <3

83. pdimitar ◴[] No.43394307{7}[source]
Well, I don't generalize it and claim it as a truth. That's why I had a heated exchange here.

Appreciate the perspective however. It's helpful.

84. pdimitar ◴[] No.43394400{12}[source]
> By claiming they are hard-working, you are generalizing. It is usually only a couple or few that are actually hard-working people, but then again, I am generalizing because I do not know, I do not wish to actually claim to know.

Fair, I appreciate the call-out and it's a valid one.

> Judging by your comments, e.g. "you should be ashamed" (for simply expressing his dislike of YOUR community), you sound exactly like a zealot.

It's not that. I said he should be ashamed because he doubled down on generalizing. Even said he usually does that a lot. To me if you work in tech you should be more analytical and more unforgiving towards your own assessments. We all thought the bug is in X but it turned it was in Y, right? That's what I called out.

As you yourself pointed out, we don't truly know much people in the community are generally nice and hard-working, which I agree is an accurate call for a balanced take.

My problem is the outright negative generalization. I was in the mood and didn't leave him alone about it. He eventually seems to have admitted that he only demonstrated his own anecdotal evidence. I disengaged at that point because that's a valid way to exit a discussion... though I still would worry what kind of people he communicated with if he had such an overwhelming negative experience, and only with its most lunatic members to boot.

You are free to think of me as a zealot but I'd think that's an emotional and unfair reaction and would ask you to revise it. My comments were not a stubborn push-back, but a call to being objective.

> Why do you feel the need to claim moral superiority and tell someone to be ashamed just for simply expressing their dislike of your community? And while we are at it, he probably dislikes the community because of people like you. We have gone full circle.

I claimed analytical superiority, not a moral one. I've met Rust zealots. I've met Golang and (oh boy are they MANY) C/C++ zealots. Even my favorite Elixir has some weird people that think everything should be written with it.

The difference between me and the poster you seem to defend a bit emotionally is that I don't claim my outlier negative experiences are the norm. He did that. I did not.

As for the full circle thing: I ain't giving the other cheek. I don't owe grace to people who are rudely generalizing. I am aware many people would assess me much better if I just gave the other cheek. I know. But I choose not to abide by those expectations. Sadly this leads to people like yourself branding me like a zealot. Regrettable. But it's ultimately your loss for missing out on interesting and informed and unbiased discussions with me.

Feel free to check my comment history. I am not always super level-headed but I always look for the truth.

> Sounds condescending as well, but this is a minor nitpick. :)

Couldn't resist, admittedly. See above. ;)

85. pdimitar ◴[] No.43394427{10}[source]
No. He should be ashamed because he generalizes, realizes it, admits it and doubles down on it. That's not objective. That's just being stubborn. I can get those kinds of opinions in the local bar. I come to HN for higher-quality discussions.

And it's not "my" community. I don't belong to a single one so I don't emotionally defend any of them.

86. pdimitar ◴[] No.43394460{7}[source]
Yeah, same. Pointing at some loonie on Twitter who would be flagged out of existence here on HN is not an honest argument in the direction of "look, Rust fans are zealots!".

I mean, by that logic, people of my nationality would have to be fenced off and never allowed in other countries... because we do indeed have thousands of nasty scammers out there in the world.

99.99999% of us are chill, work, pay taxes, have fun etc.

So generalizations like the one that moved me to start pursuing the guy and not leave him alone until he ultimately said "it's just my anecdotal experience" (and stopped claiming it's universally true), because you know, we can pick ANY group, find several lunatics and claim the group is bad in this or that way.

As said to another guy a few minutes ago -- I can get such "opinions" in every bar. I come to HN for better discussions than this.

87. renewiltord ◴[] No.43395103{5}[source]
Just having a laugh, mate, but it is nice to have the truth posted as well.
88. johnisgood ◴[] No.43397868[source]
Well, yeah, same with books on Erlang, Common Lisp, even Odin. They teach you how to become a "better" (debatable, perhaps) programmer.
89. johnisgood ◴[] No.43402334{4}[source]
> Experts in C taking longer to make a slower and less safe implementation than experts in Rust?

How do you know this exactly?

90. anon-3988 ◴[] No.43477811{5}[source]
And? why isn't everyone writing every softawre in assembly if there's no "fundamental impedement" to doing so.

The answer is that its more ergonomic and easier to reason about. So while you can TECHNICALLY have "algebraic data types" in C i.e. "its just a tagged union so whats the big deal?" I prefer to use them in Rust than C, for whatever unknown reason...

I also don't want to spend my brain cells thinking about pointer provenance and which void* aliases with each other. I would rather spend it on something else, thank you very much.