Which came first, the blinker switch or the car?

Most authors defer the discussion of functions until they have discussed lots of other details about the programming language.

I disagree with that approach.

Rather than learning first about the blinker switch and later learning about the car, I believe it is best to first learn about the car and then drill down into the details to learn about the blinker switch.

My approach is to teach programming starting with the big picture and working down to the details instead of the other way around.

Functions are a part of the big picture.

It is easy to understand functions without having to know about the programming blinker switches.