Computer programming constructs, tests and revises programs that express computations in an executable or interpretable form. It connects a problem specification to data representations, algorithms, interfaces and error handling. Writing syntax is one part; deciding what results and failures should mean is also part of the task.
For example, computing an arithmetic mean requires representing the observations, accumulating their sum and dividing by the count. The computer program must also define what happens for an empty input, unavailable data or a number representation that cannot hold an intermediate result. Choosing an algorithm and testing ordinary examples does not automatically settle those boundary cases. A useful implementation makes its assumptions visible and supplies evidence through tests, analysis or proofs appropriate to the claim.

Articles by others on the same topic (1)

Computer programming by Ciro Santilli 40 Updated 2025-07-16
Programming is hard. To Ciro Santilli, it's almost masochistic.
What makes Ciro especially mad when programming is not the hard things.
It is the things that should be easy, but aren't, and which take up a lot of your programming time.
Especially when you are already a few levels of "simple problems" down from your original goal, and another one of them shows up.
This is basically the cause of Hofstadter's law.
But of course, it is because it is hard that it feels amazing when you achieve your goal.
Putting a complex and useful program together is like composing a symphony, or reaching the summit of a hard rock climbing proble.
Programming can be an art form. There can be great beauty in code and what it does. It is a shame that this is hard to see from within the walls of most companies, where you are stuck doing a small specific task as fast as possible.