Sometimes, some circumstances make you feel like you can levitate out of The Matrix of life’s arrant frustrating gloomy nonsense on the strength of other people’s kindness. David Weinberger is a prince, and gave an absolutely first-rate presentation; he drew out and encouraged an intense theological discussion (in which he demonstrated the difference between being disinterested and being uninterested). Accordion Guy, himself one of the coolest bloggers around (plus he’s Canadian, which Trevor assures me makes someone infinitely cooler than they ordinarily would be) took the What Blogger quiz, and drew a startling conclusion from his results. Then just minutes later, while I was doing some referrer hygiene, I followed a link to a neat student friend from long, long ago in a state far, far away — who remembered (bad permalink —scroll down to Friday, May 9) the Senior Seminar on Discourse/Knowledge/Discipline fondly. And this winter’s technology lecture series at Seabury, which series I want to sum up in a blog this weekend, elicited an encouraging email from one of our attendees.
Heartfelt thanks to you all, and to my faculty colleagues.
Posted by AKMA at May 16, 2003 10:47 PM | TrackBackThis is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.
Posted by: Gerrard at January 13, 2004 03:16 AMInside each stack frame is a slew of useful information. It tells the computer what code is currently executing, where to go next, where to go in the case a return statement is found, and a whole lot of other things that are incredible useful to the computer, but not very useful to you most of the time. One of the things that is useful to you is the part of the frame that keeps track of all the variables you're using. So the first place for a variable to live is on the Stack. This is a very nice place to live, in that all the creation and destruction of space is handled for you as Stack Frames are created and destroyed. You seldom have to worry about making space for the variables on the stack. The only problem is that the variables here only live as long as the stack frame does, which is to say the length of the function those variables are declared in. This is often a fine situation, but when you need to store information for longer than a single function, you are instantly out of luck.
Posted by: Watkin at January 13, 2004 03:17 AMBeing able to understand that basic idea opens up a vast amount of power that can be used and abused, and we're going to look at a few of the better ways to deal with it in this article.
Posted by: Botolph at January 13, 2004 03:17 AMThis is another function provided for dealing with the heap. After you've created some space in the Heap, it's yours until you let go of it. When your program is done using it, you have to explicitly tell the computer that you don't need it anymore or the computer will save it for your future use (or until your program quits, when it knows you won't be needing the memory anymore). The call to simply tells the computer that you had this space, but you're done and the memory can be freed for use by something else later on.
Posted by: Charity at January 13, 2004 11:25 AMEarlier I mentioned that variables can live in two different places. We're going to examine these two places one at a time, and we're going to start on the more familiar ground, which is called the Stack. Understanding the stack helps us understand the way programs run, and also helps us understand scope a little better.
Posted by: Griffin at January 13, 2004 11:26 AMThis back and forth is an important concept to understand in C programming, especially on the Mac's RISC architecture. Almost every variable you work with can be represented in 32 bits of memory: thirty-two 1s and 0s define the data that a simple variable can hold. There are exceptions, like on the new 64-bit G5s and in the 128-bit world of AltiVec
Posted by: Wymond at January 13, 2004 11:26 AM