3 ms·
I had the same problem when trying out Haskell: they give abstractions that are not constant multipliers in terms of speed or memory usage compared to a low le
by xiphias2 6y ago
I had the same problem when trying out Haskell:
they give abstractions that are not constant multipliers in terms of speed or memory usage compared to a low level solution (like garbage collection and dynamic typing).
Rust gives just the opposite type of abstraction over C++: memory safety without adding any unpredictability in execution (and of course updates in the language design).
While relational algebra (SQL) is equivalent to logic algebra, it's easier to reason how it executes.
- barnacled 6y agoyou can still get tripped up on SQL (accidentally doing a table scan etc.) but there is explicit tooling to help you analyse that - e.g. looking at the execution plan. Haskell I can't comment on, though I can totally see that happening there, there might be better means of managing complexity and giving hints to actual implementation. With prolog the means of expression seems capable only of posing the 'question' rather than indicating that it should be not be implemented in the most naive possible way. As interesting and mind-bending a language as prolog is I just couldn't get past that and it has made me think it's just not a practical language to use for anything real. But I am happy to be proven wrong!