Settings

Theme

Show HN: GoJava – Server/desktop Java bindings to Go packages

github.com

52 points by vendakka 10 years ago · 14 comments

Reader

scosman 10 years ago

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).

  • vendakkaOP 10 years ago

    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

    • rhodysurf 10 years ago

      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.

      • vendakkaOP 10 years ago

        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

namelezz 10 years ago

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?

  • vendakkaOP 10 years ago

    Regarding generics: the tool generates Java bindings from Go code. Since Go doesn't have generics we just generate non-generic bindings.

  • vendakkaOP 10 years ago

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

    • meddlepal 10 years ago

      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.

  • pookeh 10 years ago

    Yes

_JamesA_ 10 years ago

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

alpb 10 years ago

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

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection