Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I would recommend against using multiple languages for the plugin interface. It just becomes a mess, the Sublime Text way of using Python and Python only for all the plugin system makes it extremely clean and extremely powerful. In your case maybe making all the plugins Go would be the way to go, It helps a lot with performance (not having to create an environment for each programming language) and the power (all the cool stuff you can do in Go).


The problem with having plugins be in Go is that dynamic linking of shared libraries (written in Go) is not very well supported right now with gc (standard Go tools, not gccgo). There are plans to address this post Go 1.4.

There are, of course, hacky ways to do plugins without shared library support (gobs via rpc to other processes or whatever), but if it were me I wouldn't spend a lot of time right now working on a Go plugin system for a Go app.


Google protocol buffers over stdin/stdout of subprocesses maybe.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: