I think once we a get first-class method ref type in some Java-approved fashion (hoping it comes with J7's closures), I think using Java interfaces is the best idea, as (AFAIK) every other JVM language makes it easy to implement and consume Java interfaces, just not so much to declare them. If your library ships with an impl jar, an interface jar, and maybe binding jars for Guice and Spring, you could just pick and choose which parts you need depending on your language and container of choice?
-Josh On 16 February 2010 13:04, Michael Neale <[email protected]> wrote: > Hey All. This is probably worthy of a blog post, but I thought I would > ask here. > > In posse podcasts, the dearth of 3rd party libs written in non java > JVM languages is often brought up (ie jars that you use as > dependencies of your project, or that are transitive dependencies of > something you use). > > I could be wrong, but I don't know of any libraries at all myself in > common use. > > So is this a case of time and maturity? > > Speaking for myself, I have written utilities in scala for my own > usage, potentially will find other usages (always tends to, over > time). The issue myself, and others face, is how to expose/export an > appropriate interface. Each JVM language has its own way of defining a > "java interface" - in scala it is as simple as using traits and not > using crazy names, and using the standard types. > > However, this still isn't quite right, scala doc is not the same as > javadoc, and can't be mixed directly with it (that I know). This was a > showstopped for a colleague who wanted a nice first class java > interfaces for people to use. My solution is to create a set of java > interfaces, in its own module, document it - and have that as the > public face (with implementations in appropriate languages). I guess > that is making java interfaces as the "IDL" of the JVM (which is not > such a bad thing - Interfaces in java are one of the nicer things that > I think they got right). > > So this means that to consume a JVM lib, in non java, you have a jar + > javadocs which smell familiar, but you also have the language runtime > lib as a dependency as well (a notable exception is duby - which > compiles only to classes, no deps needed). > > Thoughts ? Experiences? > > -- > You received this message because you are subscribed to the Google Groups > "The Java Posse" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<javaposse%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/javaposse?hl=en. > > -- "Therefore, send not to know For whom the bell tolls. It tolls for thee." Josh 'G-Funk' McDonald - [email protected] - http://twitter.com/sophistifunk - http://flex.joshmcdonald.info/ -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.
