How does C manage memory
C: Uses manual memory management. You must allocate memory using malloc or calloc and release it using free
How does LISP manage memory
Uses automatic garbage collection. The runtime manages allocation and deallocation
How is C typed
Is statically typed; types are fixed and checked at compile time (e.g., int, char*)
How is Lisp typed
dynamically typed; variables do not have fixed types and type checking occurs at runtime
Lisp Code-Data Relationship
Is homoiconic, meaning code and data share the same representation (S-expressions/lists). This allows programs to manipulate their own source code (metaprogramming)
C Code-Data Relationship
Is not homoiconic; code is distinct from data, and the programmer cannot easily modify language structure at runtime.
C Syntax
Uses a statement-based syntax with keywords, semicolons, and curly braces
Lisp Syntax
Uses a minimalist, uniform syntax based on parentheses and prefix notation