Re: Java is great for outsourcing
I was at Uni 90-94 (Joint Honours Physics and Computing), they taught us C, Ada and Smalltalk (as an OO language). I hated Ada because what you were supposed to do was write decent pseudocode, turn this into Ada syntax and hit compile and, if you'd done it right it would just work. Of course, having grown up with various BASIC languages (C64 & Amiga) I was used to just hacking it until it worked. Ada made you really work for that compile complete message (even checking at the compiler level that you had written error traps for potential DIV0 in your equations, for example).
When I started with the MOD in 95 they gave me 120,000 lines of undocumented buggy FORTRAN 77 code and told me to make it work. That was a baptism of fire for a shiny new grad - but even though I had never seen FORTRAN before I at least understood 'programming', so I got there in the end.
There was a moment when the US DOD dictated 'Thou shalt use ADA' that I thought my hard-earned skills might finally come to bear, but everybody in defence, who wasn't already using Ada, pretty much ignored it, and so the General who'd issued the dictat said he'd meant it as guidance and (almost) everybody pretended it hadn't happened. I've not even seen a piece of Ada code since 94 (and I still work in Defence).