Java vs Ruby

0

Kontynuując niekończące się dyskusje na temat języków i wyższości jednego nad drugim, jaki język jest lepszy w dobie kryzysu - Ruby czy Java (bądź inny z top - JS/Python ale to w Javie mam jakieś umiejętności żeby coś załapać)? Za Ruby w moim przypadku przemawia fakt, że już kilka lat w nim pracowałem i go lubię jednak Java jest dla mnie również jako tako bezbolesna a w Polsce wydaje się, że umożliwia pracę w stabilniejszych firmach. Co sądzicie? Zapraszam do merytorycznej dyskusji (z dala od argumentu, że dobry programista zmiania języki często - pewnie ultra senior ma to gdzieś ale ja takim jeszcze nie jestem, a też chciałbym mieć spokoją głowę w miejscu pracy).

7

Tak.

1

Ale na jaki chcesz to przewidzieć? Na 1, 5 czy 15 lat. Przy obecnej dynamice to maks 5 lat można próbować przewidywać. Aktualnie z moich obserwacji wynika że jest więcej ofert w Javie, ale w Rubi lepiej płacą. Ale obydwa języki mogą w najbliższym czasie się stać kolejnym COBOLEm. Jak chcesz dobrze zarobić, to musisz dynamicznie dopasowywać się w rynek. Kiedyś widziałem definicje inteligencji, że jest to umiejętność dopasowania się do zmieniających czynników zewnętrznych i ja się pod tym podpisuję.

0

No zgadzam się i co? Pytanie zadałem bo chcę bardziej świadomie pokierować swoją ścieżka kariery. Co do Javy, No wydaje mi się że jest bardziej „nieśmiertelna” niż taki Rubi (gdzie w sumie jest jeden framework w sumie) i ma szersze zastosowanie wiec ewentualne przeskoczenie „jak coś się zmieni” będzie łatwiejsze bo pewnie Dżawowcy spróbują stworzyć do tego narzędzie. Z Ruby kojarzą mi się firmy pokroju Netguru, webówki i nic więcej.

1

4

Język generalnie się wybiera się pod problem, a akurat Java i Ruby to dwa zupełnie inne zastosowania. Tak więc, jak rozumiem chodzi tu tylko o optymalizację prawdopodobieństwa znalezienia kolejnej pracy gdyby coś ci się posypało. Tak więc chyba bym szedł za ciosem w tym w czym masz już doświadczenie i w tym się rozwijał (jeśli nie miałeś problemów z pracą w przeszłości i rzeczywiście kasa i bezpieczeństwo zatrudnienia jest kluczowe). Szedłbym, bo mam zamiar raczej unikać Javy, bo to shit straszliwy jest. Wolałbym chyba Data Science, bo to chodliwe, przyszłościowe i ciekawe jest. Jak wyjdzie i co rynek mi wylosuje, zobaczymy, bo generalnie dostaję bardzo dużo różnych ofert i dużo różnych języków na koncie; dużo zależy od dostępnych ofert na rynku w danym momencie.

2

Język generalnie się wybiera się pod problem, a akurat Java i Ruby to dwa zupełnie inne zastosowania.

Tu się nie zgodzę. W większości projektów nie chodzi o problem, bo popularne języki pod kątem swoich możliwości aż tak skrajnie się nie różnią, by nie dało się rozwiązać wybranego problemu. Nawet sama jakość nie jest jakoś najwazniejszym kryterium, bo gdybyśmy na niej się skupili to częściej byłyby wciągane do projektów niszowe języki.

Wybór właściwie sprawdza się do zarządzania, optymalizacji ryzyka, kosztów itp.

Biznes typowo wybiera javę, tak jak kupujący wybierają toyotę, bo jest mało awaryjna i to jest dla nich bezpieczny zakup, to się dla nich liczy. Ludzie nieznający się na swoim fachu idą w to, bo się na tym nie znają, a co szczególne: potrzebują.

