2009-12-05 9 views
6

Ten wątek zdecydowanie NIE jest wątkiem, dla którego Python jest lepszy niż Ruby lub odwrotnie. Zamiast tego, ten wątek służy do obiektywnej krytyki, dlaczego wybrałbyś jeden z drugim, aby napisać RESTful web API, który będzie używany przez wielu różnych klientów (mobile, przeglądarki internetowe, tablety itp.).Obiektywne powody używania Pythona lub Ruby dla nowego interfejsu API REST Web

Ponownie, nie porównuj Ruby on Rails vs Django. To nie jest aplikacja internetowa zależna od frameworków wysokiego poziomu, takich jak RoR czy Django. Chciałbym tylko usłyszeć, dlaczego ktoś mógłby wybrać jeden z nich, by napisać RESTful Web API, który musiał zacząć jutro, całkowicie od zera i powody, dla których mogliby przejść od jednego do drugiego.

Dla mnie funkcje składni i języka są całkowicie zbędne. Oba oferują wiele funkcji i na pewno oba mogą osiągnąć te same cele końcowe. Myślę, że jeśli ktoś rzuca monetą, jest to wystarczający powód, aby użyć jednego z nich. Po prostu chciałbym zobaczyć, jak niektórzy z was, eksperci od usług internetowych, którzy są bardzo zaangażowani w swoją pracę, odpowiadają na pytanie, dlaczego użyliby jednego z nich w bardzo obiektywnym formacie.

+0

Dlaczego nie PHP? Jest to obecnie jeden z najpopularniejszych języków po stronie serwera. Prawdopodobnie uniknęłbym Ruby głównie dlatego, że napisano w nim Twittera i to było do dupy. Ale to może być więcej błędów Twittera niż Ruby. – davr

+0

Nie ma powodu, poza tym, że naprawdę nudzę się PHP i chcę nauczyć się nowego języka. – randombits

+0

Szczerze mówiąc, różnice nie są takie, że jest to pytanie, które należy zadać. Oceń zarówno z perspektywy składni, jak i biblioteki i podejmij decyzję. Uczucia ludzi w taki czy inny sposób nie powinny mieć znaczenia. I davr, stary, poważnie? Unikaj czegoś, bo ktoś użył go źle? Od wszystkich stronniczych opinii płynących po sieci, to chyba najgorsze. –

Odpowiedz

5

Znam Ruby, nie wiem Python ... widać, w którą stronę skłaniam się, prawda?

+1

Niewystarczająco uczciwe, znowu nie jest to nie na miejscu. Odpowiedzi takie jak to dalej wzmacniają, że rzucanie monetą jest uzasadnione. – randombits

+0

Przepraszam, odpowiedź była nieco zuchwała, ale tak nie było. ...Internet. Ale gdy poprosisz o wybór pomiędzy 2 bardzo kompetentnymi językami, stanie się mniej więcej rzuconym monetą. A to, co określa twarze tej monety, to dostępne języki. – nowk

+0

jeśli nie znasz obu, nie powinieneś odpowiadać. Udzielenie odpowiedzi w tej sprawie jest pissingiem na to bardzo dobre pytanie, ponieważ dla osób, które nie znają obu języków i myślą o tym, aby je wybrać, to pytanie jest tym, co oni zastanawiają w swoich głowach, a twoja odpowiedź naprawdę nie pomaga – code511788465541441

4

Wybierz ten, który najbardziej Ci odpowiada i najprawdopodobniej załatwiaj sprawy najszybciej.

+0

odpowiednia odpowiedź na pytanie. Dzięki! – randombits

4

Tak, przerzuć monetę. Prawda jest taka, że ​​znajdziesz minimalistyczne ramy w obu językach. Heroku jest dość mocnym powodem, aby powiedzieć, że Ruby, ale mogą istnieć inne podobne hosty dla Pythona. Ale Heroku upraszcza wdrażanie api w chmurze bez względu na to, czy jest to Rails, czy inny projekt Ruby wykorzystujący Rack. WSGI nie daje tej opcji.

Jak tak faktycznie realizacja choć, zgaduję, że przekonasz się, że oboje są całkowicie właściwe języki i zarówno radość w programie.

