Slashdot Mirror


Google App Engine Adds Java Support, Groovy Meta-Programming

Zarf writes "Yesterday Google announced that the Google App Engine now supports Java development, and fast on the heels of the Java announcement is an announcement for Groovy support! Groovy is a dynamic programming language for the JVM that is a near super-set of Java. Much Java syntax is valid Groovy syntax, however, Groovy adds powerful meta-programming features, and the new functionality will bring these meta-programming features to App Engine development. Groovy got special attention from the SpringSource Groovy team and the Google App Engine Java team, and it was this collaboration that helped create the changes that were the big secret in the recent Groovy release of 1.6.1."

13 of 168 comments (clear)

  1. But... by MrEricSir · · Score: 3, Funny

    But Groovy is NEW! And new is better! Just ask any developer!

    --
    There's no -1 for "I don't get it."
  2. Re:Awesome by jlp2097 · · Score: 5, Funny

    Exactly! We just need to proactively monetize the synergistic potential of this new paradigm of cloud computing and meta-programming by thinking outside the box and leverage these tools to enable a better strategic fit in our forward-thinking, customercentric enterprise.
     
    ;-)

  3. Re:Which APIs? Any Database Functionality. by nothing2seehere · · Score: 5, Informative

    Reading TFA, it looks like a scalable servlet container. No J2EE as far as I can tell.

  4. Re:Looks like Python by hansamurai · · Score: 3, Informative

    Well, it's biggest advantage is that it is a language written to run on the JVM*. You can talk to Java classes when you need to, but it's really a dynamic language that Java developers can easily learn and use. Type can be strong or weak depending on what you want/need, you can write Groovy unit tests against Java code, etc.

    *of course there's Jython, but Groovy was designed from the ground up to be used by Java developers.

  5. Re:Awesome by Blue+Stone · · Score: 4, Funny

    I'm concerned that my blue-sky thinking will be obscured by your cloud computing. Any advice?

    --
    Corporation, n. An ingenious device for obtaining individual profit without individual responsibility. - Ambrose Bierce
  6. Re:cash cow by jaydonnell · · Score: 4, Insightful

    java is extremely efficient so I have no idea what you're talking about. It's far more efficient than python which is the original GAE platform. I know it's fashionable to bash java on /., but you should at least know what you're talking about. Or, are you suggesting that everyone write their web apps in C?

  7. Re:cash cow by Camann · · Score: 4, Funny

    Well it would be a great improvement over t

    Segmentation Fault

    --
    I can't believe you don't know what a Hasemalphaginnojinglanaporphomism is.
  8. Re:Can't spawn threads or make network connections by AKAImBatman · · Score: 4, Informative

    Can't get very far without these forbidden features...

    Incorrect. The Servlet platform imposes those restrictions already, with the container handling all the messy details of threading and networking. It works just fine in 90%+ of the cases.

  9. Groovy? Why not java? by WankersRevenge · · Score: 4, Interesting

    I'm not sure I fully understand the reason for Groovy? I've read a lot of the documentation, but it doesn't answer the fundamental question ... as a java developer, why would I learn this language when I can just use java? Is it just for the new language features? Can someone illuminate?

  10. Re:cash cow by EgoWumpus · · Score: 3, Insightful

    While your two links are interesting, I think you have to do more work to make your point. Can you cite why those links prove the superiority of Python? And what specifically do you mean by 'rewrite the bible'?

    Regarding efficiency, I give you this. The relevant sentence: "I decided to redo several of the tests with updated versions of Python (2.5) and the JDK (Java 6). And indeed, my suspicions were confirmed: Java has made huge speed improvements, and is now faster than Python in almost all cases."

    --

    [Ego]out

  11. Re:cash cow by Anonymous Coward · · Score: 3, Insightful

    Let me just say that you don't need to rewrite the bible every time you want to do any operation on python (or pretty much any other language)

    Compare this http://code.google.com/appengine/docs/java/datastore/dataclasses.html

    with this: http://code.google.com/appengine/docs/python/datastore/entitiesandmodels.html

    Yes, because it's so hard to use the 2 click, automated IDE function to generate all those getters and setters. They aren't required by the language, btw, just for encapsulation. You know, that thing that's one of the selling points of OO.

    You write exactly as much code as you do in Python, autogenerate convenience methods (getters, setters, toString, etc.), and end up with your beans. Besides, who cares how hard it is to write a bean class. This isn't exactly the core effort during app development, now is it? How many awesome libraries are there in Java for things like IOC, data access, web frameworks (MVC and otherwise)? There's piles and piles. Are some of them stinkers? Yes, but there's tons of robust, usable, and EFFICIENT frameworks out there. There's tons of free stuff, free app servers, free IDEs, free plugins, free libraries. Some of the best stuff in development was written in Java first (e.g. JUnit, Spring, etc.). This stuff is so good it's been ported to other platforms.

    And to boot, the "slow and bloated" Java arguments are belied by the sheer volume of apps out there that are written in Java and you likely have no idea. Check out the networking portion of your favorite MMO game, it's likely written in Java, server side. Tons of banking software is written in Java once you get past the big iron portion. Tons of sites on the web are as well. Some of the biggest, custom forums in the world are Java (WOW forums are).

    Yeah, the GP was right, you are ignorant, and don't seem to know what you're speaking about.

  12. Re:Groovy? Why not java? by jekewa · · Score: 5, Insightful

    Still funny.

    Groovy is to Java as PERL is to C. Many similarities, plenty of points of comparison, some interactivity, arguably some interchangeability. It is not a "super set" or even an extension. It's a new language, written in another language. It's a scripting tool, written in Java, that optionally generates Java for execution not in a Groovy engine.

    It doesn't give you "compiled Java" any more than Java gives you compiled Java, and other tools (like gjc) give you native executables from software written in Java.

    It's got good. It's got bad. It's new. It leverages old. If you're going to use it, you've got to learn it.

    No magic, just different.

    --
    End the FUD
  13. Re:Groovy? Why not java? by zuperduperman · · Score: 3, Informative

    Dynamic languages are gaining popularity extremely fast for a whole host of reasons. If you haven't used a dynamic language then you probably won't understand why they are attractive very easily, but if you have it will probably seem obvious. They do have a lot of downsides and I think the jury is still out to some extent whether the reams of code now being written in them is going to be maintainable down the track.

    Groovy is Java made into a dynamic language and with innumerable convenience features added. The best way to describe it is to imagine if java was turned into Ruby.

    I suspect one reason Google has focused on it is because of Grails, which is java's main player in the RAD web-app development arena (more or less the equivalent of Django, which they also support for the Python app engine). It doesn't work on App Engine yet, but I strongly suspect that is where they are headed.