As usual, Geekstorming nails it right on the head:
This introductory comp sci course teaches Java. Java, as you probably know, is a language in which the canonical “Hello, world!” program takes seven lines of code and requires you to invoke the following concepts:
- Static methods
- Command-line arguments
None of which, you may notice, have anything to do with writing “Hello, world!” on the screen.
Yes, this is self-evidently ludicrous! That kind of problem is one of the very reasons behind concept programming. The way we teach programming today relies on a serious cognitive dissonance between the concepts that would be natural to use and the one you actually have to use. Hopefully, XL is a step in the right direction.
But really, it seems like we always find a way to teach things in a complicated way.