+5

Jeśli szukasz czegoś podobnego do Heroku dla Pythona, powiedziałbym, że Google App Engine to dobry zakład. – toluju

+0

Awesome, sprawdzę to. Zapomniałem, że działają w Pythonie! Bardzo ekscytujące. –

5

Powiedziałbym, że ważną rzeczą jest to, że niezależnie z których wybierzesz, upewnij się, że Twój wybór nie wycieknie z interfejsu REST API. Nie powinno mieć znaczenia dla klienta twojego API, który wybrałeś.

+0

+1: Dobry pomysł na obiektywne kryteria. To sprawia, że ​​decyzja językowa jest dyskusyjna, co jest doskonałym dodatkowym punktem. –

2

Myślę, że są one dość równomiernie dopasowane do funkcji. Wolę Pythona, ale używam go od ponad dekady, więc przyznam, że to, co następuje, jest całkowicie stronnicze.

IMHO Python jest bardziej dojrzały - jest na to więcej bibliotek (choć Ruby może nadrabiać zaległości), a zawarte w nim biblioteki są lepiej zaprojektowane. Proces ewolucji języka jest także bardziej dojrzały, a każda proponowana funkcja jest omawiana publicznie za pośrednictwem PEP, zanim podjęta zostanie decyzja o włączeniu ich do wydania. Odnoszę wrażenie, że rozwój języka Ruby jest dużo bardziej ad-hoc.

Python jest szeroko stosowany w wielu dziedzinach poza tworzeniem stron internetowych - obliczeniami naukowymi, renderowaniem CGI, przetwarzaniem rozproszonym, narzędziami GUI na Linuksie itp. Ruby bardzo mało uwagi przyszedł do Railsów, więc mam wrażenie, że większość Praca w Ruby koncentruje się na tworzeniu stron internetowych. Może to nie być problem, jeśli jest to wszystko, co chcesz zrobić z tym językiem, ale to oznacza, że ​​Python ma bardziej zróżnicowaną bazę użytkowników i bardziej zróżnicowany zestaw bibliotek.

Python też jest szybszy.

+0

"Wolę Pythona, ale używam go od ponad dekady, więc przyznam, że to, co następuje, jest całkowicie stronnicze." To jest sprzeczne z tytułem tego stanowiska, nieprawdaż? randombity chcą obiektywnej, tj. nieobciążonej, opinii, a mimo to swobodnie przyznają, że twoja opinia jest stronnicza, a następnie przystąpić do jej wydawania. Daj spokój. –

+0

@Srdjan Pejic: Podaj przykład "obiektywnego" określenia wyboru języka programowania. Pytanie o "obiektywność" jest miłe, ale w rzeczywistości dostarczenie obiektywnego pomiaru jest czymś zupełnie innym. Być może znasz rzeczywisty obiektywny pomiar? Jeśli tak, sugeruj pomiar, gdy zauważysz, że coś nie jest "obiektywne". –

+0

WSZYSTKIE opinie są stronnicze od wiedzy i doświadczenia osoby opiniującej. Jednak większość rzeczy, o których wspomniałem, można obiektywnie zbadać - istnieje wiele wskaźników pokazujących, że ogólny Python jest szybszy niż Ruby. Czy to jest dla ciebie ważne, to kwestia opinii. Podobnie liczba bibliotek Python/Ruby i ich dystrybucja w różnych domenach problemów mogła zostać obiektywnie zmierzona, chociaż tego nie zrobiłem. Znowu to, czy to ważne, czy też nie, będzie zależało od potrzeb jednostki. –

1

Albo zrobi świetną robotę, a zyskasz na innych sposobach, aby nauczyć się czegoś nowego. Dlaczego nie spędzić z nimi kilku dni? Zobacz, jak daleko można się dostać za pomocą prostego podzbioru problemu, a następnie zobacz, jak się czujesz. Aby otrzymać punkty bonusowe, zgłoś się tutaj i odpowiedz na własne pytanie!

2

Ruby + Sinatra

Bardzo łatwy w użyciu,/jak rack middleware - ktoś już wspomniano Heroku

Powiązane problemy