In the story Alice in Wonderland, Alice encounters a cat that disappears. The cat has a long conversation with Alice and grins; slowly it starts to disappear leaving only its grin. Alice remarks
Well! I’ve often seen a cat without a grin,’ thought Alice; `but a grin without a cat! It’s the most curious thing I ever say in my life!
To Alice it is so easy to associate the grin with the cheshire cat, but someone else who looks only at the grin will not be able to understand where did this grin come from.
During school days, my programming started with BASIC, it was introduced to me as high level languages. Curiosity and college curriculum made me go little low level and understand assembly & machine level to do some simple addition subtraction programs on it. The pain of using that made me understand the need for using a high level language. I would often write simple C programs and check the assembly generated by it to compare it with hand written assembly code and used to think that I could optimise the assembly code if I hand write and preferred low level for size & performance.
The idea of writing programs in assembly quickly died down after I learnt to write complex programs in C and Java but not able to get the same from assembly in the same amount of time, it plants a grin when we see what we wanted on the screen. I was just curious and sometimes try to see what happens behind the scenes for my C programs. Fast forward into current workplace, there was a rapid change in the way I could create a webapp; all I needed was to run a command and I get a skeleton webapp. It is like the cheshire cat grinning at me but there was no cat only the grin. I understand the grin because I have seen the cat, does it make a difference for people who have not spent time understanding at lower levels? Do people see the modern programming tools as magic or will curiosity drive us to understand what is happening behind the scenes?
You see, wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. Do you understand this? And radio operates exactly the same way: you send signals here, they receive them there. The only difference is that there is no cat. – Albert Einstein, when asked to describe radio