By James Bell
You may have come across this term “Layers of Abstraction” when researching about programming and web development. I know I did but I wondered, what does this mean?
A great way to explore the unknown in the modern era is to look it up on the internet. There are many Q & A type forums with very fancy words and complicated definitions that had my head spinning. This explanation in no way encompasses all situations, uses, or definitions. We hope you find this useful as a basic starting point for comprehension on the subject.
In computer programming you typically have a lot of code and if you try to look at it all at the same time it’s overwhelming. It’s hard to see what is going on as it can be very complicated. Sections may repeat themselves in various parts many times. If you assign these smaller pieces names and put them together, you can see the higher level flow and it makes more sense. This is moving to a higher Layer of Abstraction.
I think of it like functions in math. If you’ve ever worked with functions, you’ve used Layers of Abstractions already, just in a different context. Let’s say you have a very complicated function called f(e). For this example let’s assume f(e) has a bunch of division, exponents, etc. Now let’s say you want to use this function as a variable in an even bigger math problem. Instead of writing out the entire details of this function every time where you can’t see the forest from the trees, we abstract away the details to just show f(e) in place of all that math. Congratulations! You just went up a Layer of Abstraction! It’s easier to see the bigger picture once you clear away all that clutter and that’s the idea behind these Layers.
This function in the larger scheme of things and the ability to zoom out is how we see the bigger picture. This is moving to a higher Layers of Abstraction. If you need to get into the details of a specific function, we go down a Layer and have that discussion there. We go up in layers as details are assigned a label, similar to a variable. We know that this section of code does something and we assign it a name so that we can fit these bigger pieces together. By abstracting away all the details, it becomes clearer how all these smaller pieces work together. Layers of Abstraction are like a zooming lens, you zoom “in” or down a Layer to see more detail and you zoom “out” when you move up in Layers.
A few things to keep in mind. Every Layer above requires the Layer below it. It can’t be a mystery and it needs the detail to actually do anything. This also doesn’t even need to be the same system or application. Sometimes entire software applications can be a Layer that interact with other software. Different components of one larger system can exist in different Layers. Also, don’t feel that more complex and expensive necessarily means it’s better.
This information is just a starting point on your quest for knowledge which we highly applaud you pursuing. Now when your fancy IT department tries to throw around this piece of technological jargon, you can stay in the conversation.
15 March 2020
15 December 2019
14 November 2019
07 November 2019
12 October 2019
26 September 2019
11 September 2019
Powered By Impressive Business WordPress Theme