Earlier quoted context omitted.
It should be mentioned that rust's type system has a long-standing known bug compromising memory safety, as made famous by cve-rs. It's perhaps not a big issue for most people but if you are someone that wants the assurances of #![forbid(unsafe_code)] that should probably be on your radar.
Certainly, we should build into our threat model the idea that the implementation of Rust will have bugs that compromise safety until proven otherwise (merely fixing that one aforementioned bug won't alter that calculus). And the same applies to Fil-C: we should assume it has bugs that compromise safety until proven otherwise. Until then, in practice, Rust has much more real-world use that convincingly demonstrates i…
Fil-C: Garbage In, Memory Safety Out [video]
151–160 of 190 posts
Re: Fil-C: Garbage In, Memory Safety Out [video]
#152Earlier quoted context omitted.
The worst part about rust not having exceptions is that it actually does have exceptions, you just shouldn't use them. All the downsides and none of the benefits: https://smallcultfollowing.com/babysteps/blog/2024/05/02/unw...
Just like on Go's case, panic/recover are exceptions with bad ergonomics.
Re: Fil-C: Garbage In, Memory Safety Out [video]
#153Earlier quoted context omitted.
>I've long faulted Rust's use of Result over exceptions Why?
The worst part about rust not having exceptions is that it actually does have exceptions, you just shouldn't use them. All the downsides and none of the benefits: https://smallcultfollowing.com/babysteps/blog/2024/05/02/unw...
Re: Fil-C: Garbage In, Memory Safety Out [video]
#154Earlier quoted context omitted.
Let's not shy away then. What details do you disagree on? P.S. Also fan of your work. Competition is always good.
Rereading your post, I think I just disagree on two things: I don’t think Rust users can be trivialized into the “two kinds” that you list, and if one of the kinds is “app developer” then I bet you there are apps where Fil-C’s value proposition is exactly right, except just the fact that Fil-C is so new and immature. Say you want to ship a native UI. Using GTK from fil-C is fantastic. And I specifically disagree with…
Sure, GC's are nice which is why so many langs have them, but that removes the deterministic allocation performance which most C/C++ programmers want (and many times need). Why not just use something like Go then? You have a much richer stdlib available out of the box.
Re: Fil-C: Garbage In, Memory Safety Out [video]
#155Earlier quoted context omitted.
> But what is being overlooked, is the massive numerical dominance of C programmers I roll to doubt. I haven’t seen C topping programming language popularity charts for a long, long time. I used to interview software engineering candidates professionally. Candidates could pick any language they wanted for the interview. Python was chosen by about 70% of our interviewees. C was under 5%. (N=400 or so)
> I haven’t seen C topping programming language popularity charts C is still highly ranked on many charts. C (as of July 2026) is ranked #2 on the TIOBE index. PYPL has C and C++ weirdly merged, the annoying C/C++, and that comes in as #3. The IEEE and Redmonk have C firmly in the top 10, using different methodologies. We also have to consider how many years back that C's run in the top 10 goes. We have to also use c…
Re: Fil-C: Garbage In, Memory Safety Out [video]
#156Earlier quoted context omitted.
to be fair, most programmers are at least a little bit polyglot, and if you know python and C and you're trying to solve an interview problem, python is gonna be the easier option 99% of the time, even if you're not that great at python compared to C.
> python is gonna be the easier option 99% of the time If python/go/C# is easier to write, why choose C? Fil-C removes C’s performance and interoperability advantages.
TBH C# is probably a good default for a lot of projects, from a safety and performance standpoint (rust's big performance win over GC/JIT languages is more in the memory consumption than throughput, counterintuitively). Fil-C probably still has a pretty good edge on python's performance, though.
Re: Fil-C: Garbage In, Memory Safety Out [video]
#157Earlier quoted context omitted.
Just like on Go's case, panic/recover are exceptions with bad ergonomics.
This is a vacuous statement on par with characterizing setjmp/longjmp in C as "exceptions with bad ergonomics".
Re: Fil-C: Garbage In, Memory Safety Out [video]
#158Earlier quoted context omitted.
Certainly, we should build into our threat model the idea that the implementation of Rust will have bugs that compromise safety until proven otherwise (merely fixing that one aforementioned bug won't alter that calculus). And the same applies to Fil-C: we should assume it has bugs that compromise safety until proven otherwise. Until then, in practice, Rust has much more real-world use that convincingly demonstrates i…
A known bug with easily accessible proof-of-concept is quite different from a theoretical bug.
Re: Fil-C: Garbage In, Memory Safety Out [video]
#159Earlier quoted context omitted.
This presentation wasn’t too bad in terms of us vs theming, but in general throughout the lifetime of the project there’s been a strong us vs them rhetoric. I think it’s working as a marketing tactic to some extent but there are better, albeit harder ways to market the thing.
Rust generally invites us vs them everywhere because it's just so ambitious and attractive (to some). Fil-C probably receives questions all the time about why they don't just do X or Y that Rust does. Maybe they end up supporting their position against that type of pressure and it looks like they're opposing Rust when all they're doing is justifying themselves.
Thus anyone that identifies themselves with the programming language they work with, gets dragged into a us vs them discussion.
Re: Fil-C: Garbage In, Memory Safety Out [video]
#160Earlier quoted context omitted.
Not the person you're asking, but result types pessimize code more, add register pressure, use more icache for largely dead code, etc. They're arguably noisier at the source level too. That said, I've spent too much of my life chasing implicit control flow to accept exceptions. Heck, C++'s "noexcept" is a strong argument against exceptions all by itself.
> That said, I've spent too much of my life chasing implicit control flow to accept exceptions. Yes. This is why unchecked exceptions are annoying. Checked exceptions are a „failed experiment“ anyway. A result type (or even Go‘s err) with forced error handling meaningfully increases the robustness of a program in my experience.
I haven't written any Java since it has gained those, so I suspect there might be other aspects making it awkward. And it still would lack exhaustiveness checking that e.g. Rust has.