The Psychology-of-the-Programmer

Programming is making things happen in the future. What you probably thought of was "Computer Programmer", when you read the title of this essay, but I could be wrong. As Abelson so clearly stated in the Foreward to Structure and Interpretation of Computer Programs (SICP), "Educators, generals, dieticians, psychologists, and parents program. Armies, students, and some societies are programmed."[1] A Computer Program is something that is held and then executaed sometime in the future. The programs that the above stated by Abelson execute create the worlds we live in. You create the program you want to happen, and then execute the program when you want it's results to occure. Thus, programming, Computer or otherwise, is making things happen in the future. The only constant is the change in Time. It is always progressing, getting bigger. The rate of Time is variable, at least according to the observer. This gives a rate of change of Time, the only constant in our world. (defconstant *dt* 1) Time is a variable, that is seeded aty it's epoch by get-universal-time, and thus given an integer value. (defconstant *epoch* (get-universal-time)) (defvar *t* *epoch*) (defvar *input*) (defun get-input () (fresh-line) (princ "$ ") (setf *input* (read-line))) (defvar *world* (list :world)) (defun update-time () (incf *t* *dt*)) (defun update-world () (update-time) (push *world* (cons *t* *input*)) ) (defvar render-world () (print *world*)) ;; Let's make a game that never ends aka a simulation. (loop (get-input) (update-world) (render-world)) == [1] Title: Structure and Interpretation of Computer Programs Author: Harold Abelson Author: Gerald J. Sussman Author: Julie Sussman Year: 1985 Publisher: The MIT Press Reference:
Burton Samograd