Computer System and Programming in C


Please explain the following terms in layman’s language;

  1. Linker
  2. Loader
  3. Enumerated data type
solved 0
Computer Kanika Singh 2 years 1 Answer 381 views 0

Answer ( 1 )

  1. Hi Kanika

    There are 100+ definitions available on the internet. I am not going to repeat them. Let me give you simple example. Consider 2 persons. Person A and B. They are friendly neighbours. One day there was no electricity supply at the place of person A. So the water tank (of person A) got empty. He needed help in this case and hence he asked Person B. Now person B can help him in two ways.
    1. The person B can provide water by filling the bucket, which will be further transferred into the water tank by person A. This is loader. In the case of programming, the loader does the same task, loading the programs into memory and then preparing them for further execution.

    2. In another way, person B can connect all the pipes from his water tank with person A. So there will be no need of filling the water talk manually. This is linker. It directly combine the objects generated by compiler into a single executable program.

    Enumerated data types are mainly used in Hadoop while R programming for processing of large data sets. An enumerated type has values that are different from each other, and that can be compared and assigned, but are not specified by the programmer as having any particular concrete representation in the computer’s memory; compilers and interpreters can represent them arbitrarily.
    In C programming. An enumeration is a user-defined data type that consists of integral constants. To define an enumeration, keyword enum is used. You can change default values of enum elements during declaration (if necessary).

    So, let me make it simple.

    Consider an example of online shopping. You have various details for each transaction like product id, quantity, price, shipping date, delivery date etc. There is no need to use separate data types. Just with enumerated, you can use it combine together. It is rarely used in C. Mostly used for big data processing using R.

    One more example is from whatsapp and I think it will be easier to understand because in today’s world all students are whatsapp worm. That’s why I am relating this concept in similar way so that it would be easy to analyse situation at kernel level of bits programming.

    Just imagine the situation. You have a video in your phone’s storage. You have two friends and you want to send to both of them.

    Step 1- You open the chat box of friend A. Select the video from the gallery and send him the same. This is loader.

    Step 2- You select the video from chat box of friend A and forward it to friend B. This is linker.

    You will realise that time in step 2 is comparatively much less that that of time taken in step 1. So, the linker is always faster than the loader. You just have to map the reference object to the correct memory location.

    Hope it will help

    Feel free to ask us any doubt related to any subject.

    Just tweet us at @funlearnportal with #AskKFDN.

    Happy Learning!

    Best answer

Leave an answer