Intro: While the distinction between these two terms have become blurred in recent years, there is a traditional basis upon which they were predicated. God, I love using big words while drinking coffee! It smells like victory. Anyhow, I digress…
I had lunch with someone the other day who was curious to understand technology and the relevant terminology, and (foolishly) asked for my help. Keep mind that I was one of those guys who stood in the hall on the first day of school, giving false directions to new students. “Sure, chem lab is down to the right, take the elevator to the 2nd floor, then it’ll be straight ahead.” The school had only one floor.
So, one of the questions was about “scripting” versus “programming”.
Here’s what I said:
“Let’s use a restaurant metaphor. This table is the operating system. The plates of food and beverage cups are applications. The utensils are utilities and component services that help the applications.”
“Now, the cook in the kitchen is the developer. If they chop the food, cook it, and arrange it on the plate before it goes out to the table, that’s programming. The original is modified in order to make the end result. If the chef pulls out a few bags of ingredients and simply arranges them on a plate, and sends it out, that’s scripting.”
“In other words, programming involves converting (e.g. ‘compiling’) a source material into a consumable material. Scripting arranges the source material such that it is consumed without converting it into something different.”
I got a free lunch that day. 🙂