Re: EXTERNAL: Re: adding some C++ in the code?

"Dustin J. Mitchell" <[email protected]> Tue, 17 Sep 2019 16:01:08 -0400
Newsgroups gmane.comp.archivers.amanda.devel
Message-ID <CAJtE5vSZWqUyV40cTmaNFOddpT3=cS_7ns11uKhAazYCD6QmJg@mail.gmail.com>
--000000000000221cad0592c52f9c
Content-Type: text/plain; charset="UTF-8"

I agree with your assessment -- Amanda's architecture is pretty dated and
makes a lot of things (such as tracing and testing) difficult.  The config,
in particular, is awful -- and the various other on-disk data structures it
uses are rather reminiscent of the 1970s :)

As the one who invented, but then failed to complete, the Perl migration,
I'm a little leery of big refactors.  When they aren't finished, then as
you've seen with the Perl work, they leave things in a *worse*, not better,
situation.  And they are devilishly slow if you want to maintain
user-facing compatibility.  If I had started out writing an "Amanda-like"
backup system from scratch in Perl lo those many years ago, I could have
finished it quickly, but at the cost of losing all users (and Zmanda's
customers) as well as the decades of knowledge baked into that code.

There's a right-sized chunk to bite off here, I'm just not sure that "use
C++" is it.  I'm not sure it isn't, either.

Dustin

--000000000000221cad0592c52f9c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I agree with your assessment -- Amanda&#39;s architec=
ture is pretty dated and makes a lot of things (such as tracing and testing=
) difficult.=C2=A0 The config, in particular, is awful -- and the various o=
ther on-disk data structures it uses are rather reminiscent of the 1970s :)=
<br></div><div><br></div><div><div>As the one who invented, but then failed=
 to complete, the Perl migration, I&#39;m a little leery of big refactors.=
=C2=A0 When they aren&#39;t finished, then as you&#39;ve seen with the Perl=
 work, they leave things in a *worse*, not better, situation.=C2=A0 And the=
y are devilishly slow if you want to maintain user-facing compatibility.=C2=
=A0 If I had started out writing an &quot;Amanda-like&quot; backup system f=
rom scratch in Perl lo those many years ago, I could have finished it quick=
ly, but at the cost of losing all users (and Zmanda&#39;s customers) as wel=
l as the decades of knowledge baked into that code.</div><div><br></div><di=
v>There&#39;s a right-sized chunk to bite off here, I&#39;m just not sure t=
hat &quot;use C++&quot; is it.=C2=A0 I&#39;m not sure it isn&#39;t, either.=
</div><div><br></div><div>Dustin<br></div></div></div>

--000000000000221cad0592c52f9c--