I am 13 and I know lots of Codes....
C++ was hard because of the complexity (data types, casts, compilers, etc.) Currently i'm coding a C++ program and of course it's fun to see it execute.
(w3schools offers great tutorials/reference/try-it-activities for HTML and CSS. Codecademy offers excellent JS and PHP tutorials which is centered around try-it activities. cplusplus.com offers a great tutorial and reference, plus plus it has a C++ forum)
Really, to me at least, the best way to learn to code is to do it yourself, and the best way to make it seem fun to a child (Let's say 7) is to have them start coding and show them the output.
A young child will find anything to be cool. If he/she can learn to code a JS "Hello World" program, then he/she will say "cool". Then add a few setTimeout's and he/she is amazed.
In my opinion, hands-on learning and writing code is better than a turtle game. But no matter if you use a turtle game or writing from scratch, if the child sees the code, the child will want to learn more, do more, write more, and experimenting with code.
I have a friend who started with python; It is a good introduction to web coding and scripting. But I believe that the first code language you learn should be HTML, followed by CSS and JS. (The three languages every web developer should know). Then other languages like python, PHP, and C++ should be learned after learning the other 3.