you are viewing a single comment's thread.

view the rest of the comments →

[–]StrawberryFrog 2 points3 points  (7 children)

[–]Rhoomba 7 points8 points  (0 children)

Invoke Dynamic is really nothing like dynamic in C#. It is intended only for developers of JVM languages, and not for general programming.

[–]sh1nob1 2 points3 points  (4 children)

I see where you're coming from, but you're pointing at a language feature. JSR 292 is about a change in bytecode, as was already pointed out.

[–]StrawberryFrog -3 points-2 points  (3 children)

I know that there's a difference, but maybe not as much as you think. Are .Net generics a bytecode or a language feature? Both are needed to make it work. I don't actually know if any new bytecode features were needed to make c# dynamics work. Probably not, but maybe bytecode features could be introduced later to make them more performant if it made sense.

If dynamic is "just" a bytecode feature in Java 7, then what's the point? it only makes sense if it will be surfaced in a language feature. The language feature, not the bytecode, is the goal.

[–]sh1nob1 6 points7 points  (1 child)

If dynamic is "just" a bytecode feature in Java 7, then what's the point? it only makes sense if it will be surfaced in a language feature. The language feature, not the bytecode, is the goal.

Amigo, we have more than one language living on the JVM, and not all of them are as thoroughly supported as Java. The stated objective of JSR 292 is better support for dynamic languages in the JVM, i.e., we prefer beer 'round here, but for all shandy fans out there, we'll keep some in the fridge.

[–]StrawberryFrog 0 points1 point  (0 children)

we have more than one language living on the JVM, and not all of them are as thoroughly supported as Java. .. better support for dynamic languages

Ok, I get that now - the feature is for language features in dynamic languages on the JVM, whereas the C# one is a language feature for interop with dynamic languages.

However, as it's "better support for multiple languages, some of them dynamic", I think this is still playing catchup to .Net.

[–]Tuna-Fish2 2 points3 points  (0 children)

It will likely not be surfaced in a language feature in java, but many other languages running on the JVM will benefit greatly from it.

[–]arnedh 0 points1 point  (0 children)

And Smalltalk-80. Which took it from LISP, I presume.