programming is how you make a computer do things.
if programming is poetry, coding is writing.
most commonly, you take a real world problem, model it and a solution via programming
since OOP is the most common paradigm, most of the things here might be specific to OOP only
As usual with programming, there is theory, practice, and practice in another language :-)
from https://stackoverflow.com/a/1913185
basically, CS theory like call by reference vs value or interpreter vs compiler, might have a simple definition to the developer , but is actually “implemented” in a very complex way or in different ways by various languages/runtimes/engines/ whatever the fuck. hence, understand the theory (expected behavior), but don’t kill yourself over the complex implementations.
another example of this, https://stackoverflow.com/a/67356372, what goes on stack and what goes on heap is very complex
(oh man, engineers like using terms differently for different contexts)
from https://stackoverflow.com/a/55235472
you write code to make a program
in a syntax
PARADIGMS & Types of languages
machine code / binary
lowest level language possible. literally 0s and 1s which the CPU runs directly.
assembly
human readable language. assembly is specific to processor architecture, you work directly on registers.
high/low level languages
how much of the complexity of the program is handled by the runtime.
whether something is high or low level is dependent on the context.