Abstract: Garbage Collection is a way of automatically reclaiming and reusing program memory that is no longer needed. It was invented in 1959 by John McCarthy as part of the implementation of the programming language LISP. A language with garbage collection means the programmer never has to worry about free’ing memory and frees their intellect to work on more interesting problems.
Once the province of languages that were regarded as esoteric and slow, garbage collection is now in every dominant language in use today (Java, R, Python, Ruby, Go, Lua, Lisp).
I give an overview of garbage collection algorithms and discuss some of the trade-offs that affect space/time performance, ease of implementation, and portability. We’ll have a brief splash around inside the implementation of the programming language Lua (PUC-Rio, Brazil).
Bio: David is a Research Software Engineer in the University of Sheffield’s RSE group.
David graduated from the University of Cambridge with a degree in mathematics and a Post-Graduate Diploma in Computer Science, and has since taken a variety of mostly systems programming roles in industry before recently being employed in The Academy.
David has expertise in C, Python, Go, Lua, embedded microcontrollers, programming language runtimes, Software Engineering Management, /bin/awk, and the PNG image format.
For queries relating to RSE service: firstname.lastname@example.org
Note: Queries about requests for free coding support should be raised via the code clinic or one of the universities help boards such as HPC@sheffield.ac.uk