Prośba o porade od bardziej doświadczonych

0

Witam,
Jestem na drugim roku studiów informatycznych w Krakowie I szykuje się do praktyk zawodowych. W związku z tym chciałbym skupić się na nauce jednego z dwóch jezyków w zasięgu webdevu. Do wyboru rozważyłem dwa języki: C# oraz Javę. Tego pierwszego uczę się na uczelni, plus dodatkowo robiąc projekty zaliczeniowę z przedmiotów, oraz Javę, którą sprobowałem sobie po namowie mojego znajomego. Mi osobiście w obydwu piszę się przyjemnie, z czego więcej materiałów przyjemnych do nauki wzorców projektowych, samego języka znalazłem w Javie. Jakis czas temu słuchałem podcastu Devtalk z udziałem Jakuba Kubryńskiego, odnośnie Javy, w którym mówił o problemach I lekkim bałaganie jaki dzieje się w Javie – czy to faktycznie prawda? I Pytanie mam do osób, którę mają jakieś doświadczenie zawodowę, w którymś z tych języków, co osobiście mogliby polecić. Dodatkowo mam pytanie, czy warto sugerować się wyborem języka w takim mieście jak Kraków, większą ilościa ogłoszeń o pracę w Javie, niżeli w C# oraz tym, że większe firmy raczej korzystają z Javy, niżeli z C#, czy raczej nie ma to większego znaczenia.

Dziękuję za odpowiedzi oraz wszelkie porady :)

5

Musisz sobie odpowiedzieć na fundamentalne pytanie:

Wolisz @somekind czy @jarekr000000 i @Shalom?

Ja rozumiem że wybór pomiędzy boomerem, a boomerami to jak brak wyboru ale mimo wszystko jest to istotna kwestia jeżeli szukałbyś pomocy na 4p ;)

1

Kraków stoi raczej Javą niż .NETem ale może to być dla ciebie żaden argument :)

7

Ja powtórzę to co pisałem już wielokrotnie.
C# jest robiony przez M$, ma metody od wielkiej litery i parametry wyjściowe. Nie ruszałbym nawet kijem.
Z drugiej strony JVM to wspaniała przenośna platforma na którą istnieje wiele dobrych języków programowania jak Kotlin, Scala czy Clojure. W dodatku dzięki GraalVM można wreszcie pisać aplikacje natywne (działające bez maszyny wirtualnej) we wszystkim co kompiluje się do kodu bajtowego Javy czyli w Javie, Kotlinie, Scali itd

0
Shalom napisał(a):

Kraków stoi raczej Javą niż .NETem ale może to być dla ciebie żaden argument :)

Właśnie dlatego pytam, czy warto brać to pod uwagę, gdyż czasem słyszę, że można traktować to jako wade, powodu dużej ilości konkurencji.

KamilAdam napisał(a):

Ja powtórzę to co pisałem już wielokrotnie C# jest robiony przez M$, ma metody od wielkiej litery i parametry wyjściowe. Nie ruszałbym nawet kijem.

Z drugiej strony JVM to wspaniała przenośna platforma na którą istnieje wiele dobrych języków programowania jak Kotlin, Scala czy Clojure. W dodatku dzięki GraalVM można wreszcie pisać aplikacje natywne (działające bez maszyny wirtualnej) we wszystkom co kompiluje się do kodu bajtowego Javy czyli w Javie, Kotlinie, Scali itd

Fakt, tego że za C# stoi m$ jest dla mnie trochę odpychające jak i ilość materialów do nauki jest dużo mniejsza. Kotlin, Scala czy Clojure nie używałem i wiedzy na ich temat nie mam, procz tego, że Kotlina używa się w aplikacjach na androida, ale możliwość przyszłościowego przejścia na któryś z tych wyżej wymienionych jest czymś co zdecydowanie działa na plus. Jeśli mogłbym się zapytać czy fakt wprowadzenia płatnej licencji na wersje Javy wydawanej od oracla zmienił coś w podejściu firm? Czy i tak raczej większa częśćj firm uzywała innych wersji Javy, np jak openJDK.

1

Jeśli mogłbym się zapytać czy fakt wprowadzenia płatnej licencji na wersje Javy wydawanej od oracla zmienił coś w podejściu firm? Czy i tak raczej większa częśćj firm uzywała innych wersji Javy, np jak openJDK.

Zmienił. Firmy przenoszą się z OracleJDK na OpenJDK (te które są z aktualizacjami bezpieczeństwa Javy na bieżąco to pewnie już daaawno temu się przeniosły). W Javie 8+ różnica między nimi w działaniu jest znikoma (w aplikacjach serwerowych), a jednocześnie OpenJDK jest darmowe.

0

1
sz3wczak00 napisał(a):

