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

question-closed Jakim językiem programowania/technologią się zająć?

VPS Starter Arubacloud
+1 głos
534 wizyt
pytanie zadane 11 stycznia 2023 w Inne języki przez Mikołaj Pątkowski Użytkownik (530 p.)
zamknięte 12 lutego 2023 przez Mikołaj Pątkowski
Cześć,

Zastanawiam się, jakie kroki podjąć dalej w swoim rozwoju. Za mną pierwszy semestr studiów, na którym uczyłem się C, wcześniej miałem doczynienia z C++ i chciałbym zająć się czymś nowym, z czym mógłbym usiąść na dłużej i znaleźć pracę. Interesuje mnie backend, algorytmy i rozwiązywanie problemów w optymalny sposób. Chciałbym też coś w końcu "stworzyć", coś co nie będzie działało tylko w drugim terminalu. Na drugim semestrze będziemy mieć Javę, ale nie będzie to tak dobre nauczanie, po którym będę czuł się pewnie z moimi umiejętnościami (czyli będę musiał dużo włożyć od siebie, poza tym np. uczą nas najstarszych standardów i nie wiem czy dobrych praktyk kodowania). Z drugiej strony mógłbym spróbować z takimi językami jak Swift i Kotlin, ale w porównaniu z Javą ofer pracy jest na oko 5-10x mniej i obawiam się, że to większe ryzyko nie wiedząc, czy się będzie opłacało.

Czy ktoś bardziej doświadczony mógłby mi poradzić, jaką decyzję podjąć?
komentarz zamknięcia: Poszedłem za radą i zacząłem uczyć się Javy z książki Java Head First, uważam to za bardzo dobry wybór. Dzięki temu, że znam C bardzo łatwo przechodziło mi się przez pierwszą połowę książki, oprócz tego Java sama w sobie bardzo mi się podoba. Nie muszę aż tak bardzo myśleć jak technicznie rozwiązać problem, mogę bardziej skupić się na logice oraz dzięki wiedzy z C i C++ wiem, dlaczego coś działa. Dodatkowo Java podobno jest niesamowicie wszechstronną i szybkością dorównuje C (ale nie pamięciowo).
komentarz 5 lutego 2023 przez reaktywny Nałogowiec (41,920 p.)
Postawiłbym na pewniaki: JS/TS, PHP, Python, ew. później inne.

Warto w mojej ocenie znać przynajmniej 2-3 języki.

1 odpowiedź

+2 głosów
odpowiedź 11 stycznia 2023 przez Gynvael Coldwind Nałogowiec (28,850 p.)
wybrane 12 lutego 2023 przez Mikołaj Pątkowski
 
Najlepsza
Ogólnie to trochę wróżenie z fusów, ale kilka rzeczy do przemyślenia napisałem poniżej:

Z podobnych języków do C/C++ Rust wydaje się ostro nabierać popularności. Java do backendu jest używana przede wszystkim w dużych korpo. Swift chyba na backend w ogóle się nie używa, Kotlin prędzej.

Na backendzie Python jest całkiem popularny (choć o "optymalności" to sobie w Pythonie za dużo nie porozmawiamy póki co), JavaScript/TypeScript trochę go gonią z uwagi na node.js i podobne, i jest jeszcze PHP, który z jakiegoś powodu jeszcze jest używany.

Więc trochę kwestia co tam dalej chcesz robić w przyszłości. Jeśli interesuje Cię ściśle "backend, algorytmy i rozwiązywanie problemów w optymalny sposób", to brzmi jakby język był trochę drugorzędny vs algorytmika. W zasadzie musisz wymaksować SPOJa + przedmioty algorytmiczne + najlepiej architekturę oprogramowania, a potem szukać pracy w jakimś dużym korpo. Tam pewnie Java będzie dominująca, a C++/Rust w kolejce.

W mniejszych firmach stawiam bardziej na Python, PHP, JavaScript, C#, etc. No i tam będzie mniej problemów algorytmicznych do rozwiązania.

Weź też pod uwagę, że tworząc oprogramowanie to tych "ważnych optymalnych algorytmów" to jest tak 1% kodu (bardzo ważne 1% kodu, ale nadal 1%), a cała reszta to "okablowanie" + luźna logika korzystająca najczęściej z gotowych bibliotek. Więc do póki nie wyrobisz sobie opinii jako "algorytmiczny troubleshooter" w dużej firmie (albo jako konsultant), to musisz to 99% kodu też umieć dobrze naklepać.

Ostatecznie możesz spróbować każdy z tych języków przez powiedzmy tydzień czy dwa, a potem wybrać ten, który najbardziej do Ciebie przemawia i się na nim skupić przez dłuższy czas. W swojej karierze i tak będziesz języki zmieniał co jakiś czas, i pewnie dojdziesz do poziomu eksperckiego w przynajmniej kilku z nich (a potem je będziesz stopniowo odkładał i zapominał).
komentarz 10 marca 2023 przez cas3y Nowicjusz (100 p.)
edycja 10 marca 2023 przez cas3y
Serio kierujesz się tym rankingiem tiobe sponsorowanym przez microsoft, gdzie w czołówce wymienia takie języki jak Visual Basic, Matlab, Delphi/Object Pascal, Scratch, Classic Visual Basic, Fortran? Zrozumiałbym RedMonk, PyPL, czy ranking Stackoverflow 2022, ale nie tiobe.

Rust wszedł już do mainstreamu i wybrali go do pisania systemu Unix.

Do C++ powstał jeszcze Carbon, CppFront i Circle - czyli taki kompilator dodający nowe funkcje do C++.

D miał być następcą C++ ale dodali GC i to się nie spodobało, do aplikacji backendowych też się nie nadaje, ponieważ jest zbyt duży i skomplikowany w porównaniu do Go czy Javy.
komentarz 10 marca 2023 przez Gynvael Coldwind Nałogowiec (28,850 p.)

Do luźnej dyskusji na forum TIOBE jest równie dobry jak każdy inny. Patrząc na szybko w StackOverflow 2022 w top40 widocznym na stronie nie ma w ogóle Zig/V/etc. Podobnie jak nie ma ich w PYPL w top28 widocznym na stronie. Podobnie jak w top20 w RedMonk. Więc obawiam się, że wybór rankingu zupełnie nie zmienia tego o czym pisałem, tj. że nie są to popularnie używane języki (co za tym idzie, trudno mi je polecić jako warte nauki w rozumieniu zawodowym). Czy staną się bardziej popularne to zobaczymy :)

Rust wszedł już do mainstreamu i wybrali go do pisania systemu Unix.

To natomiast musisz wytłumaczyć. Z tego co kojarzę system Unix powstał pod koniec lat '60 zeszłego wieku i jestem praktycznie pewien, że nie był pisany w Ruście ;)

Pewnie masz na myśli Redox, tj. ten hobbystyczy Unix-like system pisany w Rust. Z tego co kojarzę nie używa się go do niczego konkretnego.

Albo to, że pojawiło się niedawno wsparcie dla Rusta w kernelu Linuxa, co jest dobrym krokiem na przód imo.

Jak pisałem, Rust się dobrze przyjmuje.

komentarz 10 marca 2023 przez cas3y Nowicjusz (100 p.)
edycja 10 marca 2023 przez cas3y
Tak mam na myśli Redox i Linux znalazłem też ponad 20 hobbystycznych małych systemów napisanych w języku Rust. O ile wiem google pisało w nim system Fuchsia OS, a teraz raczej tworzą KataOS, jeden z programistów microsoftu też wspominał o tworzeniu nowego systemu operacyjnego w Rust o nazwie Verona, ale projekt chyba porzucono.
komentarz 10 marca 2023 przez Gynvael Coldwind Nałogowiec (28,850 p.)
Swoją drogą kiedyś MS miał fajny eksperymentalny OS/kernel w C# – https://en.wikipedia.org/wiki/Singularity_(operating_system) :)

Go powstał przed 2010 btw (ostatni raz kiedy w nim coś pisałem było pod koniec 2009 :D).

W każdym razie imo Rust jest niezłym wyborem jeśli chodzi o inwestycje czasu. Też go mam zresztą na swojej prywatnej liście do nauczenia się na już ;)

TS jest spoko jako iteracja JSa, chociaż w webie też by się przydał nowy język. Nie wiem natomiast na ile Dart jest używany faktycznie (który też imo jest iteracją JSa). Tj. wiem że w FuchsiaOS go do UI używaliśmy, ale kurcze też ostatni raz na niego patrzyłem koło 2011, chyba chwilę przed/po wyjściu.
komentarz 10 marca 2023 przez cas3y Nowicjusz (100 p.)
edycja 10 marca 2023 przez cas3y
Powstał też silnik gier Stride w C#, nie wiem jakie ma opóźnienia. https://www.stride3d.net/
Go to nie chcę.
https://bulldogjob.pl/readme/programistow-go-czeka-niemile-zaskoczenie

Podobne pytania

+1 głos
2 odpowiedzi 1,216 wizyt
+1 głos
2 odpowiedzi 431 wizyt
pytanie zadane 1 listopada 2020 w Sprawy forum przez Igorek Mądrala (6,290 p.)
–1 głos
1 odpowiedź 218 wizyt
pytanie zadane 24 maja 2017 w C i C++ przez wisnia123qwe Nowicjusz (160 p.)

92,832 zapytań

141,777 odpowiedzi

320,822 komentarzy

62,162 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.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...