On Tue, Dec 10, 2013 at 4:25 PM, Gregory Ewing <greg.ew...@canterbury.ac.nz> wrote: >> On Monday, December 9, 2013 5:53:41 PM UTC+5:30, Oscar Benjamin wrote: >> >>> 5) Learning to program "should be painful" and we should expect the >>> students to complain about it (someone actually said that!) but the >>> pain makes them better programmers in the end. > > > That's like saying that when teaching woodwork we shouldn't > let people use hammers, we should make them use rocks to > bang nails in, because it will make them better carpenters > in the long run.
But in teaching woodwork you SHOULD let people use basic tools, and not just a CNC lathe. Or in the most extreme sense, putting together IKEA furniture is not carpentry, and neither is picking from an extremely limited toolbox programming - which is why "Build a program without writing a line of code" systems are junk for anything complicated. (Occasionally, VERY occasionally, it's possible to use the simple drag-and-drop system to get you 90% of the way, and then fill in the rest yourself. Usually, you'll end up fighting the system as soon as you do something the author didn't intend.) Programming shouldn't be painful just for the sake of making it painful. But you should be programming, not just solving a Sudoku puzzle. It should be possible for a programmer to develop a unique program that does a unique thing, and if that's beyond the scope of the system, the system isn't a programming system. (Might still be a useful system, of course, but it's not programming.) ChrisA -- https://mail.python.org/mailman/listinfo/python-list