
Show HN: GoJava – Server/desktop Java bindings to Go packages - vendakka
https://github.com/sridharv/gojava
======
scosman
I'm looking forward to when this exists for every almost language. Go added
"c-archive" build mode in 1.5. There is no reason gobind couldn't support any
language which can work with c libraries (ruby, node, etc).

~~~
vendakka
This exists for Python [0]. The reverse is also interesting (Go ->
Java/Python/Ruby) and once I get some spare time, I'll play around with using
libjvm to load and call jar files from Go.

[0] [https://github.com/go-python/gopy](https://github.com/go-python/gopy)

~~~
rhodysurf
Its awesome. The problem is that only specific types are supported by a bunch
of these types of libraries. In the case of gopy you cannot do anything with a
nested slices in structs which limits things a bit.

~~~
vendakka
Yes this is definitely a little limiting. I'm also experimenting with a
slightly different binding method, where passing pointers to structs is
disallowed (gobind currently allows pointers to structs). All structs are only
passed by value, which solves a lot of the underlying problems and allows for
slices and nested structs. I'll have something tangible in a few weeks and
might switch out the dependency on gobind.

EDIT: edited for clarity

~~~
rhodysurf
Thats awesome news, Thanks for the explanation!

------
namelezz
Since GoJava generates jar binding, does it mean other JVM languages can use
the jar to call Go too?

Edit: Java has generic Go doesn't, how do the bindings work for generic?

~~~
vendakka
Yes. The only constraint is that the jar will only work on the architecture it
was built on.

~~~
meddlepal
Still pretty awesome and that's not really a big deal. I'm going to guess most
Java these days is running on x86_64 or ARM.

------
_JamesA_
Go would benefit immensely from the ability to bind to JDBC drivers for
database access.

~~~
dguaraglia
What makes you think so? Go has pretty solid native drivers for most SQL
databases out there:
[https://github.com/golang/go/wiki/SQLDrivers](https://github.com/golang/go/wiki/SQLDrivers)

------
alpb
In case the author sees this, more documentation would be great.

~~~
vendakka
Yup. I'll put together some more docs and usage examples this weekend.

Edit:
[https://github.com/sridharv/gojava/issues/6](https://github.com/sridharv/gojava/issues/6)

