Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Proposal: Golang Support #2689

Open
Supermath101 opened this issue Feb 15, 2020 · 1 comment
Open

Feature Proposal: Golang Support #2689

Supermath101 opened this issue Feb 15, 2020 · 1 comment

Comments

@Supermath101
Copy link

I'm sorry if this is the wrong place for this.

Do you think Golang has the potential to become a decent data science framework if you have access to a GUI/DOM, and some decent data science libraries and/or frameworks?

I think people may be more willing to develop after a decent GUI is developed. Also, Golang may not have the flexibility of Python, but it is a few dozen times faster (in most use cases).


I was thinking that the interface for the GUI would be simular to that of Pyodide.

Potential Issues (off the top of my head):

I did see that the Golang compiler binary is even bigger than that of Pyodide, but I think if you remove all build targets except for WASM, you may be able to reduce it's size. You would also need some virtual filesystem for packages, but I heard Emscripten has filesystem support. Hopefully JIT compiling for Golang (maybe with cache) wouldn't take too long in WASM. Golang is statically typed so interacting with JS and the DOM may be hard.

@bcolloran
Copy link
Contributor

Hi @Supermath101, this is a fine place to bring to this up thank you for your interest.

I have not worked with Golang, nor do I believe have any people on our core team, so I think we are probably not qualified to speak to it's potential. Likewise, we are not in a good position to write a Golang language plugin for Iodide, since we don't have experience with it, but we would certainly welcome a Golang plugin from someone interested in trying to build one! :-)

Regarding the GUI: we have only one GUI at this point, Iodide, which supports a number of languages, of which Pyodide is the most well supported. You can read more about Iodide language plugins here: https://iodide-project.github.io/docs/language_plugins/ . This means that someone just needs to build the language plugin, not an entirely new GUI -- the Iodide interface will work straigth away with a properly implemented plugin.

you might also want to look at #2401 about Rust

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants