One can communicate with mobile device from PC using serial file, where one can straight away open a file and send the respective commands to the mobile device and can also capture the respective output as we do in normal file operation.
There are different API's in different programming languages through which one can open up the device file and send the AT Commands for a GSM phone.
AT Commands are nothing but a set of commands used for configuring the modem.
GSM specific AT Commands are used for communication and configuring a GSM modem.
In python you have a module called as pyserial for communicating with serial devices which is platform independent.
One can communicate mobile with PC using Infrared, Bluetooth or through a Serial Cable, and the respective device file depending on the platform are to be invoked.
If you are interested please do tell me, I am developing a GUI for linux platform for executing AT Commands on mobile devices (basically to test what all the different types of commands are supported by a standard GSM phone).
Basically doing this for developer version, but can be extended to the end user by providing a facility of taking a backup of the phonebook, message reading on the PC, and sending SMS from a pc and so on.. .