3 ms·
We also see remarkably shallow dependency graphs in the C++ world. Many projects are only a few layers on top of Boost! I made a few dot graphs if people are i
by rienbdj 8y ago
We also see remarkably shallow dependency graphs in the C++ world. Many projects are only a few layers on top of Boost!
I made a few dot graphs if people are interested.
- asveikau 8y agoHow many layers atop boost would satisfy you? Boost seems pretty high level to me, and not like it needs a lot of abstraction atop its ... abstractions. This is where I see this weird disconnect between communities. A C person doesn't want layers.
- dleslie 8y agoC++ is not C. For that we have C.
- asveikau 8y agoI know C++ is not C, I have worked in both on both distinct and common occasions, and if you know what I mean by that shorthand, you know that the point stands. C++ people aren't superfans of layers upon layers for no reason either. Boost doesn't need a wrapper.
- ktpsns 8y ago> A C person doesn't want layers. Really? So why are C persons then using formatted output libraries (printf, part of the standard library), libraries for regular expressions (PCRE), GUI toolkits (Gtk+, sitting ontop of Glib)? I absolutely second that in the C/C++ world, we see shallow layers of abstraction, but nevertheless they are there. In my experience, the seperation happens frequently because people seperate basics from their code, such as in the given Glib/Gtk+ example.
- asveikau 8y agoThe sense I mean this in is "layers for no reason". In GTK+ everything has a clear purpose: * glib: Portable OO and data structures for C * gdk: Interaction with the windowing system * cairo: Drawing * gtk+: widgets An application touches each of these directly according to its needs. Nobody in their right mind would say "we need a wrapper to abstract glib". Which is a suggestion here for boost. Pretty senseless. But I think the subtext of this discussion is that all the javascript kids expect 20 layers deep and the top ones get rewritten every year or they're considered obsolete, meanwhile the bottom 18 or so are "too close to the metal" for a reasonable person to work with. A C and C++ person of a particular mindset will seek to avoid such a thing. You want to be able to have the whole picture in your head. From this angle it's a very weird complaint to say "I counted how many layers there were and it was too small!"