5 ms·
I just really hope I’m not wasting my time. I think this is very easy verify: just climb down the abstraction ladder and try to solve some particular problem w
by pka 10y ago
I just really hope I’m not wasting my time.
I think this is very easy verify: just climb down the abstraction ladder and try to solve some particular problem without those abstractions. If you then find yourself yearning for monads, macros or whatever else, then no - you haven't.
One particular thing that stuck with me during the past few months was the continuation monad/coroutines abstraction PureScript's Thermite library is built on. I happened to work on a project with another colleague, we were both writing some UI stuff and while he was fighting with callback hell I was happily writing sequentially looking code in the Aff monad.
It's not a particularly heavy abstraction, but something that can make your life so much easier. Most abstractions I use tend to fall into that uhm... category :)
- MaulingMonkey 10y ago> I think this is very easy verify: just climb down the abstraction ladder and try to solve some particular problem without those abstractions. If you then find yourself yearning for monads, macros or whatever else, then no - you haven't. I yearn for things that don't actually make me more productive at times. "Will this save more time than it costs?" Lots of possible things influencing that to forget or poorly estimate. You're right that going back to basics and seeing the pain points that arise (or go away!) is informative, however.
- pron 10y ago> I think this is very easy verify If only things were so simple. The problem is that in either case you yearn for other things that the other approach has but yours doesn't. The questions is which gives you a better cost/benefit ratio for the problems you face (which are not just the functional software requirements, but also the maintenance requirements as well as the environment in which development needs to take place).