With due respect to the discussion on relative merits of Java, Haskell,
Miranda, Python etc. of which consensus is undesirable anyway (imho).
Many students disengage at the first mention of language basics.
But they desperately want to make something themselves, generally a game.
Could I suggest you consider the goal (and thus the design) of the introductory
course to be more important than types, loops, conditionals syntax etc.
Design the learning environment around achieving a concrete goal (game), give
plenty of starting points, working prototypes, even finished product that could
Structure perhaps as tutorials bookending self-directed learning stages, with
sufficient support from more experienced programmers.
Consider adopting some of the methods and practices of Problem Based Learning
(PBL) which emphasises group aspects of learning in teams and as a consequence
also develops the students' social and organisational maturity.
Thinking in terms of best Language, programming environment, IDEs etc really
gets in the way and shouldn't be the subject matter of or in itself for
beginners or anyone else.
The Open University is incorporated by Royal Charter (RC 000391), an exempt
charity in England & Wales and a charity registered in Scotland (SC 038302).