diff --git a/research/activity37-programming-languages.yaml b/research/activity37-programming-languages.yaml index a0fb74e..025ef21 100644 --- a/research/activity37-programming-languages.yaml +++ b/research/activity37-programming-languages.yaml @@ -117,9 +117,62 @@ sections: - The traditional first program in any language is 'Hello World' - a program that displays text to the screen. This tradition dates back to the 1970s and serves as a simple test that your programming environment is working correctly. - '' - '### Understanding Standard Output (stdout)' - - '**What is stdout?** Standard output (stdout) is the default destination where programs send their text output. When you run a program in a terminal or console, stdout is what displays on the screen.' - '' - - '**Why is this important?** Almost every program needs to communicate with its users. Whether it''s displaying results, showing error messages, or presenting information, stdout is the fundamental way programs "talk" to people.' + - '**What is stdout?**' + - 'The term **stdout** (pronounced "standard out") stands for **standard output**. It''s the default destination where programs send their text output. When you run a program in a terminal or console, stdout is what displays on the screen.' + - '' + - '**Breaking down the terminology:**' + - '- **Standard** = The default, conventional way programs handle output' + - '- **Output** = Information flowing OUT of the program to the user' + - '- **stdout** = Lowercase shorthand used in programming (also written as STDOUT in some contexts)' + - '' + - '**The Three Standard Streams**' + - 'In Unix/Linux systems (and adopted by Windows), every program has three standard "streams" of data:' + - '' + - '1. **stdin (standard input)** - Where programs receive input (usually keyboard)' + - '2. **stdout (standard output)** - Where programs send normal output (usually screen)' + - '3. **stderr (standard error)** - Where programs send error messages (usually screen)' + - '' + - 'Right now we''re focusing on **stdout** because displaying output is the first thing beginners learn!' + - '' + - '**Why is stdout important?**' + - 'Almost every program needs to communicate with its users. Whether it''s:' + - '- Displaying calculation results' + - '- Showing progress updates' + - '- Presenting information to the user' + - '- Debugging your code (printing variable values)' + - '' + - '...stdout is the fundamental way programs "talk" to people.' + - '' + - '**How stdout works:**' + - '' + - '```' + - 'Your Program → stdout → Terminal/Console → Your Screen' + - '```' + - '' + - 'When you write `print("Hello")` in Python or `console.log("Hello")` in JavaScript, you''re sending text to stdout, which the operating system then displays in your terminal window.' + - '' + - '**Historical Context**' + - 'The concept of standard streams comes from Unix in the 1970s. Before graphical interfaces, all computing was done in text terminals. Programs needed a consistent way to:' + - '- Read input (stdin)' + - '- Display output (stdout)' + - '- Report errors (stderr)' + - '' + - 'This simple, powerful design is still used today in every programming language!' + - '' + - '**Why "standard"?**' + - 'It''s called "standard" because:' + - '- Every program automatically has these streams connected when it starts' + - '- It''s the standard/default way programs communicate' + - '- It works consistently across different operating systems' + - '- Other programs can read from or write to these streams (piping, redirection)' + - '' + - '**Advanced: Redirection (You don''t need this yet, but it''s cool!)**' + - 'Because stdout is a "stream," you can redirect it:' + - '- `program > output.txt` - Send stdout to a file instead of the screen' + - '- `program1 | program2` - Send program1''s stdout to program2''s stdin' + - '' + - 'This is why understanding stdout matters - it''s not just "printing to the screen," it''s sending data to a stream that can go anywhere!' - '' - '### How Different Languages Display Output' - 'Every programming language has its own syntax, but they all accomplish the same goal. Here are examples across different languages:'