My friend is building something (in fact, he already built it) that requires an embedded device. The requirements are that it be as cheap as possible and be able to run a GUI that allows the user to select a drink or create a drink and have a little bit of additional memory so that the user can save a drink. The GUI will be displayed on a touch screen.

My question is: what language(s) would be best for this, does anyone have any links to helpful information, and does anyone have any advice on the hardware needed, how much it costs, etc? I'm assuming it will be pretty cheap because it isn't speed critical and the only requirement is that it can run the GUI.

Thanks for any advice.

>> My question is: what language(s) would be best for this

If you're going to use a touchscreen for GUI, you require a rather 'advanced' embedded device. Most of the devices in this category will happily run Linux, WinCE or ... So you have a wide range of languages to choose from.
I personally develop everything without GUI in C/(asm). When I need something with a GUI I choose C++. Why do I use them?
1. They are the languages I know best
2. Speed.
3. A lot of documentation comes with examples in these languages.

I've also used Java and on embedded devices and found that they both work good enough and have their advantages. I didn't benchmark any of them, so I can't give you any definite numbers on performance..