• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Wybór języka pod web dev - Ruby czy Python?

0 głosów
557 wizyt
pytanie zadane 19 września w Rozwój zawodowy, nauka, praca przez whiteman808 Mądrala (5,430 p.)
zamknięte 11 października przez whiteman808

Chcę iść w kierunku web devu i zastanawia mnie, w którą stronę iść. Oprócz języka równie ważny jest dla mnie ekosystem, jakość narzędzi, liczba dostępnych bibliotek, społeczność. Ruby ma przyjemniejszą składnię ale Python wydaje się pod wieloma względami być bardziej rozbudowany, w sensie toole, więcej bibliotek. W którą stronę lepiej iść? Z informatyki najbardziej interesuje mnie sysadminka i web developerka od strony backendu.

Co będzie uwzględniając moje potrzeby lepsze, Ruby czy Python?

Chcę docelowo pracować jak już nauczę się programować jako backend dev. Język oprócz do web devu ma mi służyć także do pisania skryptów i mini-programów ułatwiających administrację serwerami.

I chcę także mieć sensowne lsp które nie będzie mulić przy większych projektach. Do programowania uzywam neovima

Do Pythona przekonuje mnie też to https://peps.python.org/pep-0703/

Zasadniczo pytanie jest czy jest sens sugerować się tym, że składnia Rubiego jest przyjemniejsza, bardziej elegancka czy iść jednak lepiej w Pythona

komentarz zamknięcia: wybrałem pythona ;d

2 odpowiedzi

+3 głosów
odpowiedź 19 września przez marcin99b Szeryf (85,270 p.)
edycja 20 września przez marcin99b

Aż kusi żeby powiedzieć klasyka typu "Temat wałkowany milion razy razy, następnym razem użyj funkcji SZUKAJ", ale pogadam sobie, bo w sumie czemu nie

Oprócz języka równie ważny jest dla mnie ekosystem, jakość narzędzi, liczba dostępnych bibliotek, społeczność

Temat rzeka, python jest znany z tego że jest do niego mnóstwo narzędzi, ale mnie osobiście wkurza, dostaje w nim błędy których nie rozumiem, dużo bardziej przemawia do mnie ekosystem jaki daje C# - może i nie jest tak wszechstronny, ale jestem w nim dużo bardziej skuteczny, lepiej rozumiem co robie, szybciej naprawiam błędy... no i przy okazji programy działają szybciej, bo są kompilowane a nie interpretowane, przy obecnych sprzętach to nie jest kluczowa różnica, ale dodatkowy argument na liście.

Klasyczna odpowiedź jaką da ci większość ludzi to sprawdź dużo opcji i wybierz to co jest najlepsze, każdy ma inne preferencje, ktoś powie że javascript to najlepszy język i zrobi długą liste argumentów, a ja się w tym męczę. Ktoś inny powie że passat to słaby samochód, a ja mam z passatami miłe wspomnienia, to ten sam poziom dyskusji.

Z informatyki najbardziej interesuje mnie sysadminka i web developerka od strony backendu

Pamiętaj że obecnie języki są do siebie dość podobne, większość czasu to rozumienie mechanizmów, a te mechanizmy w większości są wspólne. Wiedząc co to funkcja, nie musisz się tego osobno uczyć dla każdego języka, po prostu to umiesz, sprawdzasz jakiego słowa się używa w innym języku i.. gotowe. Rzeczywiste różnice, poza elementem wizualnym, to często szczegóły - jakiś język ma typy generyczne a inny nie ma, jakiś język ma pattern matching a inny nie ma, jakiś język ma garbage collector a inny Automatic Reference Counting... i tak dalej. Większość jest podobna, różnią się szczegółami, przykładowo używając c/c++/rust musisz bardziej przejmować się zarządzaniem pamięcią, ale zyskujesz wydajność i bezpieczeństwo od błędów, a w wielu językach robi to za ciebie automat, ale za to program działa wolniej (ale szybciej go stworzysz, wcześniej zacznie być użyteczny).

Nic nie stoi na przeszkodzie przed znajomością wielu języków, wielu programistów ma jeden "główny", ale na poziomie amatorskim znają 3-4 inne. Można robić główną aplikacje w c# i wokół niej mieć mini programy pomocnicze w pythonie/powershellu/golangu (i nic nie szkodzi na przeszkodzie, żeby programy pomocnicze były w kilku językach, zależnie od tego do czego mają służyć).

