3 ms·
I find it really frustrating when project runners refuse to acknowledge shortcomings. I'm not always expecting them to solve it, but I'd at least like an acknow
by hardwaregeek 6y ago
I find it really frustrating when project runners refuse to acknowledge shortcomings. I'm not always expecting them to solve it, but I'd at least like an acknowledgement that the issue I'm facing is valid. Pretending it's just me or that the obviously worse alternative is okay gets annoying.
One example is ReasonML's async story:
Q: What's BuckleScript's async story?
A: If you're not interfacing with any library that uses promises, you can simply use callbacks. Everyone gets them and they're performant. If you need to bind to a JS library that uses promises, or communicate with such library, you can use BS's Js.Promise.
IMO that's a less than ideal response. I'd prefer a more honest response like:
A: Unfortunately, we do not offer an async/await equivalent currently. BuckleScript has a Js.Promise type for using Promises. We understand that this is not ideal, and are working on other options.
Look—it's okay that they don't have the feature. Nobody's perfect. But they shouldn't pretend that callbacks are an acceptable replacement because they're "performant".
- andrewingram 6y agoThis is my biggest bugbear (the general behaviour, not the specific example). I want to make good technical decisions, your library has made choices based on its principles and design goals, don't obscure the trade-offs you've been made -- this is just a (poor) growth hack in disguise. I've seen so many people use technologies then regret it a year later because they realised what they actually wanted to achieve was at odds with the design goals of the technology.
- ducaale 6y agoOCaml has monadic let syntax[1] which is similar to F#'s computation expressions. I am not sure why it is not yet supported in Reasonml/Bucklescript. [1] http://jobjo.github.io/2019/04/24/ocaml-has-some-new-shiny-syntax.html http://jobjo.github.io/2019/04/24/ocaml-has-some-new-shiny-s...
- djur 6y agoBecause Bucklescript/ReScript is based on a modified fork of OCaml 4.06, before monadic let was added. https://github.com/rescript-lang/ocaml https://github.com/rescript-lang/ocaml "This branch is 387 commits ahead, 5444 commits behind ocaml:trunk"
- musicale 6y agoPerfect use of "performant" as a nonsense pseudo-adjective, to signal sarcasm and condescension. If they are semi-serious, then "cromulent" would be a better synonym for "(marginally) acceptable."
- hardwaregeek 6y agoYeah, it might have embiggened their presentation