My usual answer to that: all languages have a learning curve, and no language is 100% intuitive. I’ve been bitten more than once by some C/C++ features because they behave differently from Fortran, and because I am primarily a Fortran programmer with little experience in C/C++
And one can actually argue that the reallocation on assignment is far more natural for a complete newcomer: a = b meaning that the object a is identical to the object b after completion looks logical… Also, the only other popular language that extensively uses array syntax is Matlab/Octave, where reallocation on assignment is everywhere.
Reallocation on assignment is actually the most disturbing for Fortran programmer who learned the array syntax starting with Fortran 90 and got used to the behavior without reallocation on assignment.
No, it’s not easy to forget. It’s like bicycle: Once you know, you know…
I can agree on the fact that it was not a must-have addition to the language. I use it now that it’s here, but I could easily do without it.