3 ms·
I find it unfortunate that there is such a gap in the learning experience between toy like visual programming and being thrust into general purpose languages. P
by rileyphone 5y ago
I find it unfortunate that there is such a gap in the learning experience between toy like visual programming and being thrust into general purpose languages. Python and Javascript have mountains of historical baggage and sharp corners that no neophyte should have to keep in mind. Papert showed in the 60s that children could learn Logo and learn to program in a textual language. Inspired by him, Kay and Goldberg put Smalltalk in the hands of middle schoolers and witnessed them create a variety of surprisingly complex applications [1].
By the 90s, there was a fruitful current of research around end user programming and the psychology of programming that offered principled insight into what would make a good programming language for learning [2]. Python and Javascript were designed before most of this work, and I strongly doubt much effort was directed this way regardless. Indeed, PL design seems to be driven by whimsy and intuitive notions, which we all know makes for a terrible user interface.
Add in the fractured and complicated environments in which programming takes place and I would argue that broader participation in programming is hampered by this unintentional form of gatekeeping. Somehow I began programming in C++ - I’m sure many, if not most, members of this community learned in as harsh an environment. This is a great flex but it also contributes to programmers being a sort of priestly class that can speak the magic of the machine. The future of computation that I am drawn to involves everyone, or at least as many as possible, being given the power to solve their own problems with computers, not just wait for and depend on someone else.
1. https://www.dgsiegel.net/files/refs/Kay,%20Goldberg%20-%20Personal%20Dynamic%20Media.pdf https://www.dgsiegel.net/files/refs/Kay,%20Goldberg%20-%20Pe...
2. https://home.cs.colorado.edu/~ralex/papers/PDF/VL98-scaffold.pdf https://home.cs.colorado.edu/~ralex/papers/PDF/VL98-scaffold...