> From: Brian <http://www.cs..edu/~b> > Date: Tue, 16 Feb 2021 18:42:19 -0800 > > But it also turns out to be convenient to modify the array representing > a picture in place. I'm not actually sure I understand that, because > hyperblocks are essentially functional; you say A+B where A and B are > arrays, and you get a third array. But at least Jens and Jadga, his > German colleague at SAP, find themselves using array mutation, and their > teaching experience (mostly but not entirely in workshops for the > children of SAP employees) suggests that kids find it easier to > understand and to write imperative programs. > > Is it clear why I hate this? To me it's a repudiation of our whole > approach of featuring functional programming. It's saying that > imperative programming is the thing kids are going to want, and the > thing /we/ want. It's saying that all those mainstream programmers and > Java teachers who think assignment and mutation and sequences of steps > are what it's all about have the right idea after all. I wonder if "imperativeness" kinda soaks in from our cultural surroundings? Sorta like how trying to get boys to play with dolls and girls to play with cars and trucks never ends up working, and they just revert to their "gender destination". Intuitively, in-place modification of data is a very strange concept. It seems like an optimization of computation before you even know that there is a performance issue.