[bittorrent] Introductory/endgame algorithms
c99ang at cs.umu.se
Fri Sep 30 10:54:32 EDT 2005
On Sep 30, 2005, at 15:55, Bill Cox wrote:
>>> Other reasons exist if you're doing a multi-programmer project.
> There's a good reason C sucks yet is still the right choice for large
> projects. C is simple. That's why it sucks. That's also why it's
> right for large teams.
I would argue that you can use and benefit from C++ features even
though you're not skilled enought to write the libraries that takes
advantage of them. e.g. using stl is much easier than to write it,
and using boost.shared_ptr is much easier than to have explicit
> Here's a more detailed list:
> -- Large projects usually have complicated data structures, not
> just the
> simple inheritance tress common in GUIs. C++ sucks at representing
> simple directed graphs, since it insists on inheriting
> functionality one
> class at a time. C++ is so weak at representing graphs, there are no
> reusable graph classes available from any source I've been able to
> except where the reuse is based on nothing better than what I would do
> in C: callback functions and a C API and some void pointers on
> That's not what I call reusable code.
Ever tried boost graph library?
> -- C++ forces header files to change as you write code, since class
> methods are declared in a single header file per class, even if
> they are
> private, causing everyone else in your group to have to recompile
> code. This hostile cooperation environment leads programmers to
> from CVS/SVN rarely, which leads to other problems.
All statically typed languages has this problem/feature. On the plus
side, you'll catch more programmer errors compile time instead of run-
> -- C++ is so complex, that there is no compiler that fully complies
> the standard. Thus, C++ code developed by large teams is only
> once it has been ported, and only to the compilers to which it was
> ported. Individuals familiar with porting can write portable code,
> again, large teams will not be made up entirely of such people. C is
> hard to write in a portable way. C++ is harder.
Although I see your point and agree. Having a fully conforming C++
front-end generating C code would make it exactly as portable as C.
More information about the BitTorrent