5 ms·
Regarding the claim ... > Data Structures expose callers to recompilation and redeployment. Classes isolate callers from recompilation and redeployment. ... m
by charlieflowers 7y ago
Regarding the claim ...
> Data Structures expose callers to recompilation and redeployment. Classes isolate callers from recompilation and redeployment.
... most projects (maybe all?) I've worked on in 20+ years deployed a full set of new bits upon release, rather than trying to differentiate at the level of which source code files were and were not touched.
So this strikes me as a carryover from many years ago when working on large C++ projects with slow compile times was even more painful than it is today.
Any counterpoints?
- lliamander 7y agoWell, it also affects things like packaging and swapping out alternative implementations of different components.
- ridiculous_fish 7y agoConsider any scenario in which you don't control all of the source code that gets run. For example, software which supports 3rd party plugins, Apple releasing a new version of iOS, etc.
- Sebb767 7y agoIn scripted languages you might do an rsync, which only transfers modified data. Or your program could be split into several libraries. But it seems to be a rather weak point, yes.
- deleted 7y ago[deleted]
- kstenerud 7y agoC++ is still painfully slow to compile, and seems to get slower every year.
- pjmlp 7y agoWhile it still is definitely worse than other compiled languages, using pre-compiled headers, with incremental compilation, incremental linking does help a lot. And making use of binary libraries as well. Eventually with C++20 modules the situation will improve, and maybe by 2025, those that still care might finally enjoy Delphi compile times with C++.
- jcelerier 7y ago> C++ is still painfully slow to compile, and seems to get slower every year. oh come on. I can get a full build of qt5's main libraries (core, gui, widgets, network, xml, etc) in 15 minutes on my laptop. It took an hour a few years ago. Compilers are getting faster all the time.
- Ace17 7y agoIndependent deployability might not be a goal per-se, however it shields teams from other team design choices.