Jaki język wybrać do backendu na podstawie wcześniejszych doświadczeń?

0

Cześć wszystkim, przeczytałem poprzednie wątki na ten temat ale wydaje mi się, że sporo się już zmieniło. Otóż, jestem programistą C++ od prawie 3 lat w korpo i mam dość rozwiązywania wszelkiej maści problemów, często w frameworkach wewnętrznych firmy, a samego programowania w C++ to może jest z max. 20%. Zamierzam przerzucić się na web backend dev i skubnąłem już podstawy frontu, a na backedzie spróbowałem paru języków i waham się pomiędzy C# (.NET5), Python (Django) albo JS (node.js). Naprawdę wypisałem sobie plusy oraz minusy i mam praktycznie remis :) Dlatego pytam się ludzi którzy w tym już siedzą, co by polecili? Od siebie dodam jeszcze, że w pythonie szybko mi się pisze i pewnie nieźle by współgrał z C++ jakbym jednak został w tym temacie. C# natomiast ma statyczne typowanie i wydaje mi się taki czysty i poukładany. Pewnie dlatego, że jest najbliższy z moich propozycji do Cpp. Natomiast JS jest "wszędzie", mogę go też wykorzystać w froncie ewentualnie i zawsze można użyć Typescripta. Nie wydaje mi się też taki straszny jak go malują ale mam świadomość, że można w nim szybko zrobić spaghetti. Na trudność nie patrzę bo wszystko wydaje mi się proste po przejściu z C++ (przynajmniej na razie), tylko czasu potrzeba sporo aby przyswoić nową wiedzę, a po pracy sporo go nie ma :) Stąd to moje pytanie, by nie kręcić się w kółko i być może wykluczyć już coś od razu. Pozdrawiam!

1

A jakiego rodzaju aplikacje chcesz robić?

0

@UglyMan: Tego sam do końca nie wiem. Na pewno w ramach wyrobienia sobie skilla będę chciał napisać jakiś prosty sklep i dwie nie duże aplikacje. Myśle, że jedna z nich będzie do zbierania ogólnodostępnych danych, analizowania ich i wyświetlania po stronie przeglądarki (np. dane giełdowe -> przeliczanie wskaźników AT, wykresy itp.). Druga to szyfrowany prosty komunikator, też w przeglądarce (napisałem kiedyś coś takiego w C++ ale bez GUI bo tam to jest dramat jego sprawne zrobienie).

1

Mając napisany backend mozesz napisać front w czym chcesz. W c++ masz qt mozesz zrobic stronę albonco tam se wymażysz

1
Keros napisał(a):

@UglyMan: Tego sam do końca nie wiem.

A mniej więcej - w jakiej domenie pracujesz?

Robienie manewru pt. "rzucam robotę taką i siaką i zostanę webdevem" niekoniecznie rozwiąże wszelkie problemy, chyba że Twoim problemem są zbyt wysokie zarobki w działce, w której obecnie siedzisz i chciałbyś zacząć od nowa.

Można, ale co to da? Od frameworków firmowych w ten sposób niekoniecznie uciekniesz, firmy mają tendencję do klejenia własnych narzędzi i frameworków niezależnie od tego, czy robią nie-webdev czy webdev. Poza tym IMO backend jest zwyczajnie nudny, jeśli nie trafisz na ciekawy projekt w którym robi się coś więcej, niż klepanie formatek i przepychanie z frontu do bazy i z bazy do frontu - mówię to jako backendowiec.

0

@UglyMan: Miałem podejście do QT na początku swojej kariery i mnie odrzuciło. Może za wcześnie go skreśliłem... Czy nie stał się aby płatny jakiś czas temu?
@superdurszlak: Doskonale zdaje sobie sprawę, że mogę doświadczyć cięcia zarobków zmieniając działkę ale póki jestem młody mi to nie przeszkadza. Poza tym bez przesady, z 3 letnim doświadczeniem zawodowym nie aplikowałbym na poczatkującego juniora z powrotem, stąd moja chęć do stworzenia własnych apek na githuba aby potwierdzić umiejętności. Jeśli chodzi o obecną domenę to głównie przenoszenie aplikacji pisanych na hardwarze do chmury, dokeryzacja, kubernetes itp. Często sprowadza się to do grzebania w yamlach, XML, skryptach pisanych przez pradawnych, a jak się poszczęści to nowy feature dopisać w C++. Często te stare zaleciałości tak ograniczają, że chwała niebosom jak jest fragment gdzie można pisać w c++11, a nie c++98 lub w C. Natomiast po pracy staram się być na bieżąco i śledzę c++20. Stąd pewnie moje lekkie frustracje i patrzenie na backend web jako coś ciekawszego i bardziej rozwojowego :)

1

Jak dla mnie to wydaje Ci się, że trawa po stronie webdevu jest bardziej zielona, wszystko jest nowe i świeże - a nie jest.

W webie trafisz na te same problemy - może nie będziesz trafiał na 30-letnie potworki tylko 20- albo 15-letnie, ale wciąż. Zresztą, wystarczy jakaś duża zmiana i nawet 5 lat to może być spora przepaść. Poza tym nie uważam tego za jakoś bardzo rozwojowe - jeśli trafisz do rzeźbienia CRUDów, to pewnie szybko taka robota zacznie mierzić i po roku będziesz chciał wrócić do starego zajęcia :)

Jak chcesz robić coś w miarę innowacyjnego, większe szanse będziesz miał jak zrobisz porządny research i uderzysz do konkretnej firmy. Nie wiem, w jakim mieście pracujesz, w Krakowie mógłbyś próbować np. do Autodesku - miałem znajomą, która tam poszła i pisali solwery do oprogramowania symulacyjnego. Dla mnie brzmi to całkiem innowacyjnie w porównaniu do klecenia kolejnego API, które będzie mapowało kolejne DTOsy na kolejne entitki do zapisania w kolejnej tabelce Postgresa czy tam czegoś.

0

@superdurszlak: Dzięki za odpowiedź. Uświadomiłeś mi, że faktycznie popadłem w myślenie "wszędzie dobrze gdzie nas nie ma". Myślę, że zrobię research w C++ i najpierw postaram się poszukać po prostu ciekawszej pracy w obszarze którym znam (Kraków jak najbardziej wchodzi w grę). Co do odpowiedzi na główne pytanie, to sam odpowiadam sobie Python :). Trochę prostych skryptów już w nim pisałem, dobry to automatyzacji i tworzenia prototypów. Jak nie przejdę do web devu to jego biegła znajomość i tak mi się przyda w temacie C++.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0