Wpis z mikrobloga

#anonimowemirkowyznania
Pytanie do profesjonalnych programistów i pozostałych ludzi, którzy siedzą w #programowanie. Jestem na studiach i miałem styczność z różnymi językami programowania i technologiami: C, C++, C#, Java, Python, PHP, Javascript/Typescript, R, SQL. Szczerze mówiąc nadal nie potrafię znaleźć tego właściwego języka, który będzie moim głównym. W każdym po trochu dziubałem czy to mały projekt czy małe zadania uczące składni i elementów języka.

Chciałbym wybrać 1 język, przerobić jakiś kurs lub książkę od deski do deski i rozwijać się w konkretnym kierunku. Najbardziej myślałem o C# i #dotnet, ale ostatnio czytałem o zmianach mających pojawić się w .NET6 i martwie się w jakim kierunku to zmierza. Ludzie narzekają na zmiany, które osobiście również nie podobają mi się. Dobrymi przykładami mogą być domyślne templatki, które nie mają jawnej definicji metody Main() czy zamieszanie wywołane zmianami namespace'ów, ponieważ będzie co najmniej kilka sposobów na korzystanie z nich. Przez te zmiany nie wiem czy C# będzie dobrym wyborem, ale z drugiej strony odbiłem się od Javy, która wydaje się za stara i kojarzy z początkiem XXI wieku. Jednak w Javie tworzone są aplikacje enterprise, big data, Java ponoć ma lepsze środowisko, różne języki jak Kotlin czy Scala, ale z drugiej strony znowu jest hejt na Oracle, trzeba kombinować z różnymi wersjami JVM i nie ma takiej prostoty jak w przypadku .NET.

Pomimo, że miałem styczność z różnymi technologiami to nadal nie mam dużego doświadczenia i np. nowe zmiany w .NET6 wydają mi się nieintuicyjne, a komentarze od innych osób również mnie w tym uświadamiają. Nie wiem co mam robić, bo bardzo chciałbym na poważnie nauczyć się jakiegoś języka, najlepiej takiego wspierającego obiektowność i statyczne typowanie. C# wydawał się świetny, ale te nowe zmiany jakoś mnie zniechęciły...

Co byście zrobili na moim miejscu a może na czym powinienem się skupić skoro w głowie mam takie a nie inne myśli?

#naukaprogramowania #programownie #programista15k

