[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

AW: AW: C++ thoughts for Berlin

From: Markus Schaber <m.schaber_at_codesys.com>
Date: Tue, 4 Jun 2013 11:16:00 +0000

Hi, Blair,

Von: Blair Zajac [mailto:blair_at_orcaware.com]
> On 06/02/2013 10:53 PM, Markus Schaber wrote:
> > Hi, Blair,
> > Von: Blair Zajac [mailto:blair_at_orcaware.com]
> >>> [Discussion whether to use (part of) C++ for SVN development]
> >>
> >> I agree it's not worth going to C++. Where I'm coming from is a
> >> frustration on the number of times I've seen pool lifetime bugs get
> >> fixed and it would be great to be in a language where one doesn't
> >> need to worry about that, or as much.
> >
> > I fully understand your frustration. :-)
> >
> > C can be frustrating. But believe me, as I used to program C++ for my day
> job for almost five years, it is not the solution. Frustration just shifts
> from some problem areas to others, and memory management is not really better.
>
> I'm not sure where all the negativity for C++ memory comes from.

Don't get me wrong. I don't think memory management in C++ is worse than in pure C.

It just does not bring enough benefits compared to C to justify the transition of such a big existing project like SVN, especially if you consider the broad range of (partially ancient) platforms and compilers which need to be supported.

Well-designed Smart Pointers will actually solve a lot of problems of memory management, but it is hard to find a fully portable solution which comes without side-effects. (Boost is bloaty, C++ 11 not yet supported on most of the platforms, ...).

Additionally, all the public SVN interface, as well as some used libraries (APR) rely on the current pool-based management. It would be hard to replace that while still remaining compatible.

For SVN 2.0, if C++ 11 is widespread enough by then, I'd not oppose going to C++, or even to a completely different beast like Rust, Go or Python. :-)

Best regards

Markus Schaber

CODESYS(r) a trademark of 3S-Smart Software Solutions GmbH

Inspiring Automation Solutions

3S-Smart Software Solutions GmbH
Dipl.-Inf. Markus Schaber | Product Development Core Technology
Memminger Str. 151 | 87439 Kempten | Germany
Tel. +49-831-54031-979 | Fax +49-831-54031-50

E-Mail: m.schaber@codesys.com | Web: http://www.codesys.com | CODESYS store: http://store.codesys.com
CODESYS forum: http://forum.codesys.com

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade register: Kempten HRB 6186 | Tax ID No.: DE 167014915
Received on 2013-06-04 13:16:56 CEST

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.