Kiedy waszym zdaniem warto komercyjnie używać Pythona w webówce?

Proszę podpowiedz mi: kiedy komercyjnie użyłbyś pythona zamiast ruby w sytuacji, gdy znasz oba języki i powiązane z nimi frameworki?

Najbardziej racjonalne powody do użycia Pythona jakie do tej pory widziałem to:

  1. Programowanie asynchronicznych serwerów (tornado/asyncio) trzymających połączenie z klientem do długotrwałej wymiany danych (np. gry)
  2. Gdy większość aplikacji to panel admina (django, django-cms) o niezbyt wygórowanych wymaganiach.
  3. Gdy po stronie backendu jest bardzo dużo obliczeń (numpy) + jakieś specjalistyczne liby nltk lub coś bardziej akademickiego.
  4. Gdy dużo jest zadań związanych z przetwarzaniem grafiki i multimediów np. Open CV.
  5. Gdy platforma hostingowa nie obsługuje Ruby, np. GAE (przynajmniej tak było kiedyś)
  6. Do wystawiania lekkiego api (flask/pyramid) np. dla grubego klienta pisanego w javascript.

Kolega chyba bardziej nakierowany na pythona niż na rubiego… Obecnie Ruby ma tylko słabe wsparcie (brak gemów, lub słabe gemy) dla GUI, grafiki.

Odpowiadając na część twoich pytań:
Ad 2) w ruby jest rails-admin
Ad 5) równie dobrze masz hostingi, które nie obsługują pythona, więc to nie jest powód
Ad 6) api w rubym postawić możesz sobie na czymś lekkim sinatra czy inny microframework np. roda.

Poprzez to pytanie, gdzie programista Ruby użyłby język python mogę stwierdzić jakie mocne obszary ma python w webdevelopmencie. Na chwilę obecną widzę, że python choć jako język do zadań wszelakich to w webówce nie odgrywa jakiejś znaczącej roli. Fakt są w nim projekty, ale równie dobrze większa część z nich mogłaby byc pisana w innych językach.

Mnie interesuje kompromis między czasem, a jakością. Jeśli język X umożliwia mi wykonania projektu lepiej i tym samym szybciej niż rozwiązania, które dotychczas znam to uważam, że warto go poznać i używać.

Jako osoba ktora pracuje jako Ruby’iowiec a wczesniej pracowala ponad 2 lata w firmie nastawionej dorzucam swoje 3 grosze

  1. Do tych zastosowac lepszym pomyslem jest node. Tornado jest fajnym rozwiazaniem - problemem w ekosystemie Pythona beda dodatkowe biblioteki ktore juz asynchroniczne nie sa.
  2. W Rubym tez mam takie rozwiazania
  3. Jesli chodzi o zastosowania w nauce / akademickie etc tu moze bym rozwazal - ekosystem tych rozwiazan w Pythonie jest zdecydowanie lepszy. (Sporo bym oddal za implementacje pandas dla Ruby’iego http://pandas.pydata.org)
  4. Co lepsze oferuje Python w tej materii ?
  5. GAE nie wspiera Ruby’iego. IMHO GAE to niespecjalnie racjonalne rozwiazanie w ogole zamykajace developerow w pewnym ekosystemie z roznymi ograniczeniami i wybranym przez Google zestawie narzedzi (np Redis’a wciaz tam nie ma za to jest memcache z nie do konca okreslona wielkoscia pamieci)
  6. Popieram wafcia - tutaj Python nie ma zadnej przewagi

Lepiej to lepiej, a szybciej to szybciej. To nie są pojęcia tożsame, ani jedno nie wynika z drugiego.

Pewnie wzialbym pod uwage dostepnosc programistow danej technologii na rynku.