Deciding between Rust or Go for desktop applications I'm looking to expand my programming skills from web apps, automation, scripting - mainly Python - to more traditional cross-platform, desktop-based (but GUI lite) apps because I progressively want to get closer to the metal (one day work with embedded systems). Nevertheless, I currently desire to create desktop tools like I've done in the browser and with automation scripts in the terminal or web servers. The apps I wish to make need to interact, listen and change things outside of the browser or terminal console. I'll start with making simple programs that automate on the desktop before I make fully-fledged GUIs. Some examples in mind involve monitoring network traffic and changing some system settings, listening to and manipulating clipboard data, or interact with common hardware peripherals. I hope these examples give you an idea of my intentions. In addition, I did learn a little C++ and C yonks ago. I believe Go is more suitable for desktop applications that a user interacts with, whereas Rust is better suited for programming lower level hardware behaviour/capabilities or getting closer to the kernel? So in other words, perhaps Go is like a better replacement for C++ and Rust is a better replacement for C? I acknowledge I'm providing gross simplifications here. And it almost goes without saying, * I'm not asking what is the best language *. Rather, based on what has been described, which language would be most strategic to learn given my goals and intentions? In another way what are the strengths and weaknesses of Go and Rust? When should one use the other? Thank you in advance! |