Re:Go and Swift take another step up the programming languag...
by putterson on Friday December 05, 2014 @01:26PM
(#8705960)
Actually, I really enjoy using Groovy as a Java REPL, when having to use Java. Your code is run in a Script class
Most java code is valid Groovy code and it has some nice dynamic features, syntax sugar and has closures. I am currently using it to hack together a small DSL to easily configure a transformation from XML -> CSV
Here's an example of a Groovy session (From my instance of IntelliJ IDEA through Tools -> Groovy Console)
> P = "Hello world!"
Hello world!
> sub = P.substring(5)
world!
> sub ==~ / wo.+/ ? println("World") : {}()
World
Re:Go and Swift take another step up the programming languag...
by vorg on Friday December 05, 2014 @05:33PM
(#8707325)
> Most java code is valid Groovy code
Up to Java 7 you could say "most" but why not "all"? Was it too difficult to test full compatibility? Why is the == slightly different between Java and Groovy, and the rest of the little differences which only confuse? And as for your example it doesn't look in the slightest like Java...
P = "Hello world!"
sub = P.substring(5)
sub ==~ / wo.+/ ? println("World") : {}()
Why wasn't Groovy updated so most java 8 code is also valid Groovy code? And why didn't you actually post some code to do something useful like "configure a transformation from XML -> CSV" instead of creating a HN login to post a meaningless syntax sample?
Moreof, maybe, but it is language design, too. If you had a Java REPL, you still would have to type quite a bit of stuff (a class and a function) before you would have your "Hello, world".
Yes, you could add an implicit class named GLOBAL that magically gets a property named 'P' the moment you type
but I would call that doing language redesign.