All what you need to know about TypoScript

What is TypoScript

People are so confused and unhappy with TYPO3 also because it added a new "script language" that usually people do not like to deal with.
So what's TypoScript (TS) and why it has been used? Is it as complex as people things?  

By TYPO3 Documentation it has been defined as follows:
"TypoScript is a syntax for defining information in a hierarchical structure using simple ASCII text content."

This means that: TypoScript itself does not "do" anything - it just contains information.

TypoScript is only transformed into function when it is passed to a program which is designed to act according to the information in a TypoScript information structure. So strictly speaking TypoScript has no function in itself, only when used in a certain context. Since the context is almost always to configure something you can often understand TypoScript as parameters (or function arguments) passed to a function which acts accordingly (e.g. "background_color = red"). And on the contrary you will probably never see TypoScript used to store information like a database of addresses - you would use XML or SQL for that.