any language that can send an email will do. take your choice. if u mean implementing the telephony yourself, many languages can do that as well, but why re-invent the wheel? all u generally need is the ph# and the carrier name. for example email@example.com would send a message to the nextel phone with ph# xxx-yyy-zzzz
all of the major cell carriers already implement this
if u are determined to do the telephony yourself, probably will want to use C++ if u are on a windows platform, C if on Unix/Linux.
hardware will depend on how many messages u intend to send...