Next steps
I/O is essential for all software. No software runs in isolation, especially software written for systems. After all, these applications do not have a traditional user interface; they are meant to be used by other software. The only way to communicate with that software is by exchanging data in one way or another.
This chapter has looked at ways to serialize and deserialize data to and from storage. We saw that JSON is simple and produces human-readable data. However, the data can be pretty big. In contrast, the binary version results in much smaller data, but that data is not human-readable anymore. Additionally, it requires a third-party package. What is the best solution? That depends on your use cases! It doesn’t matter whether you use files or a network connection; they are all approaches of I/O. In this chapter, you saw how to do that efficiently, quickly, and safely.
However, one way that is much more efficient for systems software to communicate is through...