For non-GUI: to Qt or not to Qt?
-
While Qt 5 is my choice for GUI program coding, I'm in a bind on my decision to use it for non-GUI or not. I love what it has to offer even for non-GUI, but what gets me concerned are the dependencies. Sure, I can include the DLLs needed, but I look at it and ask myself "Do I need all that just for this one program?"
Boost is more lightweight in terms of dependencies, and I do find it to offer some good components such as asyncio, the upcoming endian library, property_tree, etc. However, these things require I'd say 10 times more effort in the coding than a Qt 5 equivalent program would. Not to mention all the templated coding examples hurt my head.
I am aware of the licensing differences and which platforms each support, which I am fine with in regards to the limitations Qt has over Boost.
-
Asking this on a Qt forum is likely to get you biased answers ;-)
I'd go with Qt simply because it is more fun to code in, and if you write the code well it will also be easier to understand and maintain by others. Also, we now have QCommandLineParser, which is great for console apps. But a lot depends on what needs to be done. For some tasks, bash would be better. Or Python. Or, indeed, C++ and boost.
-
It's alright. I asked this on multiple forums for a possible common opinion. I think I'll just use Qt even for console apps because it's less of a hassle and disk space is a dime a dozen. It's memory that's the real expense for PCs.