There was an interesting post on Dion's blog about using Prototype. I have to throw my hat in the ring there too, I often prefer prototype and fluctuate between that and jQuery.
One application I'm working on revolves around an interface built in Ajax. It started off as complicated, but is rapidly getting simpler - but I moved from jQuery to Prototype. I found that while jQuery was good there were times when I just couldn't get it to co-operate. I was bind a DOM element to an event and then changing the DOM and no matter what I did could no rebind that event to the DOM.
I read the FAQ's, I asked in #jquery but couldn't get anywhere. That magical $ function which is so handy was just swallowing everything. I plopped back into Prototype and find it an easy switch that involved less documentation reading and odd errors. For a while. But I certainly found that Prototype has a place.
With some serendipity this post appeared. A while ago we made this decision at Blue Fountain, well let's rephrase, I made this decision. As it turned out, it made absolutely no difference, but the key reasons at the time running through my head were:
- All the Ruby and Ruby on Rails developers have moved on leaving Python developers
- We do Plone and there is more opportunity for an overlap between Django and Plone than Rails and Plone
- Clients don't really care either way
The other issues like Django is faster and easier to develop and has great features like the admin interface, were there. But the above made it a slam dunk.
When tool or programming choices are made, they are rarely made for the reasons that you think. All the big comparison charts can be made, but in the end the reasons people pick A over B can be the oddest ones of all: "We've already paid for an Oracle license" for example.
Want a reason, for Django, here's a good one.