frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Rust is a disappointment

https://bykozy.me/blog/rust-is-a-disappointment/
72•byko3y•1h ago

Comments

yoyohello13•1h ago
I think we’ve officially reached the inflection point where the Rust haters have become more annoying than the Rust evangelists. Maybe in a couple years we will finally be able to stop writing blog post about it.
edoceo•27m ago
Not to worry, another tech thing will be along shortly to fill the hype/hate cycle with its own drivel.
ozim•10m ago
Unfortunately there are topics that should stop long ago but people still rave about those: ORMs, OOP, Git, JavaScript bloat, Linux vs Windows.

Somehow there are always fresh people who think someone cares or that somehow those are important discussions.

Klonoar•3m ago
Zig currently sits in the hype cycle like Rust/Ruby/Lisp/etc once did here. Eventually something will come along and Zig will be in the hate cycle.

In reality none of these things need the religious wars that seem to go back and forth. It's just an incredibly unfortunate and annoying aspect of how programmer-centric communities tend to go.

lumost•24m ago
We really just need official/honest guidance on Rust for what works and what doesn't. The classic example is the dodging around cyclic datastructures.

Tl;DR Rust doesn't support any form of cyclic datastructure without indirection or unsafe. The indirection tooling is weak, and most real examples simply switch to unsafe rust. Unsafe rust is completely fine if you know what you are doing with memory, and is ok to use in these situations.

There are a few other gotchas that we just need to be clear about, some of these gotchas are limiting for developing higher level software and some are not e.g. String handling. If you are comfortable with unsafe, the rust toolchain is vastly superior to C/C++ development making it as close to an ideal replacement as we are likely to get.

hu3•17m ago
> Rust haters have become more annoying than the Rust evangelists

I disagree. There's a long road till that inflection point for me.

cwillu•6m ago
“Summary:

So, is the Rust bad or good? It’s neither. It’s a mediocre programming language with thousands of man-month put into its development — this fact alone makes Rust a viable tool, just because you can pick it from the shelf and employ as-is. This blog was generated with Zola, written in Rust — I did not have to write a single line of Rust code to use it. And the Rust is a good fit for Zola SSG because of its non-interactive nature with one-way flow of immutable data. Just, please, don’t run around screaming “we should all switch our development to Rust because it’s the best programming language”.”

Is this what makes someone a Rust hater?

loeg•3m ago
It seems pretty clear from the article as a whole.
yoyohello13•1m ago
Literally hates on Rust for the whole article except the final summary.
siliconsorcerer•5m ago
Absolutely not. Rust lovers are still incessant as they’ve ever been. More Rust haters is a good thing.
yoyohello13•53s ago
I haven’t seen a positive Rust article in over a year. Seems the zeitgeist has turned against it. All it took was the US government giving the thumbs up I guess.
nobodyandproud•1h ago
So, Ada?
IshKebab•1h ago
Totally wrong.

> Its compilation is slow. I mean SLOW. Slower than C++.

No way. Maybe Rust 1.0, but it's steadily improved and it's definitely faster than C++ now.

> It’s complex. Just as complex as C++.

True, but the problem with C++'s complexity is that you have to memorise all of it or you'll accidentally invoke UB. It's so complex that is basically impossible.

Rust is complex but most of the time the compiler will tell you if you got it wrong. There are exceptions of course (lots of async footguns) but it's still night and day.

> Memory safety is not that sacred. In fact, for many applications malfunctioning is better than crashing

Not sure I really need to counter this...

> When handling lots of mutable shared state (GUI, DB, stateful services, OS/hardware), the performance of native Rust memory model is subpar, and non-native unsafes just leave you with slow compilation, high complexity, and no memory safety in the end — which makes Rust practically meaningless for heavy mutable state jobs.

Not totally clear what he's getting at here. Maybe the ergonomics of GUI style programming which are still being figured out? Hardly a deal breaker though is it? There are plenty of C/C++ GUI libraries with terrible ergonomics and the only one that is actually great (Qt) had to use a custom language extension for decades to achieve that.

> So, is the Rust bad or good? It’s neither. It’s a mediocre programming language with thousands of man-month put into its development

I would love to hear what he thinks a good programming language is, because I can easily pick more holes in any other language than he has.

This anti-Rust zealotry is super tedious.

singularity2001•20m ago
> I would love to hear what he thinks a good programming language is

not OP, but outside of extreme performance critical software I MUCH prefer Swift, C# or python.

nicce•9m ago
C# is really good, but is Swift good enough as true general-purpose language for every platform and OS?
piskov•7m ago
Modern c# is very nice. And can be fast too
Animats•1h ago
> "there is just no perfect correctness possible in the Turing machine model"

