What is Programming?
Programming as a Detective Story
Folks new to programming frequently misunderstand the activity of programming. It isn't really about typing code on a computer. That is just the part you do last.
Most programming is really like a detective montage. Where they spread all the photos and documents on the floor and try to "figure out what happened". Well in programming you are trying to figure out:
- What is the actual problem I'm attempting to solve?
- What are the terms, data structures and algorithms common to this problem?
- Is there already a library or program that solves this problem?
- If no to step 3 then start prototyping your solution.
This is about the time that you learn even more about the problem and then have to start over at step 1.
You cannot write a program for a task you couldn't solve otherwise. So first you learn the problem. Then you devise a solution. Then you translate that to code.
Programming is just a way to record a solution such that a computer can repeat it on behalf of a person.
Basic Programming
Everything up until object oriented concepts may count as basic programming:
- data types
- variables
- operators
- input/output
- conditionals
- loops
- functions
Just those features is enough for a language to be Turing complete, i.e. you can technically compute anything that's possible to compute with just those features. Everything beyond that is just learning to use libraries and APIs and learning to write the same programs you could already write but better.
Source: this text is originally from a reddit tread about minimal syntax. I subjectively removed arrays from the original list as arrays may count as one of data types or data structures.