Jeśli mogłbym się zapytać czy fakt wprowadzenia płatnej licencji na wersje Javy wydawanej od oracla zmienił coś w podejściu firm?

Z tego co się ostatnio orientowałem, płatne jest tylko przedłożone wsparcie dla wersji LTS. Chyba płatny ma też być kompilator GraalVM EE (w przeciwieństwie do darmowego GraalVM), ale też nie badałem tematu

Czy i tak raczej większa częśćj firm uzywała innych wersji Javy, np jak openJDK.

Nie mam pojęcia co mamy na produkcji :(

2

Kraków może i stoi Javą, ale Kraków zawsze miał podejrzane konotacje z ziejącymi ogniem paskudztwami :]

Może po prostu spróbuj w tym, co Ci bardziej podejdzie i tyle. Różnicy wielkiej nie będzie, zresztą zakładając że nic się nie zmieniło to startując do jakiegoś korpo na Javowca możesz skończyć w .NET i odwrotnie. Sam .NET może mieć mniejszy rynek, ale z drugiej strony poczytaj wątki na forum - każdy jeden pcha się do tej Javy jak do ziemi obiecanej, także spodziewaj się trzy- albo i czterocyfrowej liczby aplikujących na wszelkie praktyki i staże.

Jeśli masz dość czasu, spróbuj zainteresować się trzecim językiem, który nie będzie Javą ani Microsoft Javą - może być w obrębie tego samego ekosystemu np. Kotlin, Scala, F#, a może być coś zupełnie z innej beczki. Poszerzysz sobie horyzonty, a może i odkryjesz, że jednak nie chcesz marnować życia na te języki nim w nich utkniesz na dobre. Potem ciężko od nich uciec :P

0
superdurszlak napisał(a):

Kraków może i stoi Javą, ale Kraków zawsze miał podejrzane konotacje z ziejącymi ogniem paskudztwami :]

Może po prostu spróbuj w tym, co Ci bardziej podejdzie i tyle. Różnicy wielkiej nie będzie, zresztą zakładając że nic się nie zmieniło to startując do jakiegoś korpo na Javowca możesz skończyć w .NET i odwrotnie. Sam .NET może mieć mniejszy rynek, ale z drugiej strony poczytaj wątki na forum - każdy jeden pcha się do tej Javy jak do ziemi obiecanej, także spodziewaj się trzy- albo i czterocyfrowej liczby aplikujących na wszelkie praktyki i staże.

Jeśli masz dość czasu, spróbuj zainteresować się trzecim językiem, który nie będzie Javą ani Microsoft Javą - może być w obrębie tego samego ekosystemu np. Kotlin, Scala, F#, a może być coś zupełnie z innej beczki. Poszerzysz sobie horyzonty, a może i odkryjesz, że jednak nie chcesz marnować życia na te języki nim w nich utkniesz na dobre. Potem ciężko od nich uciec :P

Spodziewam się, że konkurencja będzie duża, ale wydaje mi się, że jak ktoś odpowiednio dużo umie, to gdzieś na ten staż się finalnie dostanie wcześniej czy póżniej, a uciekanie do .net dlatego, że konkurencja mniejsza, to nie wiem czy super opcja, ale mam to też z tyłu głowy myśląc o praktykach. Chociaż fakt faktem, znajomy z uczelni dostał się na staż z niewielkim jakimś doświadczeniem jako c# dev. Ogólnie oba języki na takim podstawowym poziomie są przyjemne, miałem okazję próbować spring'a, którego podstawy pokazał mi znajomy i również wydawał się bardzo intuicyjny (asp.net cora nie miałem okazji jeszcze próbować).

Co do nauki 3 języka, to czas pewnie i by się znalazł, tylko też czy jest sens tak wszystkiego ruszać delikatnie patykiem, zamiast skupić się na jednym.

0
sz3wczak00 napisał(a):

w którym mówił o problemach I lekkim bałaganie jaki dzieje się w Javie – czy to faktycznie prawda?

Z Javą to jest tak, że jak trafisz do projektu gdzie masz rotacje bootcampowców/studentów, ludzi, którzy siedzą w projekcie max 2 lata i zmykają to naprawdę jest spaghetti nieraz. W każdym języku biznesowym może być podobnie. Przez to odnaleźć się w czymś takim to też czasem 2-3 miesiące wdrażania.

3

Tez na poczatku chcialem wybrac 'najlepszy' jezyk - teraz sprobowalem troche komercyjnie (JS, C#, Python), i troche nie (Node (jednak serwerowe pisanie jsa to cos innego niz przegladarkowe), Kotlin, F#, Haskell), i juz wiem, ze najwazniejsze jest w tej pracy to, zeby glosno krzyczec i zwalac wine na kogos ;)

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