Disclaimer: This post is not meant to start a big debate or pit one framework against another. I''m just seeking some objective advice. I''m wanting to get back into programming after 20 years (just as a hobby, I have a non-tech job), and create some useful stuff, contribute to interesting projects, etc. I''m a quick learner but my programming skills (which even 20 years ago I never had time to develop much) are obsolete so I''m basically starting from scratch. I''m mostly interested in developping database-driven web-based apps. I''ve read a fair bit about Rails and it has really grabbed my attention. I''ve done a few tutorials and I like the ease of coding, the structure, not having to deal with SQL, etc. Ruby as a language is a little more intimidating. I had been thinking of pursuing Python as my first new language as there are a lot of good resources on it, and it''s the preferred language of Gnome (which I use full-time). When I found Rails I decided to go for Ruby instead. But now having come across Django, it seems to offer much of what Rails does, but based on Python. It''s not clear to me what Rails offers that Django doesn''t or vice-versa and I couldn''t find a comparison anywhere on the two. I realize that everyone on this mailing list obviously likes Rails, but from an objective point of view, which would you recommend to a beginner: Rails on Ruby, or Django on Python? Or what would you say are the main advantages of using Rails over Django? I don''t have much time to invest in programming, so I would like to focus on one or the other. I like Rails a lot, but Python seems more widely used/supported than Ruby (though that may be a misconception on my part). So in the long run, is it better to know Python than Ruby? Or perhaps it''s a case of once you know Ruby, you can easily learn Python, or vice-versa, so it doesn''t matter? Thanks for the advice. -- "Impossible is nothing."
> I realize that everyone on this mailing list obviously likes Rails, > but from an objective point of view, which would you recommend to a > beginner: Rails on Ruby, or Django on Python? Or what would you say > are the main advantages of using Rails over Django? I don''t have much > time to invest in programming, so I would like to focus on one or the > other. I like Rails a lot, but Python seems more widely used/supported > than Ruby (though that may be a misconception on my part). So in the > long run, is it better to know Python than Ruby? > > Or perhaps it''s a case of once you know Ruby, you can easily learn > Python, or vice-versa, so it doesn''t matter?Ruby is probably a bit closer to perl then python in it''s syntax. I know perl very well, python so so, C so so, and am about 3 days into ruby right now and just getting to the point where everything is starting to click.. Ruby is easier to pick up for me then python with my perl background, although both ruby and python are easier to learn then perl IMO. I''d say ruby and rails is probably the course of least resistance if you have been out of it a while and don''t have any particular preference. Chris
They''re both good options, in terms of the language (they''re basically pretty similar) and the framework. I haven''t used Django (it''s pretty new) so I can''t comment, but it''s been used on some large websites, I had a quick look and it looks great. You might be right in that Python (currently, hopefully changing :-)) probably has more mindshare than Ruby, and you can use it for more things. If you want a language to fiddle with your OS, write plugins for GIMP or whatever, Python might be a better choice right now. It has more mature dev tools too. Again, hopefully all changing :-) Bottom line - you won''t regret learning either, they''re both nice languages, and if you know one you''ll pick the other up quickly if you change your mind. If you can, I''d try to put a weekend or a couple of evenings aside, and write a small app in each one following a tutorial. See which one "feels" better - you''re doing it for fun, after all! Hope that helps, Colin On 11/08/05, snacktime <snacktime-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > I realize that everyone on this mailing list obviously likes Rails, > > but from an objective point of view, which would you recommend to a > > beginner: Rails on Ruby, or Django on Python? Or what would you say > > are the main advantages of using Rails over Django? I don''t have much > > time to invest in programming, so I would like to focus on one or the > > other. I like Rails a lot, but Python seems more widely used/supported > > than Ruby (though that may be a misconception on my part). So in the > > long run, is it better to know Python than Ruby? > > > > Or perhaps it''s a case of once you know Ruby, you can easily learn > > Python, or vice-versa, so it doesn''t matter? > > Ruby is probably a bit closer to perl then python in it''s syntax. I > know perl very well, python so so, C so so, and am about 3 days into > ruby right now and just getting to the point where everything is > starting to click.. Ruby is easier to pick up for me then python with > my perl background, although both ruby and python are easier to learn > then perl IMO. > > I''d say ruby and rails is probably the course of least resistance if > you have been out of it a while and don''t have any particular > preference. > > Chris > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
> Disclaimer: This post is not meant to start a big debate or pit one > framework against another. I''m just seeking some objective advice.Well, this is a bit like going to a Harley bar and asking the bikers there to just set aside everything and be objective about sportbikes, but ...> Ruby as a language is > a little more intimidating.Um ... Well. I''m not so sure I agree, but I''m not coming from your point of view so maybe I''m wrong about this, but I think Python and Ruby are about on par. Perhaps Ruby seems more intimidating to you because of an approach or paradigm which seems foreign, but, trust me, once you get into more advanced Python concepts, as much time can be spent there as you spent up front with Ruby getting comfortable. I don''t know, there are whole pages online devoted to the Ruby vs. Python pseudo-conflict, but both languages have compelling features, mature and powerful libraries, and a few gotchas. I think you''ll find that once you spend some time with the Pickaxe book or Why''s Poignant Guide, Ruby is about as friendly as a language with its features can get.> I had been thinking of pursuing Python as my first new language as > there are a lot of good resources on it, and it''s the preferred > language of Gnome (which I use full-time).Kudos for Gnome (I use it, too), but, buddy, you''ve already got the Python vs. Ruby thing going here, at least implicitly, and now you''re mentioning Gnome on a list which undoubtedly has a lot of KDE users ... What''s next? Vim vs. Emacs? BSD vs. Linux? Fender vs. Gibson? Buffy vs. Firefly? These are charged political issues, be careful.> When I found Rails I > decided to go for Ruby instead. But now having come across Django, it > seems to offer much of what Rails does, but based on Python.Eh. Django''s got a great Web site, I''ll give it that. I''ve installed it, I''ve worked through the tutorials a bit. Django''s cool, it''s nice and has great potential, but Rails it is not. Rails is really, really slick and polished in a lot of ways, and, for someone just getting back into development, Rails is going to go a lot further by way of getting you to some fun functionality quickly while letting ActiveRecord seamlessly handle the database details for you. As you do more challenging things, Rails allows you to get under the hood as much as you want, where Django''s meta.Model kind of wants you to start popping the hood right off the bat. Not a bad thing if you''re comfortable with it, but not as easy as Rails to get started.> It''s not clear to me what Rails offers that Django doesn''t or > vice-versa and I couldn''t find a comparison anywhere on the two.Well, they''re really not comparable yet. What Rails offers is a huge community, tons of documentation, a lot of long development on the framework with a lot of greasy ticks taken out. It also offers, again, Ruby instead of Python, which may or may not be your cup of tea.> I realize that everyone on this mailing list obviously likes Rails, > but from an objective point of view, which would you recommend to a > beginner: Rails on Ruby, or Django on Python?Ruby on Rails without a doubt. With ActiveRecord, you enter some database details and go. Much is done for you, with the model, with passing variables from controller to view and so on, with using Ruby''s nice syntax to create a kind of "Rails language" which is easy to read and understand, with a whole host of other features. With Django, everything - beginning with explicitly specifying your model with meta.Model and onwards - everything is pretty explicit (at least by comparison), which is to be expected because that is the Python Philosophy: Keep everything explicit, minimize magic. I''m not criticizing either, it''s not a bad philosophy in its own right, and if you love Python, then you love that *about* Python and that''s the way you want it, but it just isn''t quite as easy for a beginner, at least not to my mind.> Or what would you say > are the main advantages of using Rails over Django? I don''t have much > time to invest in programming, so I would like to focus on one or the > other.If you don''t have much time to invest in programming, then having a framework which "handles" details for you is going to be much more warm and fuzzy than working with Django at the current stage of its development or, for that matter, any of the other prominent Python frameworks: Webware (which is very good, I''ve used it on several projects; very Java-like servlets with a Python flavor), CherryPy (which is excellent and, with SQLObject, is very, very much like Rails anyway), Subway (which is CherryPy married to SQLObject to create a Rails clone), SkunkWeb (which has its own way of doing things and more power to it), and the list goes on.> I like Rails a lot, but Python seems more widely used/supported > than Ruby (though that may be a misconception on my part). So in the > long run, is it better to know Python than Ruby?I don''t know. Is it better to like C more than Java? Is it better to like Mexican food more than Chinese? Depends on what you''re doing. If you''re doing much Gnome development then both languages have excellent interfaces to GTK, PyGTK and Ruby-GNOME2. Other than that, man, you''re getting into a religious war, and it''s best to stay away from those. For me, I love Python, it''s mostly what I''ve used for the last two years, but I''ve gotten into Ruby because of Rails, and I don''t regret it. Ruby''s very powerful and the community is really excellent. It''s all good here.> Or perhaps it''s a case of once you know Ruby, you can easily learn > Python, or vice-versa, so it doesn''t matter?Matters compared to what? Brain surgery? You say you''re doing the for fun, so have fun. Choose what you like and ignore everyone else. Better yet, choose Rails, because it''s better and if you use it you''ll be happier, healthier, more powerful and members of whichever gender you prefer will find you more attractive and virile. That is a totally rational, unbiased opinion rooted solely in rigorous logical analysis. All the best, Greg
This is a very fair assessment and recommendation. I agree with Colin and want to second that these languages and frameworks are not mutually exclusive. Learn the one you feel most comfortable with first, then learn the other. And write a nice, rair, in-depth review of both when you have! On Aug 11, 2005, at 2:58 AM, Colin Fleming wrote:> They''re both good options, in terms of the language (they''re basically > pretty similar) and the framework. I haven''t used Django (it''s pretty > new) so I can''t comment, but it''s been used on some large websites, I > had a quick look and it looks great. You might be right in that Python > (currently, hopefully changing :-)) probably has more mindshare than > Ruby, and you can use it for more things. If you want a language to > fiddle with your OS, write plugins for GIMP or whatever, Python might > be a better choice right now. It has more mature dev tools too. > > Again, hopefully all changing :-) > > Bottom line - you won''t regret learning either, they''re both nice > languages, and if you know one you''ll pick the other up quickly if you > change your mind. If you can, I''d try to put a weekend or a couple of > evenings aside, and write a small app in each one following a > tutorial. See which one "feels" better - you''re doing it for fun, > after all! > > Hope that helps, > Colin > > > On 11/08/05, snacktime <snacktime-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > >>> I realize that everyone on this mailing list obviously likes Rails, >>> but from an objective point of view, which would you recommend to a >>> beginner: Rails on Ruby, or Django on Python? Or what would you say >>> are the main advantages of using Rails over Django? I don''t have >>> much >>> time to invest in programming, so I would like to focus on one or >>> the >>> other. I like Rails a lot, but Python seems more widely used/ >>> supported >>> than Ruby (though that may be a misconception on my part). So in the >>> long run, is it better to know Python than Ruby? >>> >>> Or perhaps it''s a case of once you know Ruby, you can easily learn >>> Python, or vice-versa, so it doesn''t matter? >>> >> >> Ruby is probably a bit closer to perl then python in it''s syntax. I >> know perl very well, python so so, C so so, and am about 3 days into >> ruby right now and just getting to the point where everything is >> starting to click.. Ruby is easier to pick up for me then python >> with >> my perl background, although both ruby and python are easier to learn >> then perl IMO. >> >> I''d say ruby and rails is probably the course of least resistance if >> you have been out of it a while and don''t have any particular >> preference. >> >> Chris >> _______________________________________________ >> Rails mailing list >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org >> http://lists.rubyonrails.org/mailman/listinfo/rails >> >> > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >
Thank you all for taking your time to respond. Very helpful analysis and information. If I end up doing both I''ll write a review on the experience. Cheers! On 8/11/05, Toby Boudreaux <rails-lb8SQxIZKShBDgjK7y7TUQ@public.gmane.org> wrote:> This is a very fair assessment and recommendation. I agree with Colin > and want to second that these languages and frameworks are not > mutually exclusive. Learn the one you feel most comfortable with > first, then learn the other. > > And write a nice, rair, in-depth review of both when you have! > > > On Aug 11, 2005, at 2:58 AM, Colin Fleming wrote: > > > They''re both good options, in terms of the language (they''re basically > > pretty similar) and the framework. I haven''t used Django (it''s pretty > > new) so I can''t comment, but it''s been used on some large websites, I > > had a quick look and it looks great. You might be right in that Python > > (currently, hopefully changing :-)) probably has more mindshare than > > Ruby, and you can use it for more things. If you want a language to > > fiddle with your OS, write plugins for GIMP or whatever, Python might > > be a better choice right now. It has more mature dev tools too. > > > > Again, hopefully all changing :-) > > > > Bottom line - you won''t regret learning either, they''re both nice > > languages, and if you know one you''ll pick the other up quickly if you > > change your mind. If you can, I''d try to put a weekend or a couple of > > evenings aside, and write a small app in each one following a > > tutorial. See which one "feels" better - you''re doing it for fun, > > after all! > > > > Hope that helps, > > Colin > > > > > > On 11/08/05, snacktime <snacktime-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > >>> I realize that everyone on this mailing list obviously likes Rails, > >>> but from an objective point of view, which would you recommend to a > >>> beginner: Rails on Ruby, or Django on Python? Or what would you say > >>> are the main advantages of using Rails over Django? I don''t have > >>> much > >>> time to invest in programming, so I would like to focus on one or > >>> the > >>> other. I like Rails a lot, but Python seems more widely used/ > >>> supported > >>> than Ruby (though that may be a misconception on my part). So in the > >>> long run, is it better to know Python than Ruby? > >>> > >>> Or perhaps it''s a case of once you know Ruby, you can easily learn > >>> Python, or vice-versa, so it doesn''t matter? > >>> > >> > >> Ruby is probably a bit closer to perl then python in it''s syntax. I > >> know perl very well, python so so, C so so, and am about 3 days into > >> ruby right now and just getting to the point where everything is > >> starting to click.. Ruby is easier to pick up for me then python > >> with > >> my perl background, although both ruby and python are easier to learn > >> then perl IMO. > >> > >> I''d say ruby and rails is probably the course of least resistance if > >> you have been out of it a while and don''t have any particular > >> preference. > >> > >> Chris > >> _______________________________________________ > >> Rails mailing list > >> Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > >> http://lists.rubyonrails.org/mailman/listinfo/rails > >> > >> > > _______________________________________________ > > Rails mailing list > > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > > http://lists.rubyonrails.org/mailman/listinfo/rails > > > > _______________________________________________ > Rails mailing list > Rails-1W37MKcQCpIf0INCOvqR/iCwEArCW2h5@public.gmane.org > http://lists.rubyonrails.org/mailman/listinfo/rails >-- "Impossible is nothing."