I know this isn't a wish-list and the move to Java is already decided... but anyway:
I'd choose a typed language over an untyped any time, if the program is going to be larger than a few 100 LOC.
If there is really a problem with code quality, I'd go with something like rust(*). You'll also get rid of memory leaks at the same time, too. Coming from C++, I'm using it for new stuff and so far, I like it a lot. The compiler is very helpful and like C++, you can code for any machine out there (I've even seen examples of ?c-programming using that language).
When using rust, you can create the GUI in Qt/QML. That yields a nice separation of core and GUI stuff.
For the user scripts, I'd probably investigate the usage of lua. It's quite embeddable and compiles to a few 100 kiB. So in total, I estimate the resulting binary to be around a few megs + sizeof(Qt).
(*) I know, it's still young, but it has convincing features and there is already a working version of PlayOnLinux so there is no pressure to release something *now* in case developments takes a bit longer.
I'd choose a typed language over an untyped any time, if the program is going to be larger than a few 100 LOC.
If there is really a problem with code quality, I'd go with something like rust(*). You'll also get rid of memory leaks at the same time, too. Coming from C++, I'm using it for new stuff and so far, I like it a lot. The compiler is very helpful and like C++, you can code for any machine out there (I've even seen examples of ?c-programming using that language).
When using rust, you can create the GUI in Qt/QML. That yields a nice separation of core and GUI stuff.
For the user scripts, I'd probably investigate the usage of lua. It's quite embeddable and compiles to a few 100 kiB. So in total, I estimate the resulting binary to be around a few megs + sizeof(Qt).
(*) I know, it's still young, but it has convincing features and there is already a working version of PlayOnLinux so there is no pressure to release something *now* in case developments takes a bit longer.
Comment