> downstream developers will learn to depend on every possible behavior your API accomplishes, even the unintended ones
78 karma · joined August 20, 2023
Professional Email: andenacitelli@gmail.com
> downstream developers will learn to depend on every possible behavior your API accomplishes, even the unintended ones
Took them seemingly forever to do. The reversion, sure, that might take a bit to proof, but the yank should have been done way sooner
Totally agree something like Rust would be good in a vacuum, but existing contributors and ecosystem would present problems. Having tooling built in the same ecosystem as the end product makes it way easier to contribute.
However, there ARE plenty of areas it IS the right fit for. Lots of “fuzzy” systems that would struggle to be rule-based and generalizable benefit hugely from LLMs and other fuzzy / intentionally broadly scoped tooling.
Source — I work at a “chat with your data” startup, and our product just categorically wouldn’t be worthwhile if the above weren’t true :)
The promise to me lies in the entire classes of errors you systemically prevent from happening (given no unsafe code) and just generally how much easier it is to write maintainable and bug-free code.
These mechanisms are part of a very broad set of tooling that slows you down short-term but pays off in huge quantities over any even medium-term timeframe in an actual business product intended to be long-living.
Granted, Rust has its tradeoffs just like any other language — from what I hear, refactoring and fighting the compiler in certain domains like gamedev gets annoying — but it seems much more positive than negative.
Simple and stable, no more complex than it needs to be, never run into any issues w/ it
Disclaimer: I work at Akkio, but think we have a really nice, value-add product and an excellent team behind it :)
I don’t think it’s very scalable, and having the library itself or a stubs package come with types is the only “good”-feeling route, but you at least have a somewhat decent path to still getting it decent without any intervention on the library’s part. It may even be sufficient, if (like in most situations) you only use a few functions from a library (which may in turn call others, but you only care about the ones your code directly touches), and therefore only need to type those ones.
We work with Parquet + Arrow every day at $DAYJOB in a ML and Big Data context and it's been great. We don't even think we're using it to its fullest potential, but it's never been the bottleneck for us.