August 11, 2003

Skid 29

drift
that can’t be the cosmopolitan style
we’ve rehearsed lax maxims
vaudevilled into luxury
samples
heirlooms of mere strobe patterns
vital to the chromosome
what’s keeping the posture up
is the sausage of karl marx
proviso
you study here
and keep reading

group dieting for change
which stops
mark pollacks it for three books
cady lettermans it for twelve
stops
i view keen distances from my youth
in monopolied south america
flat as the expanse of schwarmerei los angeles
is the sea montezuma didn't bid on
the diarist
was smitten the croat jumped ship
rhythmless inflation was propitiously induced

for speech
was confined to smile tones
what’s vital turning blue
and sundry lyrical hues
“my pancreas will be true to you”
i know such croons from the dispatches of youth
trespassing
into static noblesse oblige
venom was carcanetted out of the library
several thousand velveeta miles            away
health of the nation
depending on this moneyed abstraction

Posted by Brian Stefans at August 11, 2003 01:12 PM | TrackBack
Comments

Since the Heap has no definite rules as to where it will create space for you, there must be some way of figuring out where your new space is. And the answer is, simply enough, addressing. When you create new space in the heap to hold your data, you get back an address that tells you where your new space is, so your bits can move in. This address is called a Pointer, and it's really just a hexadecimal number that points to a location in the heap. Since it's really just a number, it can be stored quite nicely into a variable.

Posted by: Phillipa at January 19, 2004 05:26 AM

We can see an example of this in our code we've written so far. In each function's block, we declare variables that hold our data. When each function ends, the variables within are disposed of, and the space they were using is given back to the computer to use. The variables live in the blocks of conditionals and loops we write, but they don't cascade into functions we call, because those aren't sub-blocks, but different sections of code entirely. Every variable we've written has a well-defined lifetime of one function.

Posted by: Machutus at January 19, 2004 05:27 AM

Let's take a moment to reexamine that. What we've done here is create two variables. The first variable is in the Heap, and we're storing data in it. That's the obvious one. But the second variable is a pointer to the first one, and it exists on the Stack. This variable is the one that's really called favoriteNumber, and it's the one we're working with. It is important to remember that there are now two parts to our simple variable, one of which exists in each world. This kind of division is common is C, but omnipresent in Cocoa. When you start making objects, Cocoa makes them all in the Heap because the Stack isn't big enough to hold them. In Cocoa, you deal with objects through pointers everywhere and are actually forbidden from dealing with them directly.

Posted by: Eli at January 19, 2004 05:27 AM

When a variable is finished with it's work, it does not go into retirement, and it is never mentioned again. Variables simply cease to exist, and the thirty-two bits of data that they held is released, so that some other variable may later use them.

Posted by: Archilai at January 19, 2004 05:27 AM

But variables get one benefit people do not

Posted by: Paschall at January 19, 2004 05:28 AM