3 ms·
I searched GitHub for the most starred C++ projects, and then downloaded and compiled Godot engine, because it did not require Docker and seemed fairly straight
by gkya 9y ago
I searched GitHub for the most starred C++ projects, and then downloaded and compiled Godot engine, because it did not require Docker and seemed fairly straightforward to build. The initial build took 30 minutes, then I added a random semicolon to the file editor/connections_dialog.cpp, and recompiled, it took some milliseconds shy of a minute, the bulk of which was not the compilation of that file (I re-ran the whole build, including linking; if I only recompiled that file it probably would be quicker, but I don't know how to use SCons). None of that process was seemingly bound by memory or processor capacity, in fact I continued my sunday computational tasks (i.e. watch silly videos, skim reddit) while it compiled, w/o any slow down. And this is a whole, complete, very widely used game engine, with included a game editor, which is obviously a graphical program. I wonder how quicker this program would compile on a machine like many people here claim they need to use.
- FRex 9y agoGodot might be a special case because it's so well made by some Brazilian industry veteran (gaming is kind of a spartan environment, especially on consoles) and is very polished and kinda well funded FOSS project, it's like a crown jewel. I remember (I hope I'm not misremembering, I can't find it now) that Firefox took more than 4 GBs of RAM when being linked which ironically made it so the 32 bit version was being built in a 64 bit environment. Then again - who builds regularly rebuilds Firefox on their laptop (yes, the devs, by definition, do, but that's a very small subset of the population). C++ has shortcomings with regards to build times, small change triggering a rebuild and linking time blowing up and so on but it's clearly the only one that fits the niche it sits in (maybe C can compete but it's a bit too spartan for some people, and maybe Rust in the future) but there are mitigations (like pimpl, forward declarations, etc.) and some of the criticism is just goofy to me. E.g. there was story[0] of a hell like project with more managers than programmers, no working coffee machines nor toilets, crazy turn around of employees, employees not knowing how to code properly, changing version tracking software a few times and throwing away the entire history each time, simple operations taking seconds or minutes, physical paperwork to apply to edit a file, entire thing was bordering on a scam, etc. Main takeaway of the author that he reiterated in 2018: C++ is bad. I mean, I guess you can dislike it for all its warts (and it has plenty), but would everything be fixed if this was a Rust, Python or C# project and all of the other craziness remained? Maybe I'm just biased because I know C++ pretty well inside and out and even kinda like it but also never got forced to work on a bad legacy project made in it (but than again any crazy legacy code is bad, regardless of the language..) but lots of people are just bashing C++ so mercilessly, even here on HN people go and say that it's impossible to write in it (using a web browser that's certainly in C++ and relying daily on compilers, OSes and runtimes made in C or C++ that host their language, unless they're all Free Pascal developers or something (FPC is self hosting) and the joke is on us for not using Free Pascal). [0] - https://news.ycombinator.com/item?id=16793884 https://news.ycombinator.com/item?id=16793884