Olen käyttänyt viime aikoina paljon energiaa sen pohtimiseen, kumpi on parempi alusta kehittää web-sovelluksia: Python-pohjainen Django vai Ruby on Rails.

Ruby on Rails

Kypsä ja elegantti, mutta kärsii suorituskyvyn rajallisuudesta. Ruby on Railsilla on vaivatonta tehdä siistejä sovelluksia, joissa kaikilla komponenteilla on vakioitu paikkansa. Toisen kehittäjän tai alihankkijan on helppo omaksua projektin rakenne. Rubyssä jopa koodin sisennys on vakioitu aina 2 spaceen.

Python & Django

"Hakkerihenkinen", helposti muokattava, erittäin suorituskykyinen. Ongelmana jokaisen projektin erilaisuus, kun sovellusten komponentteja toteutetaan eri tavoilla ja sijoitellaan sinne tänne. Ei esimerkiksi vakioitua paikkaa layout-tason templateille, omille apukirjastoille, cronjob-skripteille ja vastaaville osioille. Yrityksen pitää itse määritellä policyt näille.

Kumpi tärkeämpää, eleganttius vai suorituskyky?

Tähän se valinta kilpistyy. Pythonilla on isoja valtteja reaalimaailmassa, kuten esimerkiksi Googlen App Engine -tuki sekä hiljattain ilmestynyt FriendFeedin/Facebookin Tornado-webbipalvelin. Ruby on Rails puolestaan tuntuu olevan vähän pienempien pelurien alusta, mutta toisaalta kuitenkin Twitter käyttää sitä.

Kumman sinä valitsisit?