I/O
I/O is the transfer of data between a program and an external source or destination, such as a file, device, service, or network.
Python Concurrency with asyncio
An I/O operation transfers data between a program and an external resource such as a file, device, or network endpoint.
- How it is used
- Frames I/O as the main source of application blocking and motivates concurrency for responsive programs.
- How deep it goes
- Explains blocking, concurrency, and GIL release during I/O, but stops short of detailed system-call mechanics.
- Examples
- Uses keyboards, hard drives, network cards, web APIs, and repeated example.com status-code requests.
- What you can do after
- Apply concurrency with asyncio or threads to overlap waiting web requests and improve responsiveness.
F# in Action: A Revised Edition of Get Programming with F#
External I/O is input or output involving a resource outside the program, such as a network service or database.
- How it is used
- Uses I/O to organize interactions with HTTP, databases, files, consoles, and other external resources.
- How deep it goes
- Explains boundary placement and asynchronous use cases, but stops short of implementation details or type-level enforcement.
- Examples
- Uses HTTP requests, database calls, console interaction, file systems, JSON validation, SQL commands, and HTTP responses.
- What you can do after
- Apply it via boundary-oriented design that keeps business logic pure and makes asynchronous external work explicit.
Read how F# in Action: A Revised Edition of Get Programming with F# explains I/O →
The Quick Python Book, Fourth Edition
I/O is the transfer of data into and out of a program through streams, files, devices, or other interfaces.
- How it is used
- Handles interactive input, terminal streams, file redirection, text and binary files, and persistent Python data.
- How deep it goes
- Explains input conversion, stream methods, redirection and restoration, then points to specialized persistence and binary-format tools.
- Examples
- Demonstrates input(), integer conversion, sys.stdin.readline(), stdout redirection, print(file=f), and captured file contents.
- What you can do after
- Apply Python’s input, stream, file, path, binary-format, and persistence interfaces to move or save program data.
Read how The Quick Python Book, Fourth Edition explains I/O →
Code Like a Pro in Rust
I/O is the exchange of data between a program and an external source or destination such as a file, device, or network.
- How it is used
- Frames I/O as a stateful operation requiring error handling, testing, and an execution model suited to waiting time.
- How deep it goes
- Explains blocking and nonblocking behavior, waiting-time interleaving, and testing implications without detailing specific APIs.
- Examples
- Uses filesystem access, sockets, timers, hash computation, and a blocking-versus-nonblocking timing figure.
- What you can do after
- Evaluate whether synchronous blocking or asynchronous nonblocking I/O better fits waiting-heavy workloads and test I/O paths appropriately.
Related concepts
- asynchronous programmingused by · Asynchronous programming is an execution approach in which operations can progress independently without requiring the initiating flow to wait for their completion or an immediate response.
- file objectuses · A file object is a program-accessible representation of an open file or stream, including its access state and input/output operations.
- side effectproduces · A software side effect is an observable change or interaction caused by an operation beyond producing its direct result, such as modifying state or performing input or output.
- clojure.java.ioused by · clojure.java.io is a Clojure namespace that provides polymorphic utilities for interacting with Java input/output resources, files, URLs, and classpath resources.
- selectused by · select is an operating-system interface that blocks while monitoring multiple file descriptors or sockets until one or more are ready for I/O.
- integration testused by · An integration test evaluates whether multiple software components, or a component and an external dependency, interact and behave correctly together.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.



