Difference between revisions of "Libraries & Frameworks Overview"

From
Jump to: navigation, search
Line 4: Line 4:
 
* [http://en.wikipedia.org/wiki/Comparison_of_deep_learning_software Comparison of deep learning software | Wikipedia]
 
* [http://en.wikipedia.org/wiki/Comparison_of_deep_learning_software Comparison of deep learning software | Wikipedia]
 
* [http://clouddon.com/2018/03/modern-ai-stack-ai-as-a-service-consumption-models/ Modern AI Stack & AI as a Service Consumption Models]
 
* [http://clouddon.com/2018/03/modern-ai-stack-ai-as-a-service-consumption-models/ Modern AI Stack & AI as a Service Consumption Models]
* [[GitHub]]
+
* [[Git - GitHub and GitLab]]
  
 
https://www.programcreek.com/wp-content/uploads/2011/09/framework-vs-library.png
 
https://www.programcreek.com/wp-content/uploads/2011/09/framework-vs-library.png

Revision as of 08:44, 3 July 2018

Youtube search...

framework-vs-library.png

The key difference between a library and a framework is "Inversion of Control". When you call a method from a library, you are in control. But with a framework, the control is inverted: the framework calls you.

  • Library - a collection of code or class definitions. The reason behind is simply code reuse, i.e. get the code that has already been written by other developers. The classes and methods normally define specific operations in a domain specific area. For example, there are some libraries of mathematics which can let developer just call the function without redo the implementation of how an algorithm works.
  • Framework - all the control flow is already there, and there's a bunch of predefined white spots that you should fill out with your code. A framework is normally more complex. It defines a skeleton where the application defines its own features to fill out the skeleton. In this way, your code will be called by the framework when appropriately. The benefit is that developers do not need to worry about if a design is good or not, but just about implementing domain specific functions.