I am using the latest Raspbian and I am not a programmer. Therefore, I don't want the programming part of Raspbian. Does this part get updated every time Raspbian updates? How can I stop the programming module from updating, so that I can save precious mobile data usage? It should not affect the other software after the programming section is removed or prevented from updating.
It is not safe to remove programming languages and stop future updates without disrupting current applications and opening your device to future unexpected failures.
Languages like python are implicitly used by a significant number of applications, also, many packages are distributed (partially) in source code form that need compile to installation on your device (gcc, g++) .
What you can do is to do check what is available for 'upgrade' and manually update modules that you consider important (at your own 'risk'):
$ apt-get update ... Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en Fetched 7,015 kB in 43s (160 kB/s) Reading package lists... Done
now, request the 'upgrade' but answer n on Do you want to continue [Y/n]?
$ apt-get upgrade Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be upgraded: firmware-atheros firmware-brcm80211 firmware-libertas firmware-ralink firmware-realtek libxapian22 libxml2 locales multiarch-support php5 php5-cli php5-common php5-mysql samba-common smbclient tzdata xx upgraded, 0 newly installed, 0 to remove and 0 not upgraded. Need to get 38.9 MB of archives. After this operation, 4,692 kB of additional disk space will be used. Do you want to continue [Y/n]? n Abort.
Assume you want just to 'upgrade' the module tzdata
$ apt-get install tzdata Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be upgraded: tzdata 1 upgraded, 0 newly installed, 0 to remove and 32 not upgraded. Need to get 453 kB of archives. After this operation, 13.3 kB of additional disk space will be used. Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main tzdata all 2016d-0+deb7u1 [453 kB] Fetched 453 kB in 1s (315 kB/s) ...
pd: sudo required, omitted for brevity
Your best option is to remove any packages that you do not require with the command
sudo apt-get purge <PackageName>. The system should then offer to remove other packages that will not be needed.
It is not adviseable to only update some packages that are installed and not others since most packages depend on other packages being at a certain version date.
Your question is misguided. "Programming" actually contributes very little to upgrades which, in any event, are quite modest in size.
The other answers have pointed out the folly of selective updates. If you want to minimise the size of your image un-install unwanted applications (there are quite a few in Raspbian which would fall into this category). This will prevent the upgrades from installing.
perl do NOT fall into this category.
The simplest answer, if you are concerned about data usage, is DO NOT UPDATE/UPGRADE. There is no need to do so - your system will continue to operate. Upgrades tend to add new features and fix bugs, but unless you have a problem DO NOTHING.