Still, as other posters have commented, the real reason why (some) physicists are mad, is the seeming giving up on scientific testibility. I think this is wrong - that scientific testibility is possible, in principle and practice, and the ontological benefits of a Mulitverse are worth it. I could recommend David Deutcsh's book "Fabric of Reality" for an excellent discussion, or my own book "Theory of Nothing" (gratutitous plug warning).
There are, of course, plenty of situations where this is true: an example might be in the area of digital video editing, where free software is still inferior to turnkey solutions, and requires a lot more effort and patience to set up.
Conversely, there are plenty of situations where the per-seat license of proprietry software is crippling compared with using free software. High performance computing clusters are a classic example of this.
Both of these seemingly contradictory statements satisfy the original article's statement: "free programs are not always cheaper".
To keep a youngster interested and motivated, try Scratch or Alice. These make it really easy to generate some flashy graphics, and do teach real programming concepts. My 10 yo son has done quite a bit of Scratch programming, mostly self-taught.
Alternatively, get him doing Lego robotics. This is a bit more expensive, but loads of fun.
Once they're hooked on programming and computers, that's when they'll have the patience to do "real" programming languages like C++ etc, like we cut our teeth on (actually mine was Pascal, but that just shows how long my teeth are). But not everyone will get to that stage. In the meantime, the experience with Scratch (or Alice) will always be useful, provided they don't develop unrealistic expectations on how easy programming is.
I've noticed several design suggestions in your code.