Implying that project-based learning fails is like saying the practice of learning to play whole pieces of music on piano fails (to use the same comparison the author has used.)
Staying on the author's comparison: to learn to play piano, one must practice exercises in isolation (deliberate practice, as Angela Duckworth calls it in "Grit," an amazing book) AND ALSO practice playing whole pieces of music.
The same is true for learning anything. Practice exercises in isolation PLUS project-based learning is the most effective way.
I think one difference with Piano at least is feedback, practicing on your own is going to have limited value if you don't know what a Song "should" sound like, if you don't know what proper technique looks like, if you don't have taste for what a good player sounds like. You need a teacher for that.
At least in Software you can easily get feedback on your own, i.e. if your program fails to run you have received instant feedback that you can improve on.
Your description of feedback for software development that "it runs" is like playing something on the piano and saying it sounds like the midi version so I'm good. There are a lot more accessible examples for piano than software development. You might not be able to determine how they accomplished some aspect but you can definitely hear & see the difference. The same is not true for software.
I suspect the most underrated skill for learning music is listening. With a close listen, it becomes obvious that when I play piano (novice at best), even just a single note does not sound as good as an excellent player. Once you've identified a gap, you can focus on learning how to fill it.
It's easy to get focused on objective measurements like how fast you play a scale and forget to ask "but does it sound great?" This is the bigges risk with the grit mindset. With software, it's more subtle but I think it's possible to essentially ask whether a program is lifeless or if it sings. The hard part is that usually you can feel whether a work is good before you can explain it. There is a lot of software that I might liken to some shredders on guitar: it's impressive technically but there is something ineffable missing and it leaves me feeling cold.
Implying that project-based learning fails is like saying the practice of learning to play whole pieces of music on piano fails (to use the same comparison the author has used.)
Staying on the author's comparison: to learn to play piano, one must practice exercises in isolation (deliberate practice, as Angela Duckworth calls it in "Grit," an amazing book) AND ALSO practice playing whole pieces of music.
The same is true for learning anything. Practice exercises in isolation PLUS project-based learning is the most effective way.