Nie mówie żebyś robił projekty które mieszają wszystko ze wszystkim, ale w większych projektach, to normalne że używa się 3, może 4 języków.

Co będzie uwzględniając moje potrzeby lepsze, Ruby czy Python?

Ja nie lubie obu, pythona lubie troche bardziej, ale też nie lubie.

I chcę także mieć sensowne lsp które nie będzie mulić przy większych projektach. Do programowania uzywam neovima

Jak to sie stało że doszedłeś do etapu używania neovima, ale zadajesz pytanie "Zasadniczo pytanie jest czy jest sens sugerować się tym, że składnia Rubiego jest przyjemniejsza, bardziej elegancka czy iść jednak lepiej w Pythona". Rozumiem chęć eksperymentowania z narzędziami, ale neovim to troche masochizm na start, lepiej porządnie nauczyć się języków a dopiero później męczyć się z "ambitnym" edytorem (zgadzam się że neovim może docelowo poprawiać produktywność, ale wybierając go, dowalasz sobie kolejny temat do nauki).

komentarz 22 września przez whiteman808 Mądrala (5,430 p.)
Dla szerszego obrazu napiszę, że od strony teoretyczniej ogarniam jakieś podstawy. Miałem okazję w życiu przerobić już sporo tutorialów. Na uczelni bez problemu zaliczyłem Javę i C++.

Czy mam przerwać te tutoriale co zacząłem i całkowicie poświęcić się pisaniu kodu + rozwiązywaniu problemów po drodze czy przeplatać rozdziały w książkach/tutkach z pisaniem kodu? Wiele konceptów, które przerabiam obecnie w książce do Ruby jest mi znajomych
komentarz 22 września przez marcin99b Szeryf (85,270 p.)
Ja robiłem tak, że jednocześnie oglądałem poradnik i robiłem swój projekt, który był podobny.

Zamiast poradników które opisują liste funkcjonalności, bez szerszego kontekstu, wybierałem takie z rzeczywistym budowaniem projektu, przez wiele odcinków, to realnie uczy jak budować projekt.

Zamiast podejścia "ucze sie a później buduje", mogłem jednocześnie uczyć się i budować.

Dodatkowo, zamiast przepisywania kodu bezmyślnie 1:1, robiłem projekty które były podobne, ale troche różne - przykładowo kurs uczył programowania na przykładzie budowania systemu do zarządzania księgarnią, to ja robiłem system do zarządzania planami treningowymi - niby podobne, dużo mechanizmów się przenosi, mogłem rozbudowywać swój projekt równo z kursem, ale musiałem też samodzielnie myśleć i analizować "jak dopasować nowo poznany mechanizm, do mojego projektu".

Kończąc serie filmów poradnikowych, miałem już na swoim koncie projekt, rozwijany przez wiele dni - późniejsze zrobienie czegoś całkowicie własnego było dużo prostsze, bo miałem za sobą przejście budowania projektu "od zera do stanu użyteczności".

To chyba najlepsza rada jaką mogę dać - oglądanie poradników jest dobre jeśli rzeczywiście wyciągasz z nich wartość, a w podejściu które podałem, maksymalizujesz tą wartość.
komentarz 5 października przez whiteman808 Mądrala (5,430 p.)
No poeksperymentowałem sobie trochę z różnymi narzędziami i wybór padł jednak nie na Ruby tylko na Pythona. Jednym z argumentów przemawiających za Pythonem jest to że jest szerzej używany niż Ruby, dzięki czemu nie zamykam się na jedną ścieżkę, web dev. Inny powód to taki, że wiele narzędzi linuksowych, których używam/łem korzysta z Pythona pod spodem. W Pythonie też miałem okazję wcześniej coś od czasu do czasu drobnego kodzić, w Ruby musiałbym na nowo ogarniać co i jak w syntaxie piszczy.

