I think it's more accurate to compare Node to C++, compare NPM to apt/yum/etc+CMake, and compare something like Electron to Qt.
Of course, your point still stands. But's a tradeoff. C++/Qt has a ton of compile-time bloat, while Node/Electron has runtime bloat (see the Slack client using hundreds of megs of ram). And you can use bindings, like PyQt, where you have Python/Qt and then you get Python's dependency management.
Re:JavaScript is Eating the World
by thehardsphere on Thursday August 24, 2017 @02:09PM
(#15092517)
Compile-time bloat and runtime bloat are not equivalent. Runtime bloat inflicts pain upon users and therefore is usually worse.
Yes.. Don't you think that's why he bothered mentioning the words "runtime" and "compile-time"?
Re:JavaScript is Eating the World
by thehardsphere on Thursday August 24, 2017 @06:27PM
(#15094597)
Well, the way I read what he wrote was that he was suggesting that bloat is bloat wherever it happens so that it's all a wash.
When I had the revelation I was thinking about the whole npm, bower, gulp, webpack toolchain.
Comparing C++ to Node or Python doesn't help me. If I could write Python that run in the browser I wouldn't be commenting here.
To compile a Qt app you need: - the meta object compiler (moc) to add dynamic features to C++ for Qt use - the Resource Compiler (rcc) to embed icons or sounds as arrays in header files - the Qt Quick Compiler if you are using QML files for your interface - the C++ compiler, linker, etc.
This is either driven by CMake, qmake or your IDE!! I see you can use Qbs to generate the CMake or qmake files! I remember learning CMake, make, ant, etc being non-trivial!
Oh, and you were on your own when it comes to dependencies!