Abstraction Comes to The Rescue of Developers! Slaughters Bits and Bytes

Abstraction Comes to The Rescue of Developers! Slaughters Bits and Bytes

Programmers who understand the importance of clean code know-how abstractions help

A programming language is nothing but a set of instructions written in a logical sequence to perform a task. The word task might be repetitive, very much similar, or partially similar. Modern Programming languages are so sophisticated that a code that would take some hundreds of pages can be achieved in a few lines. Simply put, condensing a program with inbuilt functions and libraries is called abstraction. It is not a novel concept or exclusive to the programming world. It exists in pretty much every domain. E.g., a car driver may know what it is like to drive a car using the steering wheel, gears, clutches, etc. but it is not necessary to understand how exactly the motor works or a smart lamp designer need not know the program that runs the lamp. Developers need not know how the human language kind of commands they type gets translated into a language of bits and bytes that the computer understands. Essentially, this is because programming has evolved to higher levels from the earlier assembly language, containing only 0s and 1s, which is not devoid of abstraction either!

Levels of abstraction

CPU – hardware system,

Firmware – controls the hardware of the system

Operating system – This is the level at which the API developers use to develop

Programs, applications, services, etc.

Why is abstraction essential?

Though abstraction might sound like something that is taken for granted, for quite a few reasons, it proves to be critical. Programmers who understand the importance of clean code know-how abstractions help them and how difficult it is to use the right abstractions. But resorting to too much abstraction might land the programmer in a complex maze of code, therefore it is necessary to find the sweet spot, between abstraction and detailing. And also, the programmers cannot depend on abstractions alone because they only define the implementation, which should be provided by the programmers elsewhere. It is like going to the page where you know what is written, using a bookmark.

Reasons why abstraction is required in programming

Simplifies representation of the domain models

Hides irrelevant details found in the code

Helps programmers partition the program into independent concepts

Offers flexibility when implementing ADT objects in different situations

"Managing complexity is the most important technical topic in software development. In my view, it's so important that Software's Primary Technical Imperative has to be managing complexity. Complexity is not a new feature of software development." Steve McConnell, Code Complete.

Related Stories

No stories found.
logo
Analytics Insight
www.analyticsinsight.net