Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Interview with Michael Kimsal, publisher of GroovyMag

DZone's Guide to

Interview with Michael Kimsal, publisher of GroovyMag

· Web Dev Zone
Free Resource

Learn how to build modern digital experience apps with Crafter CMS. Download this eBook now. Brought to you in partnership with Crafter Software

Groovy Zone caught up with Michael Kimsal, publisher of GroovyMag, an online magazine for Groovy and Grails developers.Enjoy!

[img_assist|nid=7996|title=|desc=|link=none|align=right|width=200|height=192]Andres Almiray: Hi Michael, Could you please introduce yourself?

Michael Kimsal: I'm Michael Kimsal, and have been working in the web arena since late 1995. I've worked in a variety of situations with companies both big and small, and worn a variety of hats along the way. I started with PHP in early 1996, and have been worked with PHP, Perl, ColdFusion, ASP and a little Java and .Net in recent years. I run a couple podcasts - http://webdevradio.com and http://webdevgeekly.com, and I publish http://groovymag.com

Andres: What type of content can be found on those podcasts?

Michael: WebDevRadio has been a longstanding "now and then" podcast I put out with either my own observations or some one-on-one interviews with web developers and authors.WebDevGeekly is a new podcast I'm doing in a conversational format with Mikeal Rogers (from Mozilla), Adam Christian (from Slide.com) and Matthew Eernisse (from Seesmic). They've got all the insights as to what's going on in the web development world - I just try to keep them in line as much as I can!

Andres: What brought you into Groovy?

Michael: A couple of Groovy/Grails presentations at our local JUG in mid 2007 got me interested. Both Scott Davis and Jason Rudolph gave very exciting demonstrations of the dynamic power that Groovy brought to the table. From there I started doing a bit of experimenting, and grew more interested in the possibilities. I was still primarily a PHP dev in a split PHP/Java shop at that time, but liked a lot of the expressiveness that Groovy allowed.

In some sense I was looking for something new. Having worked with PHP for 11 years at that point, I wasready to intentionally get in to some new technology. Most of the other platforms I'd worked with had been more on a 'had to get the job done' basis rather than 'really want to learn this' basis. So, in some ways, Scott and Jason's presentations hit me right as I was at a crossroads. Both Ruby and Groovy were interesting, and Groovy offered the benefit of being Java, so anything I learned had the benefit of being applicable at the job as well.

Andres: As an experienced PHP developer, what do you think Groovy/Grails offer to PHP developers?

Michael: Groovy offers a level of succinctness that isn't always possible in PHP. Groovy as a language is still something I'm coming to terms with. I like a lot of the simplicity it forces (well, feels like it goes, to me), but also still wrestle with things that are 'unknown' to me, as I'm not coming from a traditional Java background. Being able to reuse existing Java libraries is an exciting promise, and one I'm just starting to take advantage of.

Grails offers a level of productivity that isn't easily achieved in PHP either. There are some maturing frameworks out there in the PHP world, but I've not yet found any that match the simplicity and power that Grails offers. There are some that are close, but the syntax of PHP is such that I'm not sure we'll ever see quite the combination of simplicity and power in one PHP framework.

Having said that, I still do some work in PHP, and I still like it. I get frustrated sometimes at the things I can do so easily in Grails (domain objects and GORM) which I can't do in PHP. Yet I can get frustrated in Grails because the level of "edit/save/alt-tab/f5" iterative development which PHP developers take for granted just isn't there in Grails (or any Java-based platform).

Andres: Any piece of advice for PHP developers that might give Groovy/Grails a try?

Michael: If you've ever tried Java before, put aside most of your preconceived notions. Much of what made Java web development painful is gone with Groovy and Grails.

First off, follow any Grails quick-start tutorial out there and dig in. The conventions will either make total sense, or you'll hate it out of the box and you'll never touch it again, but at least you'll know! For those of you who stick with it, I think you'll be pleasantly surprised at the productivity boost you can get in getting things up and running.

Be patient when trying to figure things out in Groovy. Some items are very easily understood, but others aren't. I'd say the Groovy community has done a decent job of documenting a lot of things about Groovy that are specific to Groovy. However, there's still a bias assuming that you're coming at Groovy from a Java background.

Example: I had an object and wanted to determine what class it was. In PHP, we have "get_class()" which takes an object and returns back the name of the class. Pretty simple. In Groovy, however, trying "myObject.class" netted me "class foo" when all I wanted was the "foo" portion. A more experience Java person said "oh - you want 'myObject.class.simpleName'. That's one of those things that would have taken me way too long to figure out on my own, and is really counterintuitive, to my mind.

