Learn this to learn any language - Part 1
Unraveling the Foundations: A Primer on Computer Science Constructs
Delve into the fundamental constructs of computer science, breaking down complex terminology and exploring the essence of Von Neumann Architecture. This article aims to bridge the gap between conventional math and the unique logic of computer science.
Definitions
Before moving on, we should define some terms to avoid confusion. This series shall assume...
No axiomatization without insight
--Christopher Strachey
Ignore Math
Computer science is like calculus and non-Euclidean geometry; to understand it, one should break and assume rules that violate conventional math. Upcoming terms and customs might interfere with the math brain, but set it aside and learn computer science.
Von Neumann Architecture
Above all, this is the foundation of any computer we will ever refer to. Understanding this architecture is crucial for comprehending the underlying methodologies and why things are the way they are.
Defining Constructs
To explain the language in written form, we should be on the same page when I say some terms, so let's define a few ground rules. The following line in its entirety is called an expression:
x = 2003
A program is made of expressions ranging from simple, as above, and as moderately complex as below, which encapsulates many sub-units of expressions as well...
x = [i for i in range(2003) if i % 2 == 0]
The purpose of an expression is to operate with memory in [Von Neumann Architecture](ppr-fcpl-0-defs#Von Neumann Architecture),
...so in general, any expression can be reduced to a form of L-val = R-val
. Here:
L-val
is a form of an address or location of a memory cellR-val
is a form of a value to be stored in the memory cell referenced by the correspondingL-val
=
operand indicates the operation, assignment.Not essentially math's equal
It is optional to have either
L-val
orR-val
.
In each such case, it can be thought of as:
throw-away value
declaration (essentially reservation in advance) for a value of interest
This is it. Now all we have to do is to learn how to get the desired R-val
and how to indicate the CPU what our desired L-val
is.
next, we will look at getting desired
R-val
See you in the next article, till then, this is me, TheBE, signing off ๐.