Ruby !

July 30, 2010 at 8:14 am (Cloud Computing, Computer Science, Free Software, Opensource, Programming, Python, Ruby, Ruby on Rails, Technology, Web2.0) (, , , , , )

Update: I wanted to mention that I have thoroughly overstated the situation as far as Rails apps seemingly being used more by “real sites”. I noticed a Django developer doing some awesome work on some Discovery websites and a few others. I guess it’s just me hoping that it was Python and not me. Well I guess it is me. I ‘ll keep leaning on my noob status until I can hopefully no longer use that crutch. Thanks to Derek the Python/Django guy who made me take a second look.

It amazes me that the most english-like programming language in the world was built by someone who is not a native english speaker. Maybe the simplicity comes from his inability at the time to be overly verbose, using only statements and such that best communicated an idea to someone with a very basic english vocabulary. I think since Matz has become pretty fluent in the english language though.

One other thing I would like to note. I remember a talk that DHH the creator of Rails gave along with Adrian Holavity, one of the Django creators. DHH ekpt saying that he felt some of the architectural decisions behind Django were better suited to we sites where in his mind Rails ‘ architecure was better suited to web apps. At the time I took as a somewhat snide remark, thinking listen to this saying that Django was for building simple web pages and Rails was for building “real” web apps. Well if you take a look on the web now I think the statement rings true, there seems to be many more complicated, detailed Rails apps compared to Django’s hundreds of sites that seem rather simplistic in the app side of the functionality. Just an observation. What do you think?

5 Comments

  1. Derek said,

    I have not used Ruby/Rails (as I find Ruby’s syntax quite obscure), but I see no reason why Django cannot be used to build any kind of web app you want/need. There are no inherent limitations I am aware of, and the full power of the Python language (and the numerous built-in and third-party modules) are at your disposal. Are there specific architectural elements that you think are restrictive?

    Its interesting to note that Python, too, was created by someone who is also not a native English speaker…

  2. joehacker72 said,

    Hey Derek

    No I don’t see why it just seems going through the list of sites using each framework that Rails was being used in some of the more popular startups. Maybe because most of the Rails developers are more from an entrepreneurial bent. It’s funny you say Ruby’s syntax seems obscure. I have been frustrated with myself not wrapping my mind around Python code but Ruby really flows very intuitively for my thinking. I seemed to get tripped up with the “self” although it can be coded that way in Ruby the reasoning just always struck me as kind of circular. I still may not understand it fully. Some Rails sites of note:

    1.Github
    2.Shopify
    3.Lighthouse (another github type site)
    4.Yellopages.com
    5.43things
    6.hulu
    7.scribd

    It is probably more coincidence then anything but most Django sites I ran across were really ugly. Where I know this is more design but again my comment is more anecdotal than anything. That is a good point about Guido as well. It might also have more to do with the community behind Rails. Django screencasts, tutorials etc. are all becoming dated almost like it came strong out the gate but has quieted down rather quickly. You’ll see from other posts of mine I’m at a very early place in my programming career so I may shoot from the hip sometimes.

    Thanks for reading

  3. Derek said,

    Well, Python impresses me as “elegant and intuitive”; and the more I use it, the more powerful it seems to become.

    Re: Django getting “dated”. I have been using it for 6 months, and the pace of change still seems high. I think there were a number of changes from pre-1.0 to post-1.0 and that may have contributed to your impression that the texts you are finding are “all becoming dated”. The core Django documentation though is very much up-to-date and superbly written – better than just about every open source tool I have used over the last 10 years.

    I think its useful, from a learning/thinking point of view, to work with multiple frameworks (yes, even PHP!) over time, as that will give you a better basis for evaluating and making decisions.

    Either way, I think Django and RoR can be “friendly competition” and ensure that no one gets complacent or lazy in their thinking. This is a Good Thing IMO.

  4. joehacker72 said,

    “The core Django documentation though is very much up-to-date and superbly written – better than just about every open source tool I have used over the last 10 years.”

    I completely agree. I guess coming from a learning standpoint I’m having a hard time getting beyond building toy tutorial programs I have found a few Rails tutorials that actually build some real world apps actually teaching the whole scenario. Like they will check in the project to github deploy it to heroku and sort of have this (what I can only imagine to be) real world scenario.

    You probably are coming from a proficient point of view where you are using these things where I guess I’m still on the outside looking in. But I do agree with Django’s documentation being thoroughly maintained and shown alot of love.

    I recently found a Ruby users group close to home which I haven’t yet attended but I just haven’t had any luck getting involved with like minded people that might pull me along and make things a bit more interesting to me. So now I figured I would start commenting along while I learned and see what happens. When I learn and get corrected I have no problem admitting it. I also visited a few web sites as we have been talking that kind of proved me wrong. Maybe I was looking for an excuse why I haven’t had better luck with Python and Django at large.

    I will update the post as well admitting it as well.

  5. Derek said,

    All the best either way; the user group will certainly be able to help. Remember that any software tool you pick will have its limitations; focus on what it can do for you and learn its strengths and weaknesses.

    PS This seemed like quite a cool Django-powered site:
    http://hellohype.com/

Leave a comment