C语言,没有第二种选择;看你的介绍,你主要是从事硬件的,相应的软件开发也算是从属硬件(就像Intel也得开发相应的软件),对于和硬件直接打交道的编程语言,那么就是汇编语言和C语言啦。Java主要从事商用,大型软件(尤其是大型网站);C++主要从事商用且对性能有苛刻要求的软件,有时候使用C++开发核心(性能要求比较高),使用Java开发上层(例如Google的搜索核心使用C++的,但是一些上层的东西都在用Java)。
电脑原理,那才是真正的硬件。