=====================
== avisiblenetwork ==
=====================
seeing the invisible

Naming

Naming an object in a computer language, or in general, is one of the most important actions that can take place. It is the first instance of an abstraction and leads to combinations and complexity. Complex programs are nothing but a combination of these simple abstractions. More abstractions does not mean something is better; rather, it simply means that there are many layers in the program.
In common Lisp, (defvar size 2) will assign the value of ‘2’ into the variable ‘size’. Now, the computer stores this in its memory (called environment) and we are free to think of other things. “size” can be changed to something else as well (depending on the language). It allows us flexibility and extensibility.

In Common Lisp:

[1]> (defvar thisyear 2024)
THISYEAR
[2]> (defvar nextyear (+ thisyear 1))
NEXTYEAR
[3]> nextyear
2025

This action of naming objects echoes the notion of the rectification of names that stems in Chinese philosophy. Names must be used appropriately to reflect reality and any distortion of names will wreak havoc. Because it is a foundational block of programming, one must abstract correctly for the program itself to function well.