# 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 which is a simple programming language

(define (squarex) (* 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