
Does the Boost library meet its original goal? - virtualcpp
http://cppdepend.com/blog/?p=148
======
sclangdon
When this article refers to the term "modern C++" it seems to be talking about
Andrei Alexandrescu's now 16 year old notion of modern C++ [1], not the C++11
and newer notion [2].

[1] Addmittedly, Andrei's notion is still completely relevant today (and
still, imo, the best C++ book available) but I don't think it's what most
people think of when they hear the term "modern c++" these days. -
[https://en.wikipedia.org/wiki/Modern_C%2B%2B_Design](https://en.wikipedia.org/wiki/Modern_C%2B%2B_Design)

[2]
[https://github.com/isocpp/CppCoreGuidelines/blob/master/CppC...](https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md)

------
vitaut
I think Boost was very successful in encouraging development of high-quality
libraries that seamlessly work together (most of the time) and have consistent
build infrastructure. It is not that important nowadays because the most
important parts have already been integrated into the standard library and we
have a de facto standard build system (CMake) that makes it easy working with
small libraries that do one job well.

Where Boost is a bit lacking is modularity and somewhat varying library
quality but this is kind of expected considering the number of subprojects.

~~~
vvanders
Also, build times. Every project I know that's integrated it has regretted it
on this point alone.

------
personjerry
Also check out
[https://github.com/facebook/folly](https://github.com/facebook/folly) which
"complements" Boost and std

------
vortico
Is it still required to download the entire 300MB+ Boost library to use a
small section of it, like odeint for example? This has always been the "joke"
that prevents me from taking it seriously.

~~~
Scea91
300 MB is nothing today and I would guess that almost all of us can download
it in less than a minute, so where is the problem?

~~~
ue_
Do most people have download speeds greater than 5MB/s?

~~~
mac01021
Isn't the download speed of a typical cable internet connection in the tens of
Mbps?

On the east coast I pay about $70 per month for about 50mbps.

I would be interested to here if suburbs elsewhere in the country have it much
worse (or much better).

~~~
consz
300KB/s here (NYC).

~~~
mac01021
Cable? What ISP? Similar price?

------
WalterBright
An unexpected dividend of Boost is the Boost License, which is the most open
source of the open source licenses. We use it pervasively in the D community.

~~~
kobeya
> the most open source of the open source licenses

What does that mean?

~~~
WalterBright
The least restrictions on what you can do with it. It was the closest to
public domain we could find among the major licenses.

~~~
tbirdz
Check out the 0BSD license:
[https://spdx.org/licenses/0BSD.html](https://spdx.org/licenses/0BSD.html)

It's even more permissive. It doesn't require preserving copyright notices and
including a copy of the license with source code forms, like the boost license
does.

I'm not a lawyer, but the license uses the same text as the ISC license, but
with the text imposing restrictions removed. So I think it should be as
legally valid as the ISC license (again, I'm not a lawyer).

The problem with the boost license is it's pretty specific on "works are
solely in the form of machine-executable object code generated by a source
language processor." being allowed to be redistributed without including a
license, so if I was making an interpreted language, or something that would
embed it's own source code in the users code (eg a template library or
something), then I don't think the boost license would allow them to
redistribute that derived work, whereas 0BSD would.

The license is listed on OSI's page as the "Free Public License" for some
reason
[https://opensource.org/licenses/FPL-1.0.0](https://opensource.org/licenses/FPL-1.0.0)
, but the text is essentially the same.

Here's the whole 0BSD license text:

 _Copyright (C) DATE by AUTHOR

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE._

~~~
WalterBright
> I don't think the boost license would allow them to redistribute that
> derived work

That clause is only about distributing without the copyright notice. If you
have any doubts, just include the copyright notice and you can redistribute
it.

Disclaimer: I am not a lawyer and this isn't legal advice.

------
noway421
This website has terrible scroll.

~~~
flukus
On chrome it looks like native scrolling. I don't know why they decided to
leave 20px of white space at the top though.

~~~
coding123
On Chrome on a mac, this website is "jerky". I think a lot of these scroll-
jacking scripts are designed to make the Windows user's experience better, but
in reality, it is screwing up the Mac user's experience where scrolling has
already been fixed perfectly for years.

------
ClassyJacket
This website is unfortunately near unreadable thanks to hijacking my scrolling
and constantly pushing me past where I want to look.

------
adzm
It gets rehashed on the mailing lists all the time but the biggest issue with
boost now is backwards compatibility. While it is great to have libraries
working on older platforms, it's a pain to use modern cpp features.

With increased modularity, I'm sure this situation will be improved.

------
amelius
Boost really crossed the limits of what's reasonably possible in C++, imho. I
wonder if language designers have taken notice.

------
trustworthy
There are a number of very valuable boost libraries and I don't think anyone
would deny that it's been good for the language. However, to achieve that
second goal, the website and documentation need some serious work. It can be
difficult to pick up a new boost library and hit the ground running.

------
HelloNurse
If you consider tests and documentation excess baggage, you are not qualified
to have anything to do with things as simple as sort functions.

~~~
tonyedgecombe
There is no need to be rude.

------
ezoe
Microsoft which provide such a standard non-conforming compiler related to the
term "Modern C++"? Ugh.

~~~
pjmlp
Microsoft is actually the commercial C++ vendor with the best support for ANSI
C++.

[http://en.cppreference.com/w/cpp/compiler_support](http://en.cppreference.com/w/cpp/compiler_support)

Many people seem to forget there is a world outside clang and gcc.

~~~
nsb1
Am I reading that chart wrong? From that page it looks to me like MSVC is
quite a bit behind gcc and clang when it comes to feature support.

~~~
pjmlp
My point was comparing to other commercial C++ vendors, many of whom are the
only option in certain types of projects.

