# Structure and Interpretation of Computers

This is a good book which teaches you the basics of programming: data abstraction, recursion, evaluation and that kind of stuff

SICP uses the [standarized Scheme programming language](https://kill-9.xyz/harmful/software/scheme) which is a simple programming language

~~~
(define (square x) (* x x)) ;; A simple    function             
                                                             
(define    (fact x) ;; A simple recursive function              
    (if (= x 1)                                              
        1                                                    
    (* x (fact (- x 1)))))
~~~

This book is easy to understand provided you aren't a complete
brainlet and know the most basic high school maths.

You can read SICP [here](https://vxempire.xyz/sicp)