Lastly, be prepared to spend a bit more time on sorting out hosting, and learning a bit more about Java app packaging. Grails makes things pretty easy, but you still need to know a bit about what's going on.

There's still a ways to go before Grails and Groovy are as accessible to people as PHP is in the broader marketplace. But, for those willing to be early adopters, there's definitely some strong productivity boosts to be had. And for people coming from PHP, you're broadening your horizons and learning another platform!

One more thing: I think PHP developers have always known that dynamic languages are where it's at :) The rise of Ruby on Rails in the last few years has rekindled that excitement in much more traditionally "enterprisey" shops, and they're looking to embrace dynamic languages like they never have before. Java's got Groovy, JRuby and Jython; Microsoft's .Net platform is supporting IronRuby and IronPython, and I think all parties are looking for ways to continue to leverage dynamic language experience. There's never been a better time to bring your dynamic language experiences to the statically-typed table, and Groovy offers a great "on ramp" in to the Java world for non-Java developers.

Andres: Is there a feature in the Groovy language that you consider to be a "killer" one?

Michael: I'm not sure I would have one 'killer' feature. I do like iterating over lists with .each{ } and closures in general might be up there. PHP is getting closures in its next release, but I think it may feel a bit clunky after using Groovy's syntax.

I guess if I had to pick one 'killer' feature, it might be the XMLSlurper. Being able to parse and process XML that easily is certainly something I've not had in other languages. PHP's SimpleXML was a step towards this level of simplicity, but Groovy's XMLSlurper
is way ahead.

Andres: Conversely, is there a set if Grails plugins you consider essential for your work?

Michael: I'm still experimenting. My projects are short and varied enough that I don't tend to have a stable set of plugin needs yet!

I think either the RichUI or the GrailsUI plugins may become a standard for me. And I'm still looking at some of the security plugins out there. As robust as some of them are, they feel a bit too Java-ish for me still. :) I've used the Google Chart, Searchable, ImageTools, HelpBalloons, Twitter plugins already, and am looking at Drools, Autobase, Authentication and Stark for future projects.

Andres: Tell us more about GroovyMag, what's the scoop?

Michael: GroovyMag is a monthly PDF magazine I began publishing in the fall of 2008. The goal is to bridge the gap between blogs and books. Blogs are often at the cutting edge, but don't always have the level of detail many people need. Books are often packed with details, but tech books are usually out of date within a few months of publication. The monthly
magazine format happily sits between those two extremes.

We've recently added in two technical editors to help make sure the article quality is as good as it can be. The idea here is to offer more than what an individual author might be able to do on their own blog. By having editors who can offer feedback on both concepts and the little things (grammar, etc.) we'll be able to bring an even better magazine to readers each month. I did my best for the first few issues, but began to realize I'm not the best person for that role.

We're also starting up a sister magazine called JSMag covering - wait for it - Javascript. That should be launching in March 2009.

Andres: Who is the target audience for the magazine? can non-Java developers enjoy it as well?

Michael: Target audience is primarily people who are developing in Groovy or Grails now, or have a strong interest in learning. I wouldn't say non-Java developers can't enjoy it, but they might not have as many practical takeaways as someone who is already doing Groovy/Grails. For example, I read .Net magazines sometimes, and feel I do get something from them, but never as much as I would if I was a .Net developer. You do bring up an interesting point though, with your use of "non-Java" developer. I would like to see the community evolve to the point where Groovy is simply a platform of its own, and we won't have the major tie to Java that we see now. True, Groovy is an easier sell to many Java people because they can reuse much of what they know. But over time, I'd like to think that Groovy will develop enough independence so that we are simply Groovy developers, not Java developers who also do some Groovy.

Andres: How has the Groovy community received the magazine so far?

Michael: The reaction has been quite positive - perhaps even a little more so than I expected. Given the newness and size of the community, many people have been very supportive of any efforts like GroovyMag to help lend more credence to the platform as a whole. I think the various user groups help in that respect too, as do the Groovy conferences, including 2GX last year and the upcoming GR8 conference. Everyone's playing their part :)

Andres: How can a potential author get in contact with you?

Michael: michael@groovymag.com is probably the easiest, but I'm also on Skype as mgkimsal. We're open to all sorts of ideas - pieces on functional programming, RESTful services, Groovy's compilation process and more are already in the pipeline. If you've got an idea for an article or column, just get in touch.

Andres: Anything else you'd like to add?

Michael: No, really. That's probably more than enough. :)

Andres: thank you Michael!

Crafter is a modern CMS platform for building modern websites and content-rich digital experiences. Download this eBook now. Brought to you in partnership with Crafter Software.

Topics:

Published at DZone with permission of Andres Almiray. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}