
Groovy/Grails vs. Ruby/Rails vs. Python/(something)? - edgeztv

======
zaphod
Take this with a grain of salt, as I haven't tried Groovy/Grails, but in my
experience several of the other rails knockoffs were the genuine Rolix's of
the framework world.

Rails is not perfect, but ruby and leadership by innovators who think a little
different made it what it is. Will you see that in me-too frameworks? Will
they ever do more than copy ideas and stay a step behind?

Plus, the difference between a dynamic language and java is something like the
difference between travelling at light-speed, vs. faster than light. In Java
you travel (code) in a straight line. In Rails or a dynamic language, you can
fold space-time so the destination point is only a few lines of code from
where you are now. Cleverness gives you more leverage in a dynamic language.
ROR is solid enough, and Jruby can run rails now.

Eric

~~~
edgeztv
Actually, Groovy isn't Java - it's a dynamic "scripting" language that runs on
the Java virtual machine (just like JRuby or Jython) - precisely the reason
why I want to try it :)

------
wensing
something = Pylons. <http://pylonshq.com>

"Pylons combines the very best ideas from the worlds of Ruby, Python and Perl,
providing a structured but extremely flexible Python web framework. It's also
one of the first projects to leverage the emerging WSGI standard, which allows
extensive re-use and flexibility  but only if you need it. Out of the box,
Pylons aims to make web development fast, flexible and easy."

~~~
papersmith
Pylons is awesome, but be aware that they're changing the default template to
Mako soon, and form handling to ToscaWidgets. The latter doesn't have much
documentation yet.

------
felipe
I highly recommend JBoss Seam:

<http://www.jboss.com/products/seam>

It is quite stable and mature (granted it's around for only a year or so).
I've already used it in 3 different projects and IMHO this is the best web
framework for Java. The community is very active, and it's leaded by Gavin
King (from Hibernate fame).

Apparently Seam supports Groovy now (I haven't tried it yet, but it looks
promising):

<http://blog.hibernate.org/cgi-bin/blosxom.cgi/2007/05/07>

~~~
Tichy
That's really good news!

------
jey
Python on Planes all the way. <http://pythononplanes.com/>

~~~
russ
Python on Planes is my framework of choice too! Seriously though, you can do
pretty much anything with any of these frameworks - so pick the one you seem
to like the best and build something.

~~~
ryantmulligan
My favorite feature of Python on Planes is the one liner it takes to make
Reddit. It's just Reddit.new(). It even figures out the databases for you
automatically.

------
dazzawazza
I'm currently working with Turbogears (<http://www.turbogears.org)> which is a
(real, no snake oil here) python framework. It's not perfect by a long way but
it pulls together some really excellent technology from all over the python
world.

------
rpercy
something = Django. <http://www.djangoproject.com/>

~~~
samueladam
Anyone still developping with PHP or similar should spend a day trying a
framework like Ruby on Rails or Python / ( Django, webpy, ... ).

The advantages of those frameworks are :

\- Way faster development ( less code )

\- No messing with databases

\- Clean structure ( business logic separated from HTML )

===

Arguing wether to go with Ruby or Python with a framework is pointless, their
concepts are similar. Choose one tool and get good at using it.

I went with Python and Django because :

\- Python is simple, clean, multi purposes and popular

\- There are many available libraries ( and it has been helpful to me )

\- Django is the python framework with the most contributors

\- Django has good documentation available

===

Django is not the fastest framework but when you'll have to deal with
scalability, the solution is to cache and put everything in RAM.

Try the tutorial and see if you like it.

I needed about 1.5 months to get used to the underlying concepts.

My advise is to code as seen in the examples and relax.

Don't worry about optimising, they thought about it for you.

===

Tutorial:

<http://www.djangoproject.com/documentation/tutorial01/>

------
davidw
I'm pretty happy with Rails. It's not perfect, but it's _widely_ used, does
most of what I need, and looks to be around for the long haul at this point.
Ruby's pretty nice too - I like it a bit more than Python, but for pretty much
entirely subjective reasons. I think Django would be a good choice too.

------
edgeztv
I am a Java+GWT programmer, interested in exploring Groovy/Grails. Seems like
an easier transition & a solid platfrom (the JVM) compared to RoR. Anyone have
any experience with it to share?

~~~
Tichy
I am just considering giving up my exploration of Grails.

A lot of it seems like fun, but I am not sure if it is mature yet. My progress
was very slow because nothing comes natural to me anymore. At the moment I
don't know how "save" cascades in GORM. Maybe I am just not made for the Rails
type of programming: seems I want to be in control of everything. With
Hibernate, I can explicitly define the cascades, plus it is very easy to find
out what to do in the documentation.

To be fair you can probably fall back to configuring Hibernate directly with
Grails. I think I would rather have a classic Spring/Hibernate application and
replace some parts with Groovy/Grails than the other way round. One thing I
also don't like is that Grails doesn't use Maven (or gaven or whatever they
will call the groovy replacement for maven they will surely eventually
create). I am used to not putting binary libraries into subversion any more
and don't want to go back.

My other source of frustration is that I couldn't get my grails application to
run in Eclipse and therefore I couldn't debug. Also the Groovy plugin is
extremly basic, all it does is syntax highlighting, for all I can tell (and
debugging, if it would work). Also, Grails produces the longest exception
stacktraces I have ever seen, looking for the source of the error in there is
no fun.

I feel a bit pathetic - surely I should try harder and dig deeper into Grails,
but somehow I can't motivate myself to do it.

That said, I still think it would be 1000 times more fun than classical Java
development. I guess I'll just wait for a few version jumps and then I'll try
it again. Wish I could find the time to contribute to grails myself.

~~~
sbraford
That got me for a while too when I was first learning Rails (the what does
"save" do exactly issue).

Personally I prefer letting a framework do its thing and make intelligent
defaults, that can hopefully be overridden (usually the case in Rails).

------
jrockway
What about Perl/Catalyst?

~~~
lupin_sansei
I don't know about Catalyst, but I'm very happy with Perl/CGI::Application

------
amichail
Groovy is great for writing unit tests for your Java app.

