What is exactly library function in programming language?


 
What is exactly library function in programming language?
In programming, a definition of library can be following: a collection of pre-compiled and non-volatile routines used by programs. These routines, sometimes called modules, can include configuration data, documentation, message templates, subroutines, classes, values or type specifications.
Why use Libraries?
The main reason for using libraries is re-usability. All we need to do is use one function call and a whole task will be performed that would otherwise require code ranging from several to several dozen lines.
Most libraries contain functions that the ordinary user would not be able to re-create. Without the use of these libraries each user would have to understand the inner workings of each aspect of their respective programming language. Keep in mind that the libraries you use so casually were developed by professionals with years of experience.
Another obvious benefit is the significant decrease in time required for coding.
Types of Programming Libraries
We’ll be going through a few generic types of Libraries typically found in all languages. This will help you get an idea of the tasks Libraries are created to carry out. We’ll be going through a few generic types of Libraries typically found in all languages. This will help you get an idea of the tasks Libraries are created to carry out.
Keep in mind that there may be several libraries for something, like building GUI. They typically each have their own strengths and weaknesses with varying levels of ease of use, different learning curves and different potentials. With reference to GUI’s, some GUI libraries might be more touch-screen focused, while some are more desktop oriented. It’s up to you to evaluate each library and make your decision based on your needs.
1)Date and Time: A very simple type of library found in all programming languages. Deals with date and time related tasks such as finding the current date, finding the difference between two dates and more.
2)OS and System Related: These types of libraries deal with the operating system of the device. They have many functions that give you information regarding the system, file paths, directories and more.
3)Web-Scraping: Web-scraping is the act of extracting data from the internet. Libraries related to web-scraping help you extract this data in a readable format. Furthermore, they also handle the act of actually connecting to a website securely, terminating the connection when required and more.
4)GUI development: Once you’ve taken off your training wheels, GUI development is one of the first things you should be learning. Creating a user interface for your application is very important. If you intend on developing software applications, you can’t have your user interacting with the command prompt.
5)Game Development: A rather niche library type, but important nonetheless. 2-D and 3-D animation, sprite making, world-building and more. Pick your libraries carefully here. Game development libraries are one of the hardest to master, but also reap great rewards.
6)Web-programming: Another massive field which hosts all kinds of different libraries for various web related activities. Libraries here are usually used for connecting to the internet, socket programming, TCP servers and more.
Framework
In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard way to build and deploy applications and is a universal, reusable software environment that provides particular functionality as part of a larger software platform to facilitate the development of software applications, products and solutions. Software frameworks may include support programs, compilers, code libraries, toolsets, and application programming interfaces (APIs) that bring together all the different components to enable development of a project or system.
Frameworks have key distinguishing features that separate them from normal libraries:
inversion of control: In a framework, unlike in libraries or in standard user applications, the overall program's flow of control is not dictated by the caller, but by the framework.[1] This is usually achieved with the Template Method Pattern.
default behaviour: This can be provided with the invariant methods of the Template Method Pattern in an abstract class which is provided by the framework.
extensibility: A user can extend the framework – usually by selective overriding – or programmers can add specialized user code to provide specific functionality. This is usually achieved by a hook method in a subclass that overrides a template method in the superclass.
non-modifiable framework code: The framework code, in general, is not supposed to be modified, while accepting user-implemented extensions. In other words, users can extend the framework, but cannot modify its code.

Posted on by