One of the most important skills a programmer needs is rigorous thinking. You can not "wish" the turtle to do something different -- and whatever it does is a direct result of your instructions. With logo, you can start to understand that "technically correct is the only kind of correct."
Because it is a safe and interactive playground, logo is a great entree to programming, as you suggested. Given the right tooling and attitude, 'real' programming is very much like this. I put a great deal of effort in minimizing my iterative loops because it helps with motivation and predictability.
Finally, the turtle metaphor is nice because the child imagines themselves as the turtle and so learns to anticipate what the turtle will do when given a set of commands by imagining themselves following it -- this is a fantastic exercise that helps build the skill of mentally modeling the behavior of a machine.
The turtle can do a lot more than pen-down, move, pen-up, but it is still a great metaphor for the computer being the automatic executor of the programmer's wishes.
One of the differences between very good programmers and mediocre programmer's that I've noticed is that very good programmers understand code as it commands the machine (virtual or physical,) whereas mediocre programmers understand code as such.
Logo is much closer to Assembly than to Java, and that's a Good Thing. You are right that there is a big distance between Logo and professional code -- similarly, there is a big difference between elementary math and actuarial science.
Because it is a safe and interactive playground, logo is a great entree to programming, as you suggested. Given the right tooling and attitude, 'real' programming is very much like this. I put a great deal of effort in minimizing my iterative loops because it helps with motivation and predictability.
Finally, the turtle metaphor is nice because the child imagines themselves as the turtle and so learns to anticipate what the turtle will do when given a set of commands by imagining themselves following it -- this is a fantastic exercise that helps build the skill of mentally modeling the behavior of a machine.
The turtle can do a lot more than pen-down, move, pen-up, but it is still a great metaphor for the computer being the automatic executor of the programmer's wishes.
One of the differences between very good programmers and mediocre programmer's that I've noticed is that very good programmers understand code as it commands the machine (virtual or physical,) whereas mediocre programmers understand code as such.
Logo is much closer to Assembly than to Java, and that's a Good Thing. You are right that there is a big distance between Logo and professional code -- similarly, there is a big difference between elementary math and actuarial science.