When I am trying to solve a problem, I write the problem down first, then move into breaking it down in a process. I define the actors involved, the expected input and the expected output and any error conditions that I identify. Then from there I generate a simple hand written flow chart (not fancy) that will serve as a happy path through the problem.
When I get to the engineering of the problem that is where I start identifying parameter limits, error conditions, output limits and then generally write down some pseudo code to give me something to look at, sometimes that means flushing out a more complete flow diagram first. And I generally use just natural language, as none of what I am writing down is real code, although I may use abbreviations or C syntax at times to express something if it is easier. For example, I use the conditional ? : quite often for simple flow control statements just because it is compact to write, even though in code I may not use that operator in that instance.
I do translate my notes as I work through the problems and put them in a tool like OneNote or Evernote etc. But I always start off with sketches and notes in a notebook. My bet is if you looked at the pattern of those who use notebooks vs those who don't, you'd find those of us using notebooks still skew to an older average age. 40ish+ likely.
Personally, I also jot down pseudo code on paper to get my thoughts right before starting to code the problem. This lets me get my thoughts straight before coding it and I find I make fewer mistakes, plus I am faster when I do this. It is also one of the reasons I dislike coding interviews where someone wants you to just start writing code in the IDE. I don't do that well, because to me the process is, understand the problem, design the solution, engineer the solution, then start coding.