Its generally easier that thinking in sets. Certainly my not so talented team leader always describes database queries in terms of "if it has this then do this". I translate these into "give me the set where".
No, it's not generally easier. You can't generalize because people around you, who were taught to think imperatively, are thinking imperatively. You don't know how would it be if they were taught to think in terms of set theory. It might be the other way around or it could be not. That's the point: we don't have the data to generalize on which thinking is easier.
Ok, have you got any non anecdotal evidence that proves it is "being taught imperatively" that makes imperative programming the "mainstream"? In 11 years I have met very few people who program functionally, and usually those people are good enough to know multiple paradigms. As far as I know most universities teach both.
Most of the universities I have seen or heard about teach C, C++, Java, Python
or the like on their courses. Only a subset of them teach also functional
languages (which is still quite far from declarativeness, but let's ignore
this for the time being), but even those don't require functional programming
throughout the whole time and people fall back to imperative languages.
Let's go further. Most of the materials in the internet are about programming
in imperative languages. Those are the most popular, including popularity
among newcommers.
I have never heard about anybody who started learning programming by
learning Lisp, Haskell, OCaml, SML or any other functional language. Similarly
I haven't heard about somebody, who learned one of those as his second
language and got any proficiency in them.
Please provide any data that contradicts the common sense conclusion (at least
common sense for me) that vast majority of people who were taught programming,
were taught programming imperatively.