I'm a current university student and I decided instead of engineering mechanics I really like the software side way more, and wanted to give myself a rather large project to learn as much as I can, as I'm a better learner when doing not just class work. My experience is in mostly c and c++.

My project is to create an intercom type system in my house that works on wireless networking, with a computer side program to control settings, etc. I want to have the applicator run across most platforms, as I use windows/android, while my roommate is an apple guy . I expect to, in the future, implement some commands possibly from voice , so I will be doing text parsing for commands.

Now, I know there are various ways to do text parsing, and I had turned to stack overflow with a mostly resounding answer to use Perl or the strtok command to tokenize strings and have a logic tree on c++.

I want to write a decent GUI that won't be to difficult to port to osx, web, or mobile. It seems my best bet is to use Perl for text parsing and even background service running my server communication and serial comm , but from what I have found to make a GUI in Perl seems old looking, and not all that many modern examples to learn from. I'd like something with 3d or carousel sliders, or even live tile types of things.

******Tldr: for a cross platform GUI with an underlying text and communication service, is Perl my only choice? Would be easy to do this with Perl and another language in tandem like WPF?

I may be wrong about everything he and am highly open to suggestion, I just don't want to make the mistake of finishing tons of work to find out I can't use it like I would like to .