Updated: 17/4/07; 11:00:53.
James Strachan's Weblog
Ramblings on Open Source, Java, Groovy, XML and other geeky malarkey
        

Thursday, December 11, 2003

It seems to have taken way longer than it should but the first beta release of Groovy is out! Download it here.

This release includes...
  • compile time or runtime compilation straight to Java bytecode as well as groovyc Ant task and command line script
  • a Swing based console (groovyConsole) and a simple command line terminal (groovysh) complete with typeo :)
  • full support for properties, fields, native syntax for maps, lists, regex and autoboxing
  • 'true' closures (like Ruby 2.0), static or dynamic typing, operator overloading, text templating
  • GPath (a native XPath like language)
  • GroovyMarkup for embedding structured markup inside Groovy with support for markup, DOM, SAX, Swing and Ant scripting
  • Groovlets - a neat way of writing Servlets using groovy
Please be gentle with it, its the first ever official release. All feedback welcome.

8:32:10 PM    comment []

I loved this post by Cameron - or should I say Frank Helmut :). LOL!

3:51:14 PM    comment []



aint that cute :)

1:34:48 PM    comment []

I've been looking at lots of languages for inspiration for Groovy lately so read up a little on C#. There's some nice things in there - metadata, autoboxing, operator overloading - though there's a few things I'm not too keen.

virtual keyword

First off the virtual keyword. I remember many many times in the old C++ days where someone would forget to add a virtual keyword on a method, meaning you couldn't override something and you couldn't change it without breaking binary compatibilty and you had to hack around it causing much pain. Usually this was all caused by someone just plain forgetting to add the keyword.

I much prefer Java's approach of you lock something down when you decide you want to (rather than having to remember to open something up). Afterall its much more common for things to be left open than things to be explicitly closed. e.g. go through the JDK; there's very few uses of final and quite right too.

I can't remember ever hitting developer pain in Java when someone accidentally made a method overloadable causing problems - though I still, after 6+ years of java, remember the not-overloadable-pain of C++ and it seems C# has followed suit unfortunately. Sure leaving things open can lead to the fragile base class problem - but thats something for the person overloading your code to worry about.

Modern VMs are totally capable of inlining virtual method calls if they're in a hotspot - we shouldn't have to worry about helping the VM squeeze out small percentages of performance improvements - we should be aiming for reducing developer pain. Incidentally its been a while since any application I worked on was CPU bound too; these days its most IO bound, often database bound.

taste

A quick point on taste: I really dislike the Capital Letters For Method Names. object.Print() is just ugly - coming from a C++, Java, Smalltalk, Ruby or Python background this just jolts the senses; capitals are reserved for types (well apart from Python maybe). I wonder why they chose that? Was is just to make C# code look more different to Java? A bit like using instead of / for path separator or something? Or to make VB people happy? I'm sure C# developers will have got used to it by now - its like all those folks who drive on the wrong side of the road :) but as someone who doesn't work on the dark side, it looks ugly over there :)

override

Anyways the other thing I find interesting is the override keyword. You can read the argument for its inclusion here. The thing I find totally amazing is in 12-15 years of C++ and 6+ years of Java I've never ever hit the problem they're talking about. Maybe I've been doing something really wrong the last (ahem) nearly 20 years (crikey how time flies) or could it be they've added a language feature that adds yet more baggage for the developer for very little actual gain?

summary

I'm with Matz on this; languages these days should be about making developers lives easier and fun, removing baggage not adding it, since developers are the expensive resource - let the language & compilers & runtime do more of the work for us. A few things in C# I see as a step backwards from Java.

10:17:00 AM    comment []

I Folks like me turn the unread news in my news aggregator into a big blob of HTML and sync it with my PDA so I can catch up on the blogosphere while commuting to work or travelling. Its a little annoying when many movable type blogs only include, say, 100 worlds of the post - you often find that when you're back online & if you remember to go back and look that you only missed 2 words afterall :)

Most RSS feeds give you the whole post, so its really neat for offline reading of news. If you're a MovableType blogger, please take pity on us offline-news-readers and enable your full posts to be in your RSS feed.  To do this...
Edit your template for your RSS 1.0 feed (index.rdf) and look for <$MTEntryExcerpt...$> tag.  Merely change it to be <$MTEntryBody...$>, save your template, and rebuild your site.
Many thanks!

9:51:38 AM    comment []

