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.