Sorry if this is the wrong place, but didn't see much other specific for this type of question!

I'm a university student and looking to learn outside the classroom. I already tried making this post but must not have gone through?

My application will be an intercom throughout my house, and later on I want to try doing controls of things from my pc with voice on a modern looking GUI. This means I need text parsing, as that would be the output of voice software.

What I'm trying to figure out is which language is best suited to run both serial communication and text parsing for background services , and what is best for the GUI ?

My roommate uses Apple product while I use android and windows, so I would prefer something easily ported to those os.

I know Perl is considered the standard for text parsing like this, but also I could token the stings with strtok in c++ and use a decision tree. My knowledge in programming is mostly c/c++ but this is a learning experience, so I'm open to any suggestion.

I know Perl will be easier to port, but looking at GUI creation three just doesn't seem too many resources that I could find to make a modern looking GUI like those with WPF or js, to name a few.

Would it be wise to use Perl for my backend work and a separate language for my GUI ? Is this difficult to make two languages work well for a single system like this? How is it done on professional cross platform apps?

Thanks for any help! I've tried asking elsewhere and haven't really gotten much direction, I'm not necessarily looking for a specific definitive answer but some sort of direction would be really appreciated.