In the 1960’s, when Seymour Papert invented Logo, the hot new innovation was Structured Programming, which emphasized three key concepts:
- Sequence: doing a group of items one after another (statements)
- Selection: choosing which items to work on next (conditionals)
- Repetition: doing the same thing more than once (loops)
This idea of organization programs into statements, conditionals, and loops — rather than just jumping around memory using “goto” — greatly increased the readability and maintainability of software. Forty years later, this concept of loops and conditionals is still used by virtually every Hour of Code tutorial.
But the story doesn’t end there. Since then, our industry has experimented with a variety of other techniques for organizing code, such as:
- Object-Oriented Programming
- Functional Programming
- Service-Oriented Architectures
These build on and modify the insights of Structured Programming in an attempt to make it easier to build large-scale systems. The techniques each have their strengths and weaknesses, and many programmers love to argue about which is “best.”
It made us think. The smallest and most primitive forms of computation — and the largest and most modern forms — are organized around the concept of reacting to streams of events. What if we could build a simple programming environment organized around that same concept — and cut out all the complexity that has grown up in the middle?
And so we did. Because it is built on both the technology and the concepts of node.js, we call it the Hour of NODE. We launch during CS Education Week, 2014. We hope you like it.