the only problem with speech input is noise and memory requirements. Speech output was done on the Comodore 64 and amega series back in the early ninties. so we just have to solve the resource problem on speech input. C would lend itself to this since it works on Linux, and the speaker and microphone are treated as files like any other device in the /dev directory.