News for hackers. Stuff that matters.
Re:Abstraction: Not what you think it is by atoav on Wednesday March 30, 2022 @05:30PM (#30861029)
My feeling is that abstractions can also be (potentially) more. E.g. good abstractions are themselves composable in expressive and new ways, which gives programmers the ability to reach goals faster, easier and with less risk and maintenance cost.

Building abstractions can be ery much like creating a new language.

Re:Abstraction: Not what you think it is by macrolocal on Wednesday March 30, 2022 @06:59PM (#30861903)
Still, I bet Laplace's demon could get by just fine without them, and maybe even spot clever optimizations that a human never would. After all, there's no such thing as a free lunch.
Re:Abstraction: Not what you think it is by atoav on Thursday March 31, 2022 @04:20AM (#30864995)
> After all, there's no such thing as a free lunch.

I think a lot depends on where your cost goes. E.g. you could create hyper-optimized code that performs incredibly well, but it is also hard to maintain, next to impossible to comprehend and cannot adapt to change very well.

I believe it is possible to create code that does well on all fronts (readable, maintainable, adaptable, performant), it is just a much harder search task (you pay it with developer time/experience).

Re:Abstraction: Not what you think it is by macrolocal on Thursday March 31, 2022 @12:40PM (#30869286)
Hm, every abstraction comes with costs and benefits. For information theoretic reasons ("no free lunch folklore"), the costs can never be completely eliminated.

The usual way to make abstractions useful is to choose a restricted problem space, compressible enough to offset the abstraction's overhead.