© Copyright 2007 James Strachan.
 
December 2003
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
Nov   Jan




Click to see the XML version of this web page.
Subscribe to "James Strachan's Weblog" in Radio UserLand.
Click here to send an email to the editor of this weblog.
blogchalk: James/Male/31-35. Lives in United Kingdom/London/Islington and speaks English. Spends 60% of daytime online. Uses a Fast (128k-512k) connection.
this site is a java.blog

currently subscribed to:

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. <big>kev's</big> catalogue of this and that.

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. /\ndy's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. /dev/null

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. ::Manageability::

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Abe Fettig's Web Workshop

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Absurdities and nonsenses

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. All Things

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. All Things Distributed

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Andres Aguiar's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Aslak Hellesoy's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. bayard

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Be Blogging

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Blaug Blawg Blog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Blogging Pubbitch

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. bob mcwhirter

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Brett Morgan's Insanity Weblog Zilla

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Brian Behlendorf's Blog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Brian Jepson's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Brian Maso's Tecno-Geek Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Bright Eyed Mister Zen

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Cafe con Leche XML News and Resources

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. CapeBlog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Citations for : squishy

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Clemens Vasters: Indigo'ed

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Cocoon and more

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Code Feed

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Code:Q

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Codito ergo sum

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. corporate eejit

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Coty's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Craig Burton: logs, links, life, and lexicon

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. crazybob.org - web log

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Crowbar Tech

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. cwinters.com

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Darren Hobbs

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. deem

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. deep:code

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. dion

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. dive into mark

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. DJ's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Don Box's Spoutlet

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Don Park's Daily Habit

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. dorodok

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Doug Kaye: Web Services Strategies

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Eclectic

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Eric Alexander

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. ericfreeman.com

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Erik Hatcher - Blog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Erik's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Fast Takes

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Forwarding Address: OS X

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Free XML tools

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Glen Daniels

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Gordon Weakliem's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. graham glass: what's next?

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. gru's logic

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. grubbel

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Guido Casper's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. IKVM.NET Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Jason Carreira

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Java Testing, Tools, and Engineering

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. java.sun.com

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. JavaGu(i)(y)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Jeff Turner's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. jelly

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. jeremiahcode

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Jeremy Allaire's Radio

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Joe's Jelly

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Joel on Software

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Jon's Radio

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Jon's StudioZ.tv Blog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. josh lucas' Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. jutopia

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. kdub's log

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Ken Bereskin's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Knowing .NET

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. mabo

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Mac Net Journal

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. MacSlash

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. manicwave

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Mark O'Neill's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Martin Dulisch's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Matt Croydon::postneo

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Memory Dump

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. meta-douglasp

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. miceda

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Michael J. Radwin's blog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Mike Clark

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Mitch Kapor's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Mozquito XForms

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Nathan Torkington's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Nicholas Riley's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. nickminutello

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Ockham's Flashlight

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Off the beaten track

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. ongoing

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Organic BPEL

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Otaku, Cedric's weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Outer Web Thought Log

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Ovidiu Predescu's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Part of the problem.....

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Patrick Chanezon's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Patrick Logan's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Peter Drayton's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. PragDave

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. PSquad's Corner

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Pushing the envelope

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Raible Designs ~ We Build Web Apps

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Random thoughts

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Ray Ozzie's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. rebelutionary

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Remus

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Rick Salsa's Blog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. rinkrank

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Rod Waldhoff's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. rosewater

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Royle's Random Ruminations

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Sam Ruby

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Sanjiva Weerawarana's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Sean McGrath, CTO, Propylon

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Service Oriented Enterprise

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. skizz.biz

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Sklires Skepsis...

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Small Values of Cool

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Spike's GeekBlog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Steve Conover's Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Steve's Radio Weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Technomagica

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Ted Leung on the air

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. The Blue Pill

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. The Fishbowl

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. The Mountain of Worthless Information

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. The Occasional Blogger

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. TheArchitect.co.uk - Jorgen Thelin's weblog

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. TheServerSide.Com: Your J2EE Community Forum

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. thinair

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Thinking About Computing

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Tobiased thoughts

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Tomalak's Realm

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. toolbox

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. transMorphic

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Vincent Massol Think Tank

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Weblog for Costin Manolache

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Weblog: Morgan Delagrange

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. WebMink

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Whispering

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. X180

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. XMLhack

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. xpzen.com: what's on my mind

Here's how this works.