[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