Abstraction is the essence.
in reply to Is too much abstraction a bad thing?
In the begining there was the electron, and it was good.
Then came the electronic adder, and it was better.
Then came the machine - the computer controlled by machine code, and it was complicated.
But the engineers invented programming languages to abstract away details like memory registers and complex math, and it was Perl.
Abstractions make it easier to handle the complex. This is true in all things, not just programming. Consider the modern car. We get in and drive. We don't need to know how combustion or how a universal gear works, only that when we put our foot on the gas, the car goes. We've abstracted away the details of the car and made it easier for people to use. The same is true for code.