I am not sure how disillusional I am
But today I made a new discovery, new to me, not to the world.
I was checking the table of content of the C++ Primer, 4th edition book
and it had a section or a chapter titled data types.
After playing with Tcl for a while now I have started to look down at any
language with so called "Data Types" ... or keywords
Anyway it struck me all of a suden
Data type = Input and Ouput.
A program is a plan (Programming is planning)
A plan is a system
A system have input, ouput and an environment
An environment is a system
A program have input and output
Data types, define the structure, the nature and the characteristics
of this input and ouput
Data types defines what a program can produce as output or receive as input
Data types are structured input and output
This is why we say functions are data types in functional programming language, they be produced as output, and used as input, now I think I truely get it.
A program that writes program, produce a function, a program a plan as its output.
Next time I read a table of content I will replace the words data types, with input and output, or the possible structure of input and output
Interesting!