Jak wyglądają warunki pracy z Javą w porównaniu do C#? Gdzie jest więcej legacy i lagacy, którego języka jest gorsze do pracy z nim? Czytałem, że Javy. W którym środowisku łatwiej przyswajać i uczyć się nowych rzeczy? Czy to, że MS sprawuje piecze nad C# sprawia, że łatwiej wszystko ogarnąć, bo wszystko jest tak jakby w jednym miejscu?
2021 to bedzie rok C#, takze nie ma sie co zastanawiac.
Java vs C# 2021 Round 1. Zaczynalem w Javie. Teraz siedze w C# i jeatem zadowolony pod każdym względem. Ale to bardziej indywidualna sprawa. Sam sprawdz to sie dowiesz co Ci bardziej leży. W Javie fakt jest wiecej staroci do utrzymania ze wzgledu na wiek samego języka.
Zaczynalem w C#. Teraz siedze w Scali i jeatem zadowolony pod każdym względem. Ale to bardziej indywidualna sprawa. Sam sprawdz to sie dowiesz co Ci bardziej leży.
@Edelner: zależy
Wiecej zalezy od konkretnej firmy niz jezyka.
Edelner napisał(a):
Gdzie jest więcej legacy i lagacy, którego języka jest gorsze do pracy z nim?
W obu językach znajdziesz starocie, ale mam wrażenie, że w Javie jest go troszkę więcej.
Edelner napisał(a):
W którym środowisku łatwiej przyswajać i uczyć się nowych rzeczy?
To jest dobre pytanie. Z mojej perspektywy w Javie częściej trafiam na ludzi z początku wieku, którzy raz się nauczyli kodzić i lecą tak bez specjalnych przemyśleń kolejną dekadę. Wszędzie spring, beany, pałowanie DI na każdym kroku. W C# nie było na tyle "utartych standardów", że każdy musiał wymyślać coś swojego przez co jest odrobinę większa różnorodność. Ale czy to ułatwia przyswajanie rzeczy — moim zdaniem nie. Jeżeli ktoś będzie chciał się uczyć, to i w cobolu wymyśli coś nowego, a jak ktoś nie będzie chciał, to będzie pałował "encja na twarz i pchasz" w każdym języku.
Edelner napisał(a):
Czy to, że MS sprawuje piecze nad C# sprawia, że łatwiej wszystko ogarnąć, bo wszystko jest tak jakby w jednym miejscu?
Nie, bo C# to tylko jeden fragment. Dochodzi znajomość bibliotek, systemu operacyjnego, narzędzi — MS nie kontroluje wszystkiego.
Ogólnie uważam, że pytanie jest źle zadane. Jeżeli chcesz się uczyć, to będziesz mógł to robić w Javie i w C# tak samo, jeżeli chcesz robić nowe projekty, to też je znajdziesz.
Programowałem w C# i w Javie w korporacjach i różnice są takie, że w Javie czuć ten "wyścig szczurów". Z perspektywy czasu też zauważyłem, że na wymagania Mid/Senior na Jave trzeba o wiele więcej umieć niż równolegle na C#. Ogólnie programiści Javy jakoś często mieli lepszą wiedzę na temat architektury i rzeczy "dookólnych" typu DevOps. Drugą sprawą jest to, że w Javie jest sporo roboty, ale konkurencja też o wiele większa. Jeżeli chodzi o projekty, kulturę pracy, dokumentację to wybrałbym C#.
Co to znaczy, że w javie jest większy wyścig szczurów? Ludzie robią więcej nadgodzin, nie chcą sobie pomagać, czy co?
Twój problem można rozstrzygnąć rzutem monetą, skoro nie upodobałeś sobie technologii. Wybrawszy, przejrzyj wymagania w ogłoszeniach o pracę, wybierz wymagania, które najczęściej się powtarzają i działaj. A jako wpis w CV juniora/stażysty przyda się nawet praca z legacy, później można wybrzydzać.
Poza tym świat nie kończy się na Javie i C#. Skoro chcesz się uczyć nowych rzeczy, to może JavaScript i frontend? Albo Python?