On May 28, 2011, at 2:10 PM, egervari wrote:
> Most of Rails makes sense, especially if you do the simple things -
> the things where you find TONS of examples for online. It's the
> "weird" and somewhat "uncommon" things that really bite me all the
> time. In Java, I have traditionally found myself intuitively guessing
> the answers and having my intuition be correct. This has almost never
> happened when using Ruby/Rails :(

But intuition is the result of experience. How much Ruby and Rails experience 
do you have?

Find an old Lisp hacker who has written code in Lisp for the last 30 years and 
I'm pretty sure they will find nothing about Java intuitive. If you don't think 
that's true, just see the problem that some lisp guys have with concepts like 
class paths when trying to get started with Clojure. And don't even get me 
started on why I have to tell the compiler a bunch of type information it could 
quite easily infer (see Scala for a good example of a strongly typed language 
with low ceremony and good type inference).

I'm still getting up to speed in Ruby and Rails and continually find things 
that don't seem intuitive to me - despite a decent grounding in dynamic 
languages like Groovy and Python and a programming career encompassing a lot of 
languages. But I don't immediately assume that to be an issue with Ruby or 
Rails, but rather a limitation of my intuition due to the lack of experience 
with the idioms of Ruby and Rails. (Side note - get a copy of Eloquent Ruby - 
it'll help a lot. Also read The Rails 3 Way, Crafting Rails Applications, the 
Rspec book and everything else you can get your hands on about Rails and try to 
pair and attend hackfests to get a feel for how Rails developers write code)

Get to know some excellent Ruby devs at RubyConf (you just missed RailsConf 
last week in Baltimore if you weren't there - it was a blast), regional 
conferences and local meetups. Ask them some questions including why they use 
the language. I moved to Ruby and Rails because many great developers I know 
from other language communities told me they found it to be more productive and 
fun. My experience (despite the occasional frustration) bears that out. Also, 
build a deep network of Ruby devs so when you *have* an issue you can IM 
someone and figure it out in 5 minutes. Software engineering is fundamentally a 
social endeavor.

Or you can always go back to Java. The Play framework isn't bad and Spring Roo 
does an awesome job of using best practices in code generation and providing a 
command line experience that even Rails should envy. Spring gives you DI and 
AOP which are useful. Groovy is an awesome language with AST transforms that 
provide an amazing set of metaprogramming capabilities, and while it isn't 
quite as mature as Rails, I've successfully built a number of projects using 
Grails and it's an excellent tool for developing Java centric apps on the JVM 
(although if you just need to deploy to war files, you should also look at 
running Rails using JRuby).

Best Wishes,
Peter


-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to