Mam już jeden projekt w głowie, który myślę że mogę śmiało na początek ogarnąć. Nie jest jakiś skomplikowany a myślę że wiele się nauczę. Ten projekt, który myślę żeby nawet dziś zacząć pisać jak się wyśpię po przesiedzianej nocy to interfejs menu w konsoli. Biblioteka udostępniałaby odpowiednie klasy do konstrukcji interaktywnych menu opartych o input i print. Jest to coś, co bardzo przyda mi się w przyszłych aplikacjach no i poćwiczyłbym projektowanie interfejsu użytkownika, lokalizowanie, testy jednostkowe.

Oprócz Pythona też będę na boku robił różne skrypty w Bashu, nie dla chęci samej nauki czegoś obok tylko dlatego że mi są potrzebne.

Skoro już tak sobie fajnie gadamy, to powiedz jak polecasz radzić sobie z prokrastynacją. Mam na myśli problemy z zabraniem się za robienie czegokolwiek po godzinach spędzonych na oglądaniu luźnych rzeczy na YouTube, seriali na Netflixach. Bardzo mi ta informacja się przyda, bo szczerze to wolałbym poświęcać czas na Basha/Pythona niż tracić go na seriale.
komentarz 9 października przez marcin99b Szeryf (85,270 p.)

Mam już jeden projekt w głowie, który myślę że mogę śmiało na początek ogarnąć

I jak, zacząłeś już?

 Skoro już tak sobie fajnie gadamy, to powiedz jak polecasz radzić sobie z prokrastynacją. Mam na myśli problemy z zabraniem się za robienie czegokolwiek po godzinach spędzonych na oglądaniu luźnych rzeczy na YouTube, seriali na Netflixach

Może po prostu nie lubisz programowania, tylko podoba ci się wizja robienia tego, ja sie na tym łapałem wiele razy, ale jak mijały 2 tygodnie i widziałem że więcej myśle niż robie, to odpuszczałem, bo to nie ma sensu. Jak coś rzeczywiście chciałem robić to szukałem sposobu na robienie tego

Bardzo mi ta informacja się przyda, bo szczerze to wolałbym poświęcać czas na Basha/Pythona niż tracić go na seriale

Może seriale są dla ciebie ciekawsze niż programowanie, bo nie trafiłeś jeszcze na nic ciekawego. Niektóre seriale są super i potrafią mocno wciągnąć, ale to pojedyncze wyjątki, większość jest średnia, ciekawy projekt powinien wygrać z większością seriali (a przynajmniej u mnie wygrywały).

Może naoglądałeś się kanałów na youtube, które romantyzują wizje programowania (np primeagen), a później okazuje sie że rzeczywistość nie jest dla ciebie... ale później znowu youtube proponuje ci te filmy, znowu chcesz to lubić, znowu próbujesz... znowu się rozczarowujesz... ale znowu youtube ci proponuje te filmy... i jesteś w nieskończonej pętli stania w miejscu

Spojrzałem na twoją historie pytań i widze że w 2023 już uczyłeś sie pythona i ruby, po ponad 2 latach dalej sie zastanawiasz co wybrać, a po tym czasie mógłbyś bardzo dobrze znać oba.

W dodatku siedzisz "w programowaniu" od kilku lat, wspominasz neovima, lsp, fsf, free threading, a planujesz projekt z którego będziesz się uczył absolutnych podstaw (konsolowe UI i testy jednostkowe).

komentarz 11 października przez whiteman808 Mądrala (5,430 p.)

I jak, zacząłeś już?

No mam pierwszą działającą wersję klasy Menu w Pythonie. Można powiedzieć że podstawowe UI do swoich programów mam zrobione. W tym Pythonie szybciej robi się takie proste rzeczy niż w C++.

0 głosów
odpowiedź 9 października przez Blandek Nowicjusz (190 p.)
Bierz pythona i coraz wiecej ofert w webdevie oraz duze tez jako sys admin czesto jest wymagany.
Ruby jest mega rzadki na rynku pracy.

Podobne pytania

0 głosów
2 odpowiedzi 976 wizyt
pytanie zadane 19 grudnia 2018 w Rozwój zawodowy, nauka, praca przez TaskerPEW Użytkownik (510 p.)
+5 głosów
2 odpowiedzi 1,101 wizyt
pytanie zadane 15 stycznia 2016 w Inne języki przez secsec Mądrala (7,250 p.)
+2 głosów
5 odpowiedzi 1,103 wizyt

93,604 zapytań

142,526 odpowiedzi

322,991 komentarzy

63,088 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...