3 ms·
While I appreciate the intent - to warn people about a scam - I find the content lacking in both insight of software engineering history as well as practice. 1
by fsloth 11y ago
While I appreciate the intent - to warn people about a scam - I find the content lacking in both insight of software engineering history as well as practice.
1. The message that automated tools will replace text based coding has been repeated every decade since text based programming languages were invented. Visual programming has found it's niches https://en.wikipedia.org/wiki/Visual_programming_language https://en.wikipedia.org/wiki/Visual_programming_language but somehow I'm still producing new code in C++ - and not only due to historical baggage of large organizations (while it does have a considerable part to play as well)
2. The view that visual programming will take the hard parts away from coding is highly misleading. It applies only to the stupid parts were one needs to connect input to output b as nauseam. On the large scale it will still be about systems design, and on the individual operand level about understanding, designing and debugging algorithms.
I understood the last point very strongly when observing my 8 year old progressing with his hobby programming in Scratch. At first he was quite flabbergasted at what to do with all of the blocks - then he followed some examples, but was still baffled. After a while when my wife found a book about Scratch programming for him (we're not native english speakers so it's not as trivial as it sounds) he was extatic that he found all these examples that finally explained to him how he could implement things.
But the thing is - he's not copying the examples verbatim, he parses the examples in his head, then figures out a new interesting variation of the technique with his own art and then implements it.
Clearly he has skills far beyond simply "connecting wires". The blocks take the tedium of parsing and compiler errors away but the algorithms he needs to still implement himself.
And the familiar categories of bugs are present there still. "Why is not my spaceship moving - Oh, I'm initializing this variable inside the loop and not just before it" - a simple mouse drag - and suddenly the space ship he drew is flying across the screen.