open-registry icon indicating copy to clipboard operation
open-registry copied to clipboard

Why is this written in Closure and not JavaScript?

Open amirmohsen opened this issue 5 years ago • 2 comments

You are promoting this registry as

by the community, for the community

This is the JavaScript community. So why is this written in Closure? If you expect (and hope) that the community gets involved, then you'd certainly benefit from using JavaScript (or TypeScript). I personally wouldn't be interested otherwise.

amirmohsen avatar Apr 28 '19 12:04 amirmohsen

Is it ClojureScript at least, not jvm one?

goodmind avatar Apr 29 '19 06:04 goodmind

I started this in Clojure as I wanted to build it fast and have something that is stable to run for a long time without breaking changes. It just happens to be the language I'm currently the most comfortable with.

I don't have any particular feelings against using JS if that's what people feel like. But I also don't think we should use JS just because it happens to be a JS registry currently. There could be better tools for the task.

For example, the federation software, will most probably be written in Golang or similar, as the deployment process for CLIs is so much nicer than with NodeJS (not requiring a runtime being a big one) and embedding a go-libp2p would be way easier.

So in the end, I think Open-Registry will be written in languages that makes sense for those specific tasks. For some tasks, that will be JS, for others it'll be Golang. The important thing is that the software is useful and solves a problem, not in what language that software is written in.

I'm not fully sure Open-Registry will be just limited to only serving a JavaScript registry either. It just happens to be what we started with as it's the biggest registry that is currently owned by a for-profit company. With the idea of Open-Registry not being JS exclusive, brings the idea of not being forced to using JS for everything.

I would be sad to see you not giving it a chance just because it's not written in JS, but also respect that choice if that's what you want to do.

Is it ClojureScript at least, not jvm one?

Currently using Clojure (main implemention one, JVM) but could be switched to ClojureScript trivially if needed. Not sure what the value in that would be as you would still have to code in Clojure, just that it compiles down to a different language.

victorb avatar Apr 29 '19 14:04 victorb