4 ms·
Assuming you aren't only mocking: when you're lost in a problem so complex that you don't even know where to start, you can focus your efforts (ie. narrow the s
by 10ren 16y ago
Assuming you aren't only mocking: when you're lost in a problem so complex that you don't even know where to start, you can focus your efforts (ie. narrow the scope) by trying to express your concern as a specific question (just one; trying to answer many questions simultaneously is a source of complexity and perplexity). Sounds simple, but this can take a surprising amount of work. It doesn't actually have to be a question - it can be a task, provided it's specific - but the question form really seems to help, perhaps by emphasizing that there's something you don't know, and that that's OK.
A question is usually about how to do something to something - ie. the stress is on a verb. It helps to understand what that really means by defining what it is about - ie. the nouns. Defining the nouns is usually pretty straightforward, and often reveals what it is that has made the problem difficult to think about. For me, the nouns are often an
input data structure (eg. a grammar + constraints), and an output data structure (eg. another grammar, or a particular function with certain qualities).
I tend towards being anti-functional programming, but I have to admit this is pretty much a declarative, mathematical, functional approach. It even feels functional, in that you end up creating new "variables" for new states (ie. immutable not variable), and although there's an explosion of names, things become very clear to express when you have a convenient and precise name for everything (ie. every noun).
- jodrellblank 16y agoNot mocking, and that was a very helpful explanation, thanks.