Prośba o porade od bardziej doświadczonych

Prośba o porade od bardziej doświadczonych
S3
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:3
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 :)

jarekr000000
Temat wałkowany wielokrotnie.
UglyMan
Wyższość Wielkanocy nad Bożym Narodzeniem. To jest problem tego rodzaju:)
AK
poznanie jednego np na praktyce absolutnie nie zrobi ci krzywdy o ile podejmiesz pracę w drugim
AK
ps. naucz się dawać temat, który niesie treść. Tu jest 100% pytań do bardziej doświadczonych (za wyjątkiem flame)
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 15 godzin
  • Postów:5107
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 ;)

edytowany 3x, ostatnio: WeiXiao
Shalom
  • Rejestracja:około 21 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Space: the final frontier
  • Postów:26433
1

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


"Nie brookliński most, ale przemienić w jasny, nowy dzień najsmutniejszą noc - to jest dopiero coś!"
KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:4 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
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


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 2x, ostatnio: KamilAdam
Zobacz pozostałe 21 komentarzy
WeiXiao
@sz3wczak00: OP patrz, bo tutaj wszystko się wydało jak to jest z Javą :)
KamilAdam
@WeiXiao: Dalej mając wybór między Javą a C# wybieram Javę :)
WeiXiao
@KamilAdam: a ile pisałeś w C#? :P
KamilAdam
@WeiXiao: Nie jestem w stanie bo mam odruch wymiotny jak widzę metody zaczynające się od wielkiej litery :(
Pipes
W Go to lepiej wygląda :D
S3
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:3
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.

Wibowit
  • Rejestracja:prawie 20 lat
  • Ostatnio:około 2 godziny
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.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.
edytowany 3x, ostatnio: Wibowit
WeiXiao
  • Rejestracja:około 9 lat
  • Ostatnio:około 15 godzin
  • Postów:5107
0

KamilAdam
  • Rejestracja:ponad 6 lat
  • Ostatnio:4 dni
  • Lokalizacja:Silesia/Marki
  • Postów:5505
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 :(


Mama called me disappointment, Papa called me fat
Każdego eksperta można zastąpić backendowcem który ma się douczyć po godzinach. Tak zostałem ekspertem AI, Neo4j i Nest.js . Przez mianowanie
edytowany 1x, ostatnio: KamilAdam
superdurszlak
  • Rejestracja:prawie 7 lat
  • Ostatnio:3 dni
  • Lokalizacja:Kraków
  • Postów:1999
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


WeiXiao
Potem ciężko od nich uciec hmm? czemu niby ciężej niż od innych? bo zbyt wygodne?
superdurszlak
ciężej bo jak już jesteś takim Javowcem, to biorą na Javowca albo wcale.
AK
Popieram myśl o trzecim języku. Choćby dla higieny
S3
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:3
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.

JS
JS
  • Rejestracja:ponad 4 lata
  • Ostatnio:ponad 4 lata
  • Postów:63
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.

edytowany 2x, ostatnio: janek_sawicki
Pixello
  • Rejestracja:prawie 10 lat
  • Ostatnio:4 miesiące
  • Lokalizacja:Podkarpacie
  • Postów:448
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 ;)

JS
janek_sawicki
loudest guy driven development?
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)