Grrr. Clueless people keep saying that. People have been verifying programs for over forty years now. Formal correctness in terms of not violating assertions is possible for most useful programs. As someone pointed out about the Microsoft Static Driver Verifier, if you're program is anywhere near undecidability, it has no business being in the kernel. This not a legit criticism.

gr4vityWall•26m ago
The author would probably find joy in using Zig.

Personally my biggest complain from Rust is that I wish it was more readable. I've seen function signatures that seemed straight out of C++.

nicce•13m ago
> Personally my biggest complain from Rust is that I wish it was more readable. I've seen function signatures that seemed straight out of C++.

There is always a trade-off. You really cannot provide enough information for the compiler without the current signatures. There is a certain point where you cannot compress the information without losing some features.

Havoc•25m ago
I was waiting for the part where author advocates for what they like but no it’s just a rant
commandersaki•24m ago
I can accept compilation being slow, slower than C++, but do large projects require >32GB memory, for example the case of LLVM, Chromium, or Envoy?

Had to buy a new laptop because of this.

baby•24m ago
I mean there's nothing better than Rust, just talk about what in Rust is annoying instead of saying that
scuff3d•2m ago
Unless I need close to 100% memory safety with no compromise in performance I'd rather write Zig, Odin or Go.

Zig and Odin are much more enjoyable to write and provide enough safety for a lot of applications, and Go gets you 90% of the performance of Rust without the complexity.

cetra3•23m ago
> Node.js and Go are considered practically safe language

Node JS has had vulnerabilities in the past: https://www.cvedetails.com/cve/CVE-2021-22940/

Go is also not Memory safe: https://www.ralfj.de/blog/2025/07/24/memory-safety.html

tptacek•17m ago
Node.js and Go are both memory safe, as are Python, Ruby, and Java. "Memory safe" is a term of art referring to susceptibility to memory corruption vulnerabilities in code written by an ordinary practitioner of the language. Almost invariably, attempts to show languages like Go and Python as memory-unsafe involve a programmer deliberately working to defeat the language. But you can do that in any language, including Rust.

There are essentially just two mainstream memory-unsafe languages: C and C++.

GaggiX•7m ago
It's easy to cause memory corruption with Go while building a concurrent system, you don't need to learn anything about "defeating the language".
valcron1000•22m ago
> Memory safety is not that sacred. In fact, for many applications malfunctioning is better than crashing

Yeah, just another data leak, no biggie.

dlivingston•12m ago
What's a bit of arbitrary code execution between friends?
jsheard•3m ago
I saw people doing victory laps because Rust "caused" the recent Cloudflare outage. How quickly we forget that Cloudflares previous generation proxy was written in C and failed even more spectacularly, leaking private customer data everywhere after hitting a memory safety bug.
themgt•13m ago
You cannot go along like “I’m writing a cold path high-level code, I don’t need performance, I don’t need to go deeper into lifetime handling, I just want to write a high level logic”. You will be forced into the low level nuances every time you write a single line of Rust. There is no garbage collector for Rust and will never be — you will have to semi-manually pack all your data into a tree of ownership. You have to be fluent in ownership, borrowing, traits to write just a few lines of code.

It's still quite rough around the edges, but Crystal is a fun choice for this type of thing. If you want a readable high level language and sane package manager that compiles to reasonably performant machine code, it's worth a look.

claudiug•12m ago
the issues with Crystal, nim, zig, is that they have zero changes to be bigger.
preommr•6m ago
crtystal and nim, probably not.

Zig... is surprisngly used a lot given how rough the state of the language is. It makes me think that if it ever reaches v1.0, it has a very good chance of being at least a "Kotlin", probably a "elixir"/"haskell", and a decent enough shot of "typescript".

bccdee•11m ago
> telling a victim “but the memory was not corrupted in the crash” is a weak consolation. We actually had a recent Cloudflare outage caused by a crash on unwrap() function. It’s probably the strongest point of my whining: Rust is memory safe and unreliable. The price of memory safety was reliability

I honestly can't find a polite way to describe this statement. It's incorrect in a way that feels insulting. It's not the language's fault that you called the `crash()` function. Every language has a way to terminate execution, and for good reason. It's not even wrong for a server to crash; that's how you pass the error up to the infrastructure layer for handling. The problem here existed at a system design level, not a language level.

For the author to paraphrase this (bad) critique like this:

> You cannot get 99.999% reliability with Rust — it crashes all the time.

is outright dishonest and insulting to me as a reader.

