liam-middlebrook / yaml-cpp

Automatically exported from code.google.com/p/yaml-cpp
MIT License
0 stars 0 forks source link

boost dependencies. #199

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I see with a sinking heart that you've moved to depending on Boost.

If you must do this thing, please at least include the parts of Boost that you 
depend on.

I'm developing cross platform libraries, including for the Raspberry Pi.   For 
many reasons, I must include my dependencies in this open source project. This 
often turns out to be good practice anyway, insulating you from unexpected 
changes in your dependencies.

The Boost library is massively huge.  I just used bcp to extract, supposedly, 
all files that your code is dependent on - it's over 1200 files, many times 
larger than the rest of my project.

Boost is a huge dependency for an otherwise small and slick library.  Please 
reconsider this decision... otherwise, 0.3.0 is end-of-life for me.  

Original issue reported on code.google.com by tom.ritc...@gmail.com on 11 Apr 2013 at 1:32

GoogleCodeExporter commented 9 years ago
When C++11 becomes more fully accepted, I will remove the boost dependency and 
switch to std::shared_ptr, etc. In the meantime, however, the shared pointers 
are just too useful.

Out of curiosity, why can't you include the boost code in your library? The 
number of headers bloat the size of the binary, so it shouldn't be a problem 
for embedded systems.

Original comment by jbe...@gmail.com on 11 Apr 2013 at 4:15

GoogleCodeExporter commented 9 years ago
shared_ptr is great - but if you use the tr1 version, it's just a single file - 
why not throw that in and be done with it, I'm pretty sure it doesn't use any 
C++11 features?

The reason I'm loathe to throw in the Boost files is that 1200 files is many 
times as many files are in this project already - and the functionality I'm 
gaining is a tiny boost in my personal satisfaction for a tool where no one 
else sees the interface (and, I believe, greater reliability in future - Yaml 
is definitely a better way to go).

This application is at least partly for academic purposes and I'm just not 
willing to stand up and explain that "These 1200 files are there to support 
these 30 lines of code in this utility" - particularly when if I stick with 
0.3.0 I don't have to do any of this, just drag a few files into a project 
directory.

I wasn't looking for trouble - I simply started with doing what was natural, 
downloading the whole Boost library.  At a certain point, I realized that we 
were talking almost half a gig when expanded and that I'd blow through my 
"disk" space.  

I am allowing some external dependencies - well, one, numpy - so it's not 
unreasonable to ask people to install something - but I can't expect people to 
use half a gig of disk space on a machine where the typical "disk" is 4G.

Then I went to my main desktop and started to figure out how to extract a 
subset of Boost.  After some work, I had a list of 1200+ files and realized 
that I should have just installed 0.3.0, the version I'm using everywhere else, 
an hour before...

I do love this library, don't get me wrong.

I was only interested in 0.5.0 because I thought it'd have a fix to Issue 148, 
but I have a workaround for that bug anyway (I read and write my own --- 
markers before yaml-cpp ever sees them).  0.3.0 works fine for me, I have a 
separate code base that makes heavy use of it, and there's no incentive to move 
forward!

Original comment by tom.ritc...@gmail.com on 11 Apr 2013 at 7:52

GoogleCodeExporter commented 9 years ago
OK, fair enough - I will still support 0.3.x with bug fixes. In particular, 
when I fix Issue 148, I will fix it for both branches.

(By the way, I realized I'm also using boost::iterator_facade and friends, 
which would make it more difficult to remove the dependency. I probably still 
will, since I understand the value of minimizing dependencies, but it will just 
be more difficult.)

Original comment by jbe...@gmail.com on 12 Apr 2013 at 3:38

GoogleCodeExporter commented 9 years ago
I was excited to use yaml-cpp for my little project but when I saw it had a 
Boost dependency... that ended my excitement. I'm looking for another solution. 
Hopefully, some day you'll move away from the Boost dependency.

Original comment by colbymin...@gmail.com on 15 Oct 2014 at 6:10

GoogleCodeExporter commented 9 years ago
+1, the boost dependency was a show stopper for me unfortunately.

Original comment by flo...@gmail.com on 23 Mar 2015 at 11:12