I had some didactic experience (programming basic courses for freashmen).
First of all, I told the students that the choice of the programming
language was an incidental fact. Not very important (we used Pascal).

Coding was only matter of translation from meta-language (used to develop
a solution) to programming language.

I'm not so sure of that for what concerns programming languages, in particular for Perl.
In programming languages do exist different paradigms: it doesn't happen in natural
languages. But this is another thread.

I was talking about my experience. My impression is that is not actually difficult
to comprehend what a scalar or a vector is.

What seem really difficult to teach are structured programming principles and
techniques. By-value- and by-reference calls, scope and so on. I don't mention
recursion, that seems really hard (are you including it in your book?)