Ruby | JavaScript |
Ruby jest zwykle używany w aplikacjach typu klient-serwer | JavaScript jest zwykle używany dla klienta aplikacje po stronie. |
Ruby jest wolniejszy niż JavaScript. | JavaScript jest szybszy niż Ruby. |
< tr> Ruby jest łatwiejszy do pisania i uczenia się. | JavaScript jest trudniejszy do zrozumienia i nauczenia. | Ruby jest zorientowany obiektowo z klasami, prawie wszystko w Rubim jest obiekt. | JavaScript jest zorientowany obiektowo, ale bezklasowy. |
Ruby jest napisany jako „kaczka”. | JavaScript jest pisany swobodnie. |
Teraz, gdy mamy już trochę informacji na temat tych dwóch języków, przyjrzyjmy się im i dowiedzmy się, który z nich wolimy od drugiego. Podejdziemy do tego zadania, porównując je twarzą w twarz na kilku frontach.
Pisanie i składnia
Ruby został zaprojektowany z myślą o użyteczności. Jego filozofia polega na tym, że istnieje więcej niż jeden sposób na zrobienie czegoś. Więc Ruby nie tylko ma prostą i łatwą do nauczenia składnię, ale ma również składnię zaprojektowaną do użycia w dowolny sposób. Jest na najwyższym poziomie, bez deklaracji zmiennych lub średników, po prostu łatwy do odczytania kod. Jest również bardziej zorientowany obiektowo niż większość innych języków obiektowych. Jest tak zorientowany obiektowo, że wszystko jest obiektowe, z metodami i funkcjami, nawet z prostymi liczbami całkowitymi. Z tego powodu programiści mogą używać łączenia metod; gdzie dużo kodu można zredukować do odrobiny kodu.
JavaScript nie jest przerażający dla oczu i na pewno nie jest tak bolesne jak pisanie w językach C, ale po prostu nie wygląda tak czysty jak Ruby. Ruby czyta prawie jak normalny ludzki język, umieszczając go wysoko w tabeli programowania wysokiego/średniego/niskiego poziomu.
div> Jednakże, ponieważ Ruby jest tak elastyczny w sposobie, w jaki pozwala programiście go używać, przekazywanie kodu między programistami może być trudne. Kod, który normalnie składałby się z wielu wierszy, można zredukować do kilku, a później do jednego wiersza. Chociaż ten czysty kod wygląda lepiej, może być również trudny do odczytania lub trudniejszy do odczytania niż ten sam kod obejmujący wiele wierszy. pojedyncza linia kodu, której powinno być dużo, może być trudna do złamania. Ponieważ jest zrelaksowany, Ruby pozwala również na bardzo nieefektywne metody programowania i nie zmusza nikogo do przestrzegania zestawu zasad programowania, chociaż powinien.
Ponadto, ponieważ Ruby jest na tak wysokim poziomie, debugowanie może być koszmarem. Ruby jest szczególnie abstrakcyjny, więc ustalenie, która linia kodu manipuluje interpreterem w niewłaściwy sposób, może być trudne. squo, nie jest to tak łatwe, jak zgubienie średnika i często wiąże się to z jakąś niewidzialną interakcją zachodzącą pod maską lub też zakopaną pod ogromnym stosem wywołań
Wydajność
Ogólnie rzecz biorąc, istnieje zasada dotycząca wydajności języków programowania. Im bliżej kodu maszynowego, tym szybciej będzie. W tym sensie im wyższy język programowania, tym wolniej będzie. Ta zasada dotyczy Rubiego i JavaScript. JavaScript nie jest szybki, w przeciwieństwie do szybciej kompilowanych języków, takich jak C++. Jednak Ruby sprawia, że JavaScript wygląda jak Ferrari. W przypadku testów porównawczych Ruby utrzymuje średnią prędkość o 50% do 200% wolniejszą niż JavaScript (uruchamiany z node.js). Niektóre rzeczy, które w JavaScript zajmują mniej niż 30 sekund, mogą zająć około ośmiu minut, aby ukończyć Rubiego.
Ważne jest, aby pamiętać, że Ruby jest wolniejszy w sytuacji wyjściowej. Wtedy dorzucamy coś, co jest trudne do zrozumienia, a następnie mierzymy, ile czasu zajmuje językowi zrozumienie tego. W prawdziwym świecie, budując aplikację internetową, nie zawsze trzeba rozwiązywać fraktale Mandelbrota. W tym sensie wielu fanów Rubiego twierdzi, że Ruby jest dość szybki, tylko wolny w porównaniu z innymi językami, ale poza tym działa dobrze. Ten temat jest przedmiotem intensywnej debaty, jednak istnieje wiele funkcjonalnych przykładów dobrego działania Rubiego: AirBnB, Kickstarter czy Apple.com, żeby wymienić tylko kilka. Wydajność zwykle staje się problemem tylko wtedy, gdy wymagany jest doskonały czas lub duże i złożone obliczenia.
Oba języki mają za sobą duże społeczności. Pakiet JavaScript jest większy i pod względem wielu parametrów jest uważany za najczęściej używany język. Zużywa prawie 95% internetu i nie tylko. W dostępnych modułach i pakietach wygrywa za dystans stąd na Księżyc. Podczas gdy Ruby i Rails mają kilka tysięcy dostępnych modułów, npm (dla node.js, który jest znowu JavaScript) ma ponad 800 000 modułów, z których większość jest open source, a wiele z nich jest darmowych do użytku komercyjnego.
Jednakże, ponieważ Ruby jest językiem o wiele łatwiejszym w użyciu, tak samo jest ze społecznością. Są one ogólnie uważane za pomocne i życzliwe dla początkujących, ponieważ Ruby jest również miłym językiem dla początkujących. Jego społeczność jest również bardzo aktywna, co czyni go dość dobrze udokumentowanym językiem. I chociaż biblioteka Gem dla Rails nie jest tak duża jak katalog JavaScript dla node.js, moduły zostały zaprojektowane z dbałością.
Perspektywa kariery
JavaScript rządzi internetem i chociaż Railsy są łatwe w użyciu, brakuje mu wydajności lub udziału w rynku, co JavaScript. To powiedziawszy, Ruby pozostaje wartościową inwestycją dla osób, które chcą nauczyć się nowego języka. Ruby świetnie sprawdza się również jako drugi język, ponieważ Ruby jest tak łatwy do nauczenia.
W chwili pisania tego tekstu Indeed.com oferuje więcej 16 000 reklam od Pracuję dla programistów i programistów Ruby tylko w Stanach Zjednoczonych. Deweloperzy Ruby również zarabiają dużo pieniędzy. Przeciętny programista Ruby może generalnie oczekiwać, że zarobi od 50 000 do ponad 200 000 USD rocznie. Według Indeed, tam gdzie wymienione są wszystkie te miejsca pracy, średnia krajowa dla programisty Ruby w Stanach Zjednoczonych wynosi 123 154 USD rocznie .
Wiele osób powie Ci, że JavaScript to najlepszy język, który możesz mieć w kieszeni, a ja nie nie sądzę, że tak. Mylisz się. Nawet jeśli nie zamierzasz zostać specjalistą od JavaScriptu, nauka JavaScript prawdopodobnie zaprowadzi Cię dalej w życiu programisty, zwłaszcza jako programisty pełnego stosu. Jeśli planujesz trzymać JavaScript w centrum uwagi, to też nie jest zły pomysł. Rzeczywiście, ta sama witryna, z której korzystaliśmy wcześniej, zawiera prawie 60 000 zadań JavaScript. W serwisie Indeed średnia pensja programisty JavaScript jest podobna do wynagrodzenia Rubiego: 113 615 USD rocznie .
Obydwa opcje mają świetne perspektywy, ale jeśli musiałbyś wybrać jeden z nich, JavaScript jest językiem podstawowym. Jeśli internet nie zmieni się w ciągu najbliższych kilku lat, JavaScript nie prowadzi donikąd i zawsze będzie potrzeba większej liczby programistów JS, podczas gdy przyszłość Ruby jest mniej pewna.