alkindiffie•7m ago
I like rust because it enforces its safety at compile time giving me more confidence (as long as I don't have unwrap or panic!) that if it compiled my code wont have runtime errors (memory safety errors, multi-thread errors), I don't know any other languages that offer the same guarantees.

Rust also forces me to really think how the data is layed out in my program (is it on the heap or stack), I have to engineer the program before I write a single line of code or else the borrow checker will yell at me.

Other things I like about rust is, I can write unit tests in the same file as the implementation, this is build in to the language. I also like cargo, clippy, rust doc, rust format. No runtime, compiles to a single binary, support of a variety of platforms and a great community that values high quality secure software.

The only thing I hate about rust is async. I don't use async in my own projects, I just use threads, Rust is great for doing threads (Arc, Mutex, RwLock...)

Edit: fix typos

cratermoon•7m ago
"they only corrupt user data and act sporadically"

The author dismisses these defects, but try telling a financial institution that it's "only" corrupt user data when the books don't balance. Explain to an aerospace company that acting sporadically is just fine.

cwillu•2m ago
That was quite literally the author's point.
diego_moita•6m ago
I was a Rust programmer, for 3 years. Did web backend, kernel programming, network security...

Then I discovered that C++ has a very cool feature that Rust doesn't have: jobs.

Now, I no longer search for Rust positions.

cogman10•6m ago
Mutable shared state is a feature, not a bug.

It's true that it's easier to write correct async code using immutable shared data or unshared data.

However, it's very hard if not impossible to do fast and low memory concurrent algorithms without mutable shared state.

fn-mote•6m ago
The author says "Rust crashes all of the time" and then goes on to invoke the Cloudflare unwrap() as an example of that. Uhhhh... but that was clearly a programmer error, right? Ignoring the possibility of a Result being Err instead of Ok is not something the language is supposed to protect you against.
loeg•1m ago
Yes, but in C++ we would simply not have asserted the result has_value instead of has_error and instead returned some implicit memory corruption. Or, I think that is the author's argument. (I don't subscribe to that point of view.)
henning•5m ago
> T, T&, T*, std::optional, std::unique_ptr to describe similar things, each broken in its own way

How is `T` broken? How are the other things broken?

No matter what language you use, most of the code running between what you wrote and the hardware will be written in C. Your choice for the 1% on top is not very consequential. There is still a huge attack surface area no matter what.

siliconsorcerer•2m ago
Use D.
alde•2m ago
The blogs about page is fun:

> People create lies to gain power and money. Which is kinda what I was supposed to do, but for random reasons I went rogue and chose sanity instead.

> I am anti-bullshit.

These "contrarian for the sake of being contrarian" vibes naturally flow into this Rust post. Rust has a ton of faults, but this is was a very shallow critique.

lordnacho•49s ago
I tend to disagree.

- Compile speed. Why do people care so much? Use debug for correctness and iterating your code. You're hardly going to change much between runs, and you'll get an incremental compile. Let rust-analyzer tell you if there are errors before you even try compiling. Let your CI do release optimization in its own time, who cares if CI is slow?

- The cloudflare bug was not caused by rust. Every language needs some way to say "hey this thing is invalid", and that's what happened when the list of AI tools got too long (or whatever their business issue was). Making the app panic was a design choice, not a language choice. Every language has a way to not handle errors.

- Things having unsafe {...} does not make them unreliable. On the contrary, if you run into a memory issue in a rust program, you know where to look for it. The problem in c++ was that the whole program was unsafe, and you then had no way to narrow it down. Memory safety errors are like type errors: a large class of errors that are worth checking for. If you're writing good c++, you have a linter that checks similar things anyway, and if you're disciplined, you've also upgraded warnings to errors. FWIW, I do think the marketing over-emphasizes memory management, because there are a lot of these hard learned lessons that are default in rust but optional in c++.

- Mutable shared state: make bad designs hard to write. Mutable shared state is another one of these eternal bug sources. Use channels and pass messages.

Honestly, it reads like a lot of critiques of Rust: people haven't spent enough time with it, and are not over the learning curve yet. Of course everything is cumbersome before you're used to it.

Fran Sans – font inspired by San Francisco light rail displays

https://emilysneddon.com/fran-sans-essay
399•ChrisArchitect•4h ago•59 comments

Native Secure Enclave backed SSH keys on macOS

https://gist.github.com/arianvp/5f59f1783e3eaf1a2d4cd8e952bb4acf
264•arianvanp•5h ago•97 comments

Sunsetting Supermaven

