I matriculated 2002 and we still learned Turbo Pascal. My cousin is about 5 years younger than me, and they used Java. He struggled quite a bit, because everything was so overwhelming when you first start. What is "static"? What does the "public" stand for?
And I'll agree, it was a hard sell for him to continue with Computer Sciences because it was just so many things you had to grasp from the start, and you saw little reward for all the hard work you do. Java to me just isn't a starter language, and the decline in students is understandable to me.
Using a GUI designer gives students the immediate feedback and they can see that the next step is "telling the button what to do". In Java, the expected way is to create a button in code, position it to some numbers that have no meaning yet, link up an event handler and get forced to wrap everything in something called an exception handler ("just write it that way, you don't need to understand yet what an exception handler is"). Its just too abstract.
I say, get them hooked on something simple as VB or python (or any other high-level language) and then start teaching them the deeper and more fundamental concepts.
As a sidenote: I don't know if things have changed since my time, but for god's sake, having Computer Science in Afrikaans is bad enough, but teaching them the Afrikaans acronyms is just ridiculous. A CPU is a 'SVE' (sentrale verwerkingseenheid), CD-ROM was 'KS-LAG' (kompakskyf lees-alleen-geheue). Siesa!