Hello, My Name is Abstraction
Computers operate using 0s and 1s, but communicating directly in binary is impractical for humans. To bridge this gap, the Assembly language was invented, allowing programmers to write instructions in a more readable format. This was one of the first steps toward making programming more accessible. This is an example of abstraction.
To further simplify programming, the C language was developed. It allowed developers to write code more efficiently than in Assembly, introducing another layer of abstraction.
Then came high-level languages like Python, designed to make programming even easier and more intuitive. Once again, another level of abstraction was introduced.
For web development, frameworks like Django, Flask, and FastAPI were created to simplify tasks that would otherwise require writing extensive boilerplate code in Python. Yet another abstraction.
Developers like Bill create specialized classes and functions to facilitate interaction with external services. These, too, are forms of abstraction, making complex tasks more manageable.
For those who prefer not to write code at all, No-Code platforms have emerged, enabling users to build applications with drag-and-drop tools. This is yet another level of abstraction.
Over the years, hundreds—if not thousands—of layers of abstraction have been built, making technology more accessible to a wider audience. We can think of this as an abstraction hierarchy or abstraction levels.
Nice to meet you!