What is programming? rev 20 April 2013 ➽ back to dir
Here's what it is:
Computer programming is telling a computer what to do.
OK: Here's what programming is:
A computer program is
☆ a sequence of commands
executed by the CPU
one after another
☆ each command is generally very simple (like sums, multiplications, reading data from the RAM),
but are combined to do more complicated tasks.
with thousands to millions of such simple commands
So "programming" is "problem-solving"
☆ the problem is, how to make the computer give back what we put in.
☆ so then you have a bunch of smaller problems that are part of
that big problem, and you write more in your program to solve those.
☆ Good details are here:
OK OK ... Here's what programming is:
By itself, a computer is just a box of metal, with a lot of
tiny electronic switches that are either on or off.
A computer only knows "on" and "off" -- "1" and "0"
All a computer can do is:
∘ accept some input
∘ manipulate that input
∘ give it back in some form that is useful to us.
"Programming" is setting those switches, giving input,
telling the computer what to do with it, and telling
the computer how to give it back to us.
In the very first days of computers, "programming"
was actually turning those switches on and off, by hand.
Now we do it with words, in a list of instructions.
This list is called a "computer program".
But the computer still understands only "0" and "1" -- "machine language".
A program known as a compiler changes the words in the programming
language to machine language for the computer.
Well then - Do you have to be good at math to be a good programmer?
Everybody says so.
☆ James' answer: no. If you did, i wouldn't be able to program anything!
☆ Some others' answer: yes. If you don't use math it's not programming.
It's "just scripting".
Fair enough! A great discussion is here:
How does a computer program work?
How a Program works
How processor, assembler, and programming languages work
And here are some more explanations, really detailed, how it works, step by tiny step:
"How do computers actually work? We write code, but how do our inputs
become outputs? As you know, there are a number of layers between
the code that we write and the electrical impulses that race through
-- Karl Seguin
☆ In the software - the assembly instructions:
Let's Increment i, Assembly Style
☆ In the hardware - the digital circuits:
Let's Increment i, Logic Gate Style
☆ "Computer programming is considered by different people to be an art
form, a craft and an engineering discipline. It involves creating a set
of instructions aimed at making computers perform specific operations or
exhibit desired behaviours."
Discussion of necessity of English for all IT.