Conclusion
In this section, we touched upon the most fundamental ideas which form the foundation of the "developer's mindset". Although these ideas seem simple, they underlie virtually everything in the developer's world, and for good developers, these ideas are typically second instincts.
The key takeaways are:
- To abstract means to give a definition of something to someone, disregarding all information irrelevant to that "someone"; that "definition" is called the abstraction of that "something".
- A hierarchy is a tree of abstractions formed by grouping things together according to some rule, where the child abstractions relate to their parent abstractions in some way.
- A standard is an abstraction which is shared across multiple entities, and provides a unified way that allows different entities to interact with each other properly.
Even though what you learned in this section may seem to have nothing to do with programming, it provides a solid foundation that allows you to understand the logic behind different design choices and tradeoffs in the developer's world. That is, it allows you to understand not only "how" to do things, but also the "why".
You're on the right track, and you have made a good first step on the journey of becoming a good developer!
In the next section, we will take a look at how computers are abstracted to software applications and developers; this forms the basis of all programming languages and all software development processes.