Programing, I'm really not sure.
Programming is mostly CPU/RAM intensive, hell most coding can be done on an EEEPC.
As far as what are the major differences between the two (assuming hard drive and RAM are exactly the same sizes)
Macbook:
13" Screen
2.16Ghz or 2.4Ghz C2D with 3MB L2 Cache
Intel GMA X3100 graphics
Macbook Pro (2.4Ghz model)
2.4Ghz C2D with 3MB L2 Cache
nVidia GeForce GO 8600GT 256MB
Macbook Pro (2.5Ghz model)
2.5Ghz or 2.6Ghz C2D with 6MB of L2 Cache.
nVidia GeForce GO 8600GT 512MB
The higher the L2 cache is the faster things like converting movies, or audio, or running script, or things of that nature go. As for the different videoRAM sizes on the GPUs, really the card itself is going to preform the same (gaming) but the more polygons you put on the screen (rendering) or the larger resolution display you have (say an external running 1920x1200 or above) the better the GPU will preform with higher RAM.
So I would say a 2.5Ghz MBP Would be what I recommend, but then again I would recommend waiting until the Macbook event to see what they come out with then. In the Macbook world I see slight enhancements to make them look pretty, but no real performance increase, MBP on the other hand, I'm sure that there will both cosmetic and performance upgrades (nVidia 9 series anyone?).
Cheers
Cameron