Re: [tcljava-dev] tcljava-dev Digest, Vol 5, Issue 2
Brought to you by:
mdejong
From: Charles O. N. <cha...@su...> - 2007-02-22 09:13:27
|
Bruce Johnson wrote: > I agree to some extent with what you say, but personally I think that > when the core of a language like Jacl catches up with the C version > (and it is not that far now), that progress can potentially occur > much faster. There are so many APIs built-in to Java that writing > extensions is much faster than with C development, and once written > they are cross-platform. For example, I have scripted access to > Oracle databases with just a few lines of Jacl calling the JDBC > APIs. I probably never would have set out to write a C interface to > Oracle (like Oratcl etc.), but doing this with Jacl was a breeze. I was going to respond myself, but Bruce is exactly right here. What library exists in the C world that we don't have an analog for in Java? Generally porting over "extensions" just means providing a compatible interface to the same library in Java. In JRuby, that's exactly how we've provided socket support, zlib support, and so on. There are cases where a technology needs to be ported because it's based on a very specialized library (OpenSSL) or a technology is too new to have a Java equivalent (YAML) but we've had community members step up to the challenge of implementing those too. I think in general the problem most dynamic languages on the JVM have had is that they target the wrong goal: some amorphous measure of "compatibility" with the target language. What's needed is a concrete goal people can latch onto and get excited about; some endpoint that will actually help developers do something they couldn't do before. For JRuby that milestone is Rails support (and BTW, Rails does run fine in JRuby apart from a few remaining interpreter bugs since it's generally pure Ruby), which has been a compelling enough goal to get folks really excited about JRuby. Similar targets exist for Jython, and perhaps Grails will be the first really compelling use of Groovy. The big question then becomes "what milestone can we set for our implementation of language X that will get people excited about using it?" - Charlie |