I think JavaScript should be the perfect language for explaining these concepts. Many programmers understand JavaScript, and it has higher-order functions.
And many programmers use JavaScript so they could easily start adopting this mechanism in their actual programs.
And many programmers use JavaScript so they could easily start adopting this mechanism in their actual programs.