https://supermaven.com/blog/sunsetting-supermaven
7•vednig•45m ago•0 comments

Calculus for Mathematicians, Computer Scientists, and Physicists [pdf]

https://mathcs.holycross.edu/~ahwang/print/calc.pdf
187•o4c•6h ago•38 comments

Show HN: Gitlogue – A terminal tool that replays your Git commits with animation

https://github.com/unhappychoice/gitlogue
60•unhappychoice•5d ago•7 comments

Shaders: How to draw high fidelity graphics with just x and y coordinates

https://www.makingsoftware.com/chapters/shaders
307•Garbage•10h ago•69 comments

Liva AI (YC S25) Is Hiring

https://www.ycombinator.com/companies/liva-ai/jobs/fYP8QP8-growth-intern
1•ashlleymo•42m ago

Racket v9.0

https://blog.racket-lang.org/2025/11/racket-v9-0.html
245•Fice•9h ago•84 comments

Particle Life – Sandbox Science

https://sandbox-science.com/particle-life
12•StromFLIX•1h ago•1 comments

Mount Proton Drive on Linux using rclone and systemd

https://github.com/dadtronics/protondrive-linux
91•cf100clunk•7h ago•32 comments

A desktop app for isolated, parallel agentic development

https://github.com/coder/mux
4•mercat•54m ago•0 comments

780k Windows Users Downloaded Linux Distro Zorin OS in the Last 5 Weeks

https://blog.zorin.com/2025/11/18/test-the-upgrade-from-zorin-os-17-to-18-and-celebrating-1-milli...
124•m463•3h ago•119 comments

Iowa City Made Its Buses Free. Traffic Cleared, and So Did the Air

https://www.nytimes.com/2025/11/18/climate/iowa-city-free-buses.html
53•bookofjoe•1h ago•17 comments

"Good engineering management" is a fad

https://lethain.com/good-eng-mgmt-is-a-fad/
120•jkbyc•3h ago•43 comments

A time-travelling door bug in Half Life 2

https://mastodon.gamedev.place/@TomF/115589875974658415
283•AshleysBrain•2d ago•25 comments

After my dad died, we found the love letters

https://www.jenn.site/after-my-dad-died-we-found-the-love-letters/
729•eatitraw•14h ago•352 comments

Editing Code in Emacs

https://redpenguin101.github.io/html/posts/2025_11_23_emacs_for_code_editing.html
102•redpenguin101•8h ago•30 comments

I Learned the Pythagorean Theorem

https://danq.me/2025/11/13/pythagorean-theorem/
15•speckx•1w ago•3 comments

Terence Tao: At the Erdos problem website, AI assistance now becoming routine

https://mathstodon.xyz/@tao/115591487350860999
143•dwohnitmok•1d ago•17 comments

Court filings allege Meta downplayed risks to children and misled the public

https://time.com/7336204/meta-lawsuit-files-child-safety/
291•binning•8h ago•129 comments

Lead magnet creation for blue collar SaaS

https://estimatekit.com/free-templates
5•travpaiv•2h ago•4 comments

MCP Apps: Extending servers with interactive user interfaces

http://blog.modelcontextprotocol.io/posts/2025-11-21-mcp-apps/
155•mercury24aug•19h ago•106 comments

Spectral rendering, part 2: Real-time rendering

https://momentsingraphics.de/SpectralRendering2Rendering.html
51•todsacerdoti•1w ago•16 comments

Halfbakery: Purely functional programming with heat output

https://www.halfbakery.com/idea/Purely_20functional_20programming_20with_20heat_20output#1763275883
4•GravyPouch•6d ago•0 comments

Pyrotechnic Display Design Software

https://github.com/giuseppe-coco/FireShow
31•Giuseppe_Coco•6d ago•10 comments

Garibaldi, history's sexiest revolutionary?

https://www.historyextra.com/period/victorian/historys-sexiest-revolutionary-meet-the-mesmerising...
81•thomassmith65•1w ago•60 comments

Almost all Collatz orbits attain almost bounded values

https://mathvideos.org/2023/terence-tao-almost-all-collatz-orbits-attain-almost-bounded-values/
91•measurablefunc•6d ago•31 comments

The Inference Economy: Why demand matters more than supply

https://frontierai.substack.com/p/the-inference-economy-part-ii
20•cgwu•1w ago•3 comments

Giving the Jakks Atari Paddle a Spin

https://nicole.express/2025/paddle-me-atari.html
4•ingve•2h ago•0 comments

Sit – Create StuffIt archives on Unix systems

https://github.com/thecloudexpanse/sit
55•classichasclass•6d ago•6 comments