Interview with Michael Kimsal, publisher of GroovyMag
Groovy Zone caught up with Michael Kimsal, publisher of GroovyMag, an online magazine for Groovy and Grails developers.Enjoy!
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!
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)









