Stumptownfin.com

Portland's finest Finance blog and resource
  • About
  • About the Owner
  • Industry Links
  • Legal Information
  • Welcome to Stumptown Finance

Layers of Abstraction

  • Home
  • /
  • Tips and Tricks
  • /
  • Layers of Abstraction

Layers of Abstraction

By James Bell

  • Computer Science , Tips and Tricks ,
  • 30 Dec

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.

You’ve Seen This Before

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.

Did I lose you yet? 

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.

Layer Dependency

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.

    Recent Posts

  • Overall Equipment Effectiveness

    15 March 2020

  • Cash Conversion Ratio

    15 December 2019

  • Cash Value Added

    14 November 2019

  • Practical Tips for Achieving Your Financial Goals

    07 November 2019

  • Price-to-Research Ratio

    12 October 2019

  • Economic Value Added

    26 September 2019

  • Create a Virtual Environment for Jupyter Notebook

    11 September 2019

Categories

  • Accounting
  • Computer Science
  • Corporate Strategy
  • Data Science
  • Economics
  • Finance
  • Higher Level Management
  • Manufacturing
  • Marketing and Advertising
  • Mergers and Acquisitions
  • Metrics and Ratios
  • Programming
  • Project Management
  • Regulatory
  • SaaS
  • Skills and Attributes
  • Statistics
  • Tax updates
  • Tips and Tricks

Powered By Impressive Business WordPress Theme

Terms and Conditions