[Ndn-interest] [EXT] Request for Mentor Program

Junxiao Shi shijunxiao at email.arizona.edu
Wed May 20 16:35:00 PDT 2020


Hi Rafee

NDN refers to a protocol, not a software.
NDN protocol has multiple implementations, such as NDNts, python-ndn, and
NDN-Lite. These implementations have independent codebase, and are not
bindings of one another.

While one could create a Go library as a binding of a C library (the only
choice is NDN-Lite) using cgo, it may not be desirable.
>From a Go programmer's point of view, such a binding library lacks several
important benefits that a pure Go library would have:

   - No memory safety.
   - Not scalable (due to the data structure design of NDN-Lite).
   - Insecure, because crypto occurs in C, not the robust Go crypto
   libraries.
   - APIs would feel like C, not Go.
   - Cannot cross compile by specifying GOOS and GOARCH environment
   variables.


A decent Go library has to start from scratch, not as a binding of NDN-Lite.
Then, it would be go-gettable, and feel natural to Go programmers.

Yours, Junxiao

On Wed, May 20, 2020 at 6:35 PM Mohammad Ishfaque Jahan Rafee <
mij.rafee.1344 at gmail.com> wrote:

> Hi Junxiao,
> NDN-Go doesn't meet the requirements, but NDN itself does, isn't it? The
> way I see it, NDN-Go or python-ndn is binding for the underlying NDN
> project. I am not talking about rewriting the whole NDN in Go, which the
> previous maintainer did. However, if it's binding to the existing
> well-established project, such as NDN, then it starts to make more sense.
>
> And yes, this initiative is very similar to GSoC.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.lists.cs.ucla.edu/pipermail/ndn-interest/attachments/20200520/3f343a15/attachment.html>


More information about the Ndn-interest mailing list