Of Frameworks and Libraries

I was delivering a lecture on design patterns the other day. A student inquired whether design patterns were libraries. I had to spare some time to explain that this wasn’t the case. A library is a compiled code (of an application) that you can use in any program. By using I mean that you can call its objects, their functions, and properties in another program. This is a great utility of libraries. Consider that you have created an application that has a lot of functions to compute simple mathematical formulae. These could be anything like addition, multiplication, logarithmic, exponential or sinusoidal functions. One thing you can do is to compile it to create an executable program. The other thing you can do is to compile it to create a library. An example of the former is any executable program that a compiler creates. An example of the latter is a “jar” file created using the java compiler. Jar is an acronym for java archive(s). It is called an archive because it is a library that contains a compiled version of your application (your mathematics library).

Read more