Hey everyone! I'm on a quest to find the perfect programming language to learn, but I'm feeling a bit lost and could use some help. I'm looking for a compiled language that allows me to create both CLI and GUI applications, and I want the ability to generate single .exe files without needing to install a lot of extra bloated software. I'm a mechanical engineer, so I plan to write small utilities for mathematical calculations, file management, and even control USB breakout boards. Ideally, I'd love to keep things simple and avoid any overly complicated installations for my users.
I've dabbled in Java and found it frustrating due to the need for runtimes, and I've been exploring C++ but have hit some hiccups with GUI libraries like Qt. I want something straightforward, and I'm open to suggestions! What do you think I should focus on? Should I stick with C++, switch to C#, or look at something else entirely? I appreciate any guidance!
5 Answers
If ease of use is your priority, why not go for Python? It's super popular and has lots of engineering tools, but, just a heads up, it does require the Python runtime to be installed on any machine running it.
You might want to consider how C# could work for you too. It has a learning curve, but it generates good .exe files. Just avoid the publish feature; it can get complicated with the installations. Stick to release mode and it should be simple enough!
I feel you on the Visual Studio confusion! The options can be overwhelming. What about project templates in C#?
Yeah, there are tons of templates in VS, but focus on the Windows Desktop Application template to keep it straightforward!
Have you thought about using C++ with Raylib? It checks a lot of your boxes, and you can easily compile it for Windows as an .exe. I'm a novice in Rust, but I hear it has some great GUI libraries. It's worth considering too!
Thanks for the tip! I'll definitely look into Rust as well.
Honestly, Dear ImGui seems to fit snugly into what you're looking for. It's super straightforward to use, even if the GUIs aren't flashy; it won't add unnecessary complexity to your projects.
Totally! Just took a peek, and it looks simple enough!
You're right, it might not be the prettiest, but functionality is key here.
From what you've described, C++ with Dear ImGui seems like a perfect match for your needs. It's lightweight and you can include it in your project without extra dependencies.
That's a great point! I'll check out the resources for ImGui.

That's true, I know Python is great, but I'm not keen on requiring users to install anything.