Kliknij tutaj, aby odpowiedzieć w tym wątku anonimowo
Kliknij tutaj, aby wysłać OPowi anonimową wiadomość prywatną
ID: #6166051b820612000adc7c0b
Post dodany za pomocą skryptu AnonimoweMirkoWyznania ( https://mirkowyznania.eu ) Zaakceptował: Eugeniusz_Zua
Doceń mój czas włożony w projekt i przekaż darowiznę
  • 41
@AnonimoweMirkoWyznania: nie ma to większego znaczenia, lepiej wybrać język z top 10 który Ci bardziej pasuje niż język w którym jest 20% więcej projektów/roboty/zarobków ale który pasuje Ci mniej - bo będziesz miał większą motywację, żeby się go nauczyć dobrze.

Z resztą nie będziesz i tak programował całe życie w jednym języku raczej, a przesiadka Java->.net czy odwrotnie jak masz doświadczenie to nie jest taki wielki problem.
@AnonimoweMirkoWyznania: to, czego bedziesz sie uczyl, a to w czym ostatecznie skonczysz to nie zawsze to samo ( ͡° ͜ʖ ͡°) w zyciu nie przewidzialbym na studiach ze pojde w strone Javy, a potem Kotlina, a tak to sie jednak skonczylo i na razie nie przewiduje zmian. Duzo wiecej warte sa dobre praktyki (wzorce czy pisanie czystego kodu) niz znajomosc jezyka, bo przydadza sie zawsze, a nie
LubieżnaDama: @mk321: Przecież .NET inaczej zwany jako .NET Core od 2016 roku jest open source. Jakaś chińska firma ma własnego. NET (bazujący na oficjalnym repo), który rozwija na githubie i wspiera oficjalną wersję. W przypadku jednej wersji CLR (tzn. tej od Microsoftu) nie dziwię się, że OPowi wydaje się to prostsze. W Javie przed rozpoczęciem trzeba podjąć decyzję, które JVM wybrać, bo jest ich kilka, co naturalnie prowadzi do szukania
@WypadlemZKajaka: jeśli chcesz być klepaczem to być może jest to marnowanie czasu (w co też wątpię bo większość języków typu java, python są C-like czyli imitują C pod względem używanej składni i konstrukcji). Być może taki klepacz, który nie ma pojęcia o podstawach nie zostanie nigdy zdemaskowany, nawet to całkiem prawdopodobne. Może będzie dobrze zarabiał, ale ciągle będzie tylko klepaczem, a nie inżynierem czy "computer scientist". Jak chcesz zamykać swoją karierę
@wpoldokomina: Z problemami wydajnościowymi oraz optymalizacją spotkasz się w każdym języku, co zmusi cię do douczenia się głębiej w podstawy. Powiedz mi jakich rzeczy nauczy cię szczególnie C, których nie dowiesz się rozwijając się w javie czy c#?

jeśli chcesz być klepaczem to być może jest to marnowanie czasu

90% pracy w IT to klepanie bez większego zastanowienia
via Wykop Mobilny (Android)
  • 1
LubieżnaDama: @mk321:

@WypadlemZKajaka: Java to legacy, lepiej iść w Kotlina, ale koło się zamyka, bo Kotlin bazuje na Javce hehe. W takiej Javce nie można normalnie pisać apek webowych w tych springach, bo trzeba wykupić płatne IDE a jakiego początkującego na to stać? Dodaj do tego że alternatywy jak choćby javascript lub c# mają darmowe narzędzia którymi zrobisz wszystko od a do z.

Zaakceptował: LeszczBagienny

@AnonimoweMirkoWyznania: Kotlin może
low level stack, w szczególności praca z środowiskiem nie managowanym przez jakiś runtime w stylu dotnetowej vm / jvm

@alex-fortune: I co ci to realnie da? Mam naście lat expa i było bardzo mało przypadków kiedy taka wiedza była mi do czegokolwiek potrzebna
@AnonimoweMirkoWyznania: Ucz się Javy albo NET To Ci zapewni pracę bez problemu. Dopiero jak popracujesz to się zastanawiaj co chcesz robić. Czy pasują ci projekty gdzie jesteś człowiek orkiestra, czy wolisz być specjalistą.
C++, C - rynek jest mały i dobra kasa tylko dla seniorów - zostaw to ludziom przechodzącym z elektroniki do IT.
Frontend zostaw dla ludzi zmieniających branże.
@WypadlemZKajaka: no jesli np robisz high performance server to nie napiszesz go w javie czy C# bo runtime jest za wolny a overhead garbage collectora za duzy. Kwestia projektow jakie robisz, ktos tam wyzej napisal ze 90% to klepanie bez zastanowienia i to w sumie podsumowuje sprawe.
OP: Dziękuję za odpowiedzi i chętnie poczytam dalsze rozważania. Powiem tak: raczej jestem przeciętny i nastawiam się na wymienione przez was klepanie i 90% aplikacji IT, ponieważ ekspertem raczej nie zostanę. Mam kolegę, który programuje od 12 roku życia, siedzi w świecie embedded i bardzo dobrze zna C i widać, że to prawdziwy pasjonat. Ja niestety taki nie jestem, ponieważ jestem gdzieś pośrodku tzn. lubię od czasu do czasu czytać o
C++, C - rynek jest mały i dobra kasa tylko dla seniorów - zostaw to ludziom przechodzącym z elektroniki do IT.


@AnonimoweMirkoWyznania: nie słuchaj takich porad, na szczęście dużo ludzi z taką skrzywioną opinią na temat C i C++ nie ma. Jeśli chciałbyś robić na powaznie w działce embedded (praca ze sprzętem), aplikacjach desktopowych, coś w branży finansowej, gdzie wymaga się low latency, przy przetwarzaniu jakiegoś big data albo machine learning,