Programming languages are tools, right now C++ is king for performance (and should be for embedded but is not quite, please do not start me on that as I can rant for auite a while on the subject) and Python for scripting. Metaprogramming and modelling seems to be a best match for functional language, but they still are relatively segmented niche market.
I personally have played around , with nothing implied in the order, with Java, C++,C, C#, Fortran, Haskell, OCaml, F#, VHDL, Verilog, Python, Perl(a bit), a variety of shell scripting languages, and some special purpose languages for private applications.
While I dislike Python for many reasons; I have to accept that for small scale scripting, it seems to be the most efficient piece of kit around.
Using pySerial you could set up you serial interface in a line, an then just forward the standard input to this, which as far as I can see should not take wore that 2 lines. 3 Lines of script sounds reasonable for your needs. And python is as free as it gets (like in free beer and not like free beer, understand who can). pySerial does linux and windows and apparently to some extend BSDs. It should cover most bases.
Forgive me for the shameless attempt to get free toys in my previous post