For anything on the fast path the list would be mostly what you'd expect:
- C++
- C
- Java
- Verilog/VHDL or what ever language your FPGA tooling requires.
As for support tooling then python and R are very popular.
It's important to note that its not only speed that dictates what you use in HFT, the shear amount of data you need to handle also dictates what you use. As an example C++'s inplace new operator helps for things like object pooling.
I'm not UHFT or HFT and we can get by with F# and C#. We are at the stage where we have to think about our data structures and memory access patterns but we aren't throwing away readability and maintainability just to get the best possible performance.
From my experience, its much more typical for funds to target performance around this level than the HFT level.
I guess it should be said that you can name almost any programming language and you'll find that someone is using it and claiming to be an HFT shop, ie someone will probably mention OCaml due to Jane Street.
This question http://quant.stackexchange.com/q/12618/743 on the quant stack exchange shows that pretty much every language gets used.