Have you ever thought — How to explain programming to the one never faced it before? It could be a problem, as long a new one will not understand you. So, let's imagine — you have a friend, who is not soiled by computer science, never tried to automate something, never played factorio, never written a single line of code. So, let's imagine a normal human being. And let's call him Bill. He is not very good in Maths, just “not good”, but he loves candies!  Your task is to teach Bill some basic(or magic) IT things, you are doing every day. The simplest ones.
So what shall you do first? Basically — FEED HIM! Long story short, but one day Andrey Alexandrescu asked Bill: Then Bill got the candy, unwrapped it from Candy wrapper and ate the payload.
Simple? And we have used two magic words! Just a few days later Wirth asked Bill: This is a condition-controlled loop, or a cycle. But there was no candy, and Bill got a common null pointer exception. Beware — if Alexandrescu will suddenly return and continue to feed Bill with candies — a buffer overflow will occur. As long as Bill will always accept a new candy.  Next day Wirth was prepared. He has got a big bag of candies. In this case, Wirth will provide a candy only if he has one.
Here we got a cycle with precondition. But one day Bill come to Wirth`s house, and house: It was a cycle with postcondition. Sad story. Thank god police were nearby. Be careful next time, and do not feed wild birds (and Bill).  Decades later Dan Abramov comes to Bill and put all his candies on the table: It was a collection-controlled loop. Just after it, Dan got another bag, put all candies on the table, count them, and put back to the bag. It was a count-controlled loop.  Sooner or later, but Bjarne Stroustrup comes to feed Bill. Bill was munching a candy. He was busy and nothing can disturb him. He has raised a mutex, the thread got locked and time stops… Bjarne was a very clever one, and he found a solution: Here we got a thread synchronization. Ok, this time we will call for Peter_Norton. This operation or sequence is called LIFO — Last it, First out. As long the candy from the bottom of the pack will be eaten last.
At the same time, Bill`s digestion is a FIFO — first in, first out. You had to know it before.  Donald_Knuth also joined the feeding team. But one day he got tired of buying new candies for Bill, and he asked a catering company to do it.  But Dennis_Ritchie was even clever! It was a pointer. But, then Bill reached that address he found only a secret military object. Nobody saw him since then.
 A few months later, after escaping from jail, he tried to repeat, but yet again can't reach “the target”. This time something was stopping him at a distance — invisible, and indestructible walls of bounds checking. But one day… Even, to say the truth — night — Cyberdemon comes to Bill`s house and shout: So, Bill has got his candies yet again. But this is a bit sad story, as long he forgets to check the type of payload or perform any other data validation. ️  After that Bill woke up in a void, and hear: This is how ping works. In the disturbed systems with non-zero latency this might look so: But this case valid only for TCP/UDP. In the case of TCP/IP, it might be As long sibling packets will be joined by time or size factor(aka MTU).  I have a lot of untold stories, like a Bill and Gang-of-Four, or non-cross-browser candy.
But let me told the last one, about The Indivisible Candy: So, can you describe something from IT in a candy style? To feed teach Bill, and get him in IT.  Bill is still very hungry, and he is starving. You have to feed him. Here. In comments. javascript, webgl, maps, react, орфография(нет)