“Oh come on,” I hear you say, “It’s not that bad, is it?”
Well yeah, it is.
Bobby Brennan’s blog post about upgrading to asynch/await
is well-written, as gentle as it can be,
and completely out of reach for people who are still struggling to understand what loops actually do.
As just one example,
think about how many things someone needs to understand
in order to understand when they can use
and when they have to use
A course can’t just start with
and then go on to promises and async/await
because the Node library functions we want to call repeatedly are asynchronous.
I don’t know where this leaves me. I really want people to be able to build interactive browser applications by the end of the semester, but I don’t want them to have to learn two languages to get there. What I do know is that the world would be a better place if language designers adopted tutorial-driven design: write the lessons that introduce newcomers to the language, then implement the features those tutorials require.