Show HN: GoJava – Server/desktop Java bindings to Go packages
52 points by vendakka 9 years ago | 14 comments- scosman 9 years agoI'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 9 years agoThis 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.
- rhodysurf 9 years agoIts 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 9 years agoYes 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
- vendakka 9 years ago
- rhodysurf 9 years ago
- vendakka 9 years ago
- namelezz 9 years agoSince 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 9 years agoRegarding generics: the tool generates Java bindings from Go code. Since Go doesn't have generics we just generate non-generic bindings.
- vendakka 9 years agoYes. The only constraint is that the jar will only work on the architecture it was built on.
- meddlepal 9 years agoStill 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.
- meddlepal 9 years ago
- pookeh 9 years agoYes
- vendakka 9 years ago
- _JamesA_ 9 years agoGo would benefit immensely from the ability to bind to JDBC drivers for database access.
- dguaraglia 9 years agoWhat makes you think so? Go has pretty solid native drivers for most SQL databases out there: https://github.com/golang/go/wiki/SQLDrivers
- dguaraglia 9 years ago
- alpb 9 years agoIn case the author sees this, more documentation would be great.
- vendakka 9 years agoYup. I'll put together some more docs and usage examples this weekend.
- vendakka 9 years ago