Ruby nie był i nie jest bezpiecznym wyborem, ale był dźwignią dla startupów. W przypadku rubiego liczył się nie tylko szybki start i wykonanie marginalnych prac, ale przede wszystkim możliwość wyrabiania na ostrzejrzych zakrętach, gdy potrzebny będzie refaktor, bo biznes zmienia koncept. Biznes tutaj może mieć parę pierwszych słabszych pomysłów, które z feedbackiem idzie odkręcać i zmienić w coś bardziej ptorzebnego, ale aby móc sobie na to pozwolić to jendak musisz mieć w miarę jakościowy kod, inaczej dług techniczny pogrąży prace.

Problem rubiego to fakt, że świat idzie do przodu, a Rails same w sobie juz nie są taką dźwignią jaką wtedy w istocie były. Typowe problemy:

  1. tu ciężko w railsach było zamknąć front, ja kojarzę jakieś zmiany z prototype, a potem javascript co pół roku miał jakiś inny framework, te rzeczy nie wpływały korzystanie na railsy;

  2. Wzrost urządzeń mobilnych, one wywarły większy nacisk na restowe API i pod tym kątem railsy już mają zadyszkę. Kodowanie pod SPA również nie ułatwiło frontu

  3. wzrost BigData i trudno tego typu rozwiązania ujarzmić jakimkolwiek frameworkiem więc railsy zostały zepchnięte na bok

  4. kwestie ze skalowalnością, z asynchronicznością - no tutaj railsy nie wymiatają więc kawałek tortu odeszło w kierunku nodejs

  5. kwestie z maszynowym uczeniem - railsy to inna bajka.

Więc jesli na tych 5 polach te ramy odpuszczają to co niby ma być techniczną dźwignią dla takiego startupu? Czysty kod.. no bez przesady, tym bardziej, że ludzie coraz częściej przekonują się do FP.

1

Patrząc na listę ofert, Java bezpieczniejsza, bo szybciej znajdziesz pracę. Za popularnością technologii idzie też jakość samych kandydatów - im coś bardziej popularne, tym więcej ludzi z niskimi umiejętnościami i tym łatwiej się wyróżnić.

4

Dziwny wątek zważywszy, że na np. justjoin.it w Warszawie wisi raptem 10 ogłoszeń dot. rubiego a dla javy grubo ponad 200.

0
Programista157k napisał(a):

Kontynuując niekończące się dyskusje na temat języków i wyższości jednego nad drugim, jaki język jest lepszy w dobie kryzysu - Ruby czy Java

Ruby, nie patrz na obecne trendy - patrz na to jakie narzędzia mamy już na horyzoncie. A na horyzoncie mamy narzędzia oparte o AI. Użyteczność AI w pisaniu kodu będzie coraz powszechniejsza.

Tak więc odpowiedz sobie na jedno bardzo ważne w karierze pytanie - czy szybciej dostarczysz z pomocą AI kod w Rubym czy w Javie?

4

Siłą Ruby zawsze było community i jak ktoś chciał coś osiągnąć w światku Ruby, to robił to przez udzielanie się w społeczności, pisanie blogów, gadanie na konferencjach.

W zasadzie bez tego to ja bym się nie pchał w ogóle w ten język, bo to nisza, a w niszę wchodzić najlepiej z przytupem, budując status eksperta i rozpoznawalność w niszy tak, żeby ominąć normalny proces rekrutacyjny (albo chociaż zdobyć bonus na swoją korzyść) i móc przyciągać oferty współpracy pobocznymi kanałami.

Na JustJoinIT jest raptem 18 ofert Ruby'ego na remote. Powiedzmy, że szukasz pracy i hurtowo wysyłasz CV. W krótkim czasie zostaniesz spalony, bo wyślesz do wszystkich firm i część firm ci nie odpisze, w części firm odpadniesz na rekrutacji, może fuksem znajdziesz robotę, może nie. Czyli w takiej niszy nie ma sensu szukać pracy normalnie (wysyłając CV w odpowiedzi na ogłoszenie), bo za mało firm po prostu. Przynajmniej w Polsce. Bo już szukanie na Indeed.com daje o wiele więcej wyników. Więc może to też jest sposób - szukać pracy zdalnej za granicą.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.