At my university, I have a yearly essay. I'm allowed to use any technology for implementing it. I've been coding it in C++ with Qt. I thought of about Wolfram *Mathematica* because I have some experience in it.

I need such functionality:

* Timers — for calling functions by timer
* Threads (or Processes are good too)
* User-friendly GUI (buttons, input forms)
* Be able to catch when user clicked left/right mouse buttons or key on keyboard
* Dynamic graphics (with changing graphics in time)
* Launching applications as a standalone executable file

I'm ready to put more effort into it. But I wonder whether I'm burying myself alive trying to implement things which *Mathematica* isn't devoted to do.

I would appreciate links to topics marked with questions signs.

How bad is this idea? 
What are your opinions? Should I do it in C++? (Doing it in *Mathematica* would be challenging for me.)

![enter image description here](https://i.stack.imgur.com/nUl5a.png)