I was having a conversation with my old friend Solomon when this hit me. For the past couple days before then, the only language we spoke/joked in was a blend of English and excessive computing/Data Science Jargons. Then the thought of how there isn't much difference between Data and Information kept ringing in my head.

I went ahead to do some research on both terms

Data Think of data as a "raw material" - it needs to be processed before it can be turned into something useful. Hence the need for "data processing". Data comes in many forms - numbers, words, symbols. Data relates to transactions, events and facts. On its own - it is not very useful.

Information is data that has been processed in such a way as to be meaningful to the person who receives it.

(excerpts from https://www.tutor2u.net/business/reference/the-difference-between-data-and-information)

Going by the definition of Data( from above and mostly everywhere else you look), Ideal examples of Data would be:

        2, 68970, 10000110, "yes I can go to school".

Then the next point of thought would be how to process the data examples given above into Information by feeding them into a Computer/Data processor. But in actual fact what processing can be done with the mere data:
        2, 68970, 10000110, "yes I can go to school"?

They are all just a useless/meaningless set of values that cannot be acted upon both as humans and as machines/computers to produce anything meaningful because they lack context.

2 what? 68970 what? 10000110 what? "yes I can go to school" - who are you?

Say we have a computer program that does the simplest job such as formatting Contact details of users in a readable form.

        Func contactDetails (str name, int age, str email, str address)
        Name: {Insert name here}
        Age: {Insert age here} Years
        Email: {Insert email here}
        Address: {Insert address here}

Running the program in the following ways will fail:
        contactDetails(2, 68970, 10000110, "yes I can go to school")
        Output: Invalid arguments

        Output: Invalid arguments

        contactDetails("Ifedapo Olarewaju")
        Output: Invalid arguments

        contactDetails("Ifedapo Olarewaju", "ifedapoolarewaju@gmail.com", 89, "65, James Walton Street, Lagos Nigeria")
        Output: Invalid arguments

Computers typically read data, but it is not necessarily something that a computer actually understands.


If the Computer Program does not infact need to understand the data fed to it, then none of the executions above would fail.

The executions above fail infact, because the program is being fed the wrong data. But how can data be wrong if it's meaningless as we propose. This must mean what we are feeding the computer is not mere data. We are feeding the computer Information instead. Thus the wrong information would either break the execution or lead to a falsy output.

Merely looking at the program definition

        Func contactDetails (str name, int age, str email, str address)

It becomes apparent that the function does not only require Data, It requires data put into context.

The first argument of the function must be a string by definition and must be the name of the user. That's equivalent to the computer program asking you "What's the name of the user" and you respond with "The User's name is Ifedapo Olarewaju".

"The User's name is Ifedapo Olarewaju": Now is that Data or Information? That sounds a lot like information to me. Because at that point when you pass the argument, then the program already knows the user's name and information has been passed by putting the data "Ifedapo Olarewaju" into context.

Moving to the second argument; It must be an Integer number, because the program knows what it requires is the age of a user which must be a number.

(NB saying the program "knows" just means whoever wrote the program knows hence made the program intelligent enough to apply certain rules, such as requiring a formatted form of input).

Which means passing the value "foo" into the second argument would immediately fail because it is wrong information. Note again that Data can not be wrong by definition, because it is meaningless in it's natural form. This again proves that the program requires not just data, it requires a particular type of data. It's like the program asks you "What's Ifedapo Olarewaju's age" and you respond with "foo". And then the program says "No you retard! The age should be a number not a string".

This goes for all the other arguments of the function. Knowing what form of input the program requires will then enable us run it in the right form like so:

        contactDetails("Ifedapo Olarewaju", 95, "ifedapoolarewaju@gmail.com", "50, James Harrison Street.")

        Name: Ifedapo Olarewaju
        Age: 95 Years
        Email: ifedapoolarewaju@gmail.com
        Address: 50, James Harrison Street.

Look at it this way, The program had placeholders for you to input name, age, email and address into it. Which means he who executes the program has to know the name of the user, the age, her email and her address. Now is that data or information? Sounds like information to me. Another thing to note is the functionality of the program. " formatting Contact details of users in a readable form". If the output which is formatted data is regarded as information. And the program itself requires to be executed in the following manner/format contactDetails (str name, int age, str email, str address). Then it means the program in itself also needs formatted input(which in essence is information) to produce formatted output(which in essence is also information).


In conclusion, this article does not redefine Data. Instead it redefines Information. Information is not processed data. Mere Data cannot be processed to produce anything meaningful as it is meaningless and hence useless. A computer therefore can only process information to produce Information. However, knowing that Data only becomes meaningful (thus information) when put into context. This would mean a better definition for information could be:

Information is Data provided with context.