Memory Asa Programming Concept

"Memory as a Programming Concept in C and C++", by Frantisek Franek

ISBN 0521520436

From the Preface:

"The motivation for this book came from years of observing computer science students at universities as well as professional programmers working in software development. I had come to the conclusion that there seemed to be a gap in their understanding of programming. They usually understood the syntax of the programming language they were using and had a reasonable grasp of such topics as algorithms and data. However, a program is not executed in a vacuum; it is executed in computer memory. This simple fact exerts a powerful influence on the actual behavior of the program -- or, expressed more precisely, a subtle yet powerful influence on the semantics of the particular programming language. I had observed that many students and programmers did not fully understand how memory affected the behavior of the C and C++ programs they were designing. This book is an attempt to fill this gap and provide students and programmers alike with a text that is focused on this topic."

Table of Contents:

 1. Introduction
 2. From source file to executable file
 3. Variables and objects, pointers and addresses
 4. Dynamic allocation and deallocation of memory
 5. Functions and function calls
 6. One-dimensional arrays and strings
 7. Multi-dimensional arrays
 8. Classes and objects
 9. Linked data structures
 10. Memory leaks and their debugging
 11. Programs in execution - processes and threads. 


Back before embarking on the "enormous challenge" (as the Sun PR machine ludicrously describes it) of creating a "programming language better than Java", GuySteele co-authored papers in the LambdaTheUltimate series concerning a processor design that executed a cut down SchemeLanguage directly on the metal. see http://library.readscheme.org/page1.html "Design of LISP-based Processors, or SCHEME: A Dielectric LISP, or Finite Memories Considered Harmful, or LAMBDA: The Ultimate Opcode"

This design captured several interesting ideas to do with memory as a programming concept.


See also SmallMemorySoftware

CategoryBook SystemProgramming


EditText of this page (last edited December 15, 2005) or FindPage with title or text search