I taught myself Commodore Structured Bsic, then learned Waterloo Structured Basic and Fortran in high school, and found it so easy. Then I taught myself Prolog, and while I hated the debugging and learning curve (after being taught purely imperative methods), I eventually learned it and to this day, it remains my favourite language. Not that I get hardly any chances to use it, but it teaches you to really think about the application at hand, and break down the work, as opposed to sloppily diving in and nibbling away at the task procedurally.
Nowadays I use various imperative languages, and miss Prolog's elegance, but the lessons I learned were never lost. Anyone can pick up imperative languages, but learning them first makes it harder to learn declarative languages afterwards. Learning declarative languages first teaches good concepts for life, and saves grief trying to get your head around it after learning imperative languages.
If you will only ever write simple scripts or apps with highly deliberate routines that you can easily figure out, then you may as well skip declarative languages, but if you may ever tackle something far too big for any single human brain, you will bless the days you learned the techniques in attacking a project using a declarative language. And why limit yourself from day one to simple coding that one day will surely be done by an app or offshored for a fraction of your price? I say it's truly worth the short 'pain'.
So I vote for learning a declarative language in school, then a more popular imperative language, which is the best way to instill good planning behaviour while minimizing the learning curve.