I’ve been a Python & Lua developer for approximately 4 years now. I’d consider myself quite advanced with Python having used it to do a multitude of things: data science, GUI Apps, Back-end web development (Flask), terminal-based apps and contributed to a variety of open-source projects.
I’ve decided that I want a new adventure, and want to learn a new language. Obviously, this is an important choice to make since I want to be sure to have made the right decision.
Obviously, if there is one thing I’ve learned is that certain languages are better suited for certain areas of software engineering over others.
My main area of interest (as of now) is interface creation. Python isn’t the best-suited language for this area of expertise., hence why I am here to get some advice.
I am particularly interested in GUI Based Desktop Application development. This means a GUI Application that users can install and just run.
Since “best” is highly objective, here’s a list of capabilities that I would like when choosing such languages:
- Cross-platform. This means maintaining one code base (same language & framework) for all platforms (mainly Windows and macOS)
- Native code capabilities (OS-specific features, reading and writing to files etc.)
- Good looking and customizable UI
- Packaging and distribution (ex. for commercial use) is possible. This means once packaged, users can just install the app and run it.
- Good Performance and not too resource-intensive
- Good docs.
I’ve considered C#, Java and JS/HTML/CSS (with Electron), which is the best suited for my needs?