Resuming the great cleanup

Ian Bruene ianbruene at
Sun May 27 16:55:32 UTC 2018

On 05/27/2018 11:31 AM, Eric S. Raymond via devel wrote:
> * GOPREP: Clear the path to moving the codebase to Go. We haven't committed
> to doing this yet, but the odds on that happening someday look high enough
> that I think it is good to already be factoring it into our planning.

Though it is known to some I have not mentioned this publicly until now; 
the De-globalization / Structification project's goal is to make the 
codebase easier to port over to Go if the time comes. The project has 
spawned a check of when variables are getting initialized, which also 
helps with GOPREP.

> 4. Returning to code simplification, every simplification helps with
> GOPREP.  This one more so than most because it will dramatically
> reduce the spread of platform-dependent code paths we have to map to
> Go if and when it comes time to do that.

> Reasons for GOPREP:
> Go means (1) no more buffer-overrun attacks, ever, (2) no more memory-leak
> issues, ever, (3) *vast* code simplification (LOC might easily drop 50%), (4)
> greatly improved maintainability of what remains.

There is also a benefit in that by cutting out lots of easy-to-screw-up 
C boilerplate code it dramatically lowers the barrier to entry for new 
developers to come in without being in terror of breaking something.

> GOPREP:  Aside from the considerable labor of code translation, there is
> only one problem blocking a move to Go.  That is how GC stop-the-world
> pauses might stall refclock reports.


> The logical order to do these things in is: SINGLESOCK first.  Then
> EVENTS, if we choose to do it.  Then NTS.  GOPREP isn't a task to be
> scheduled (at least not yet) but a set of issues to keep an eye on.

Fortunately most (all?) of what GOPREP needs before the translation 
proper begins is a win even if GOMOVE never happens.

/"In the end; what separates a Man, from a Slave? Money? Power? No. A 
Man Chooses, a Slave Obeys."/ -- Andrew Ryan

/"Utopia cannot precede the Utopian. It will exist the moment we are fit 
to occupy it."/ -- Sophia Lamb

I work for the Internet Civil Engineering Institute <>, 
help us save the Internet from Entropy!

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the devel mailing list