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

Java vs C# - który język programowania jest LEPSZY?

VPS Starter Arubacloud
+1 głos
2,361 wizyt
pytanie zadane 29 czerwca 2020 w C# przez VBService Ekspert (251,270 p.)
edycja 6 sierpnia 2021 przez VBService

Na youtube na kanale : Samuraj Programowania ukazał się filmik na temat jak w temacie posta. Java vs C# - który język programowania jest LEPSZY?  A jaka jest Wasza opinia?

[UPDATE]

Moim zdaniem bardzo głęboka myśl...

@marcin99b

... W wyborze c# vs java mam wrażenie że dużo większe znaczenie ma to
-jakich mamy ludzi
-z czym firma ma już doświadczenie
-w czym firma ma obecne systemy
-jakich ludzi jest dużo w naszym regionie 

A nie aż tak kwestie czysto techniczne

A dla osób które zaczynają tą różnicą może być
-ilość miejsc pracy w regionie
-ilość i jakość poradników w internecie 

Osobiście pisze w c# a nie javie nie dlatego, że kiedyś wyczytałem co jest lepsze
Tylko spróbowałem obu, uznałem że bardziej odpowiada mi nauka c#... i tak jakoś to poszło dalej
Gdybym poszedł w stronę javy pewnie dużo by się nie różniło w moim życiu, bo korzysta z niej podobny typ firm, które robią podobne projekty, za podobną stawkę i ofert pracy jest podobna ilość. ...

 

[ edit ]

@SCpl ,

@VBService, to może zmień treść pytania, co?

który język programowani bardziej preferujecie?

komentarz 29 czerwca 2020 przez Dani3l Bywalec (2,160 p.)
Hmm a czy takie porównania mają sens? Bo przecież każdy język ma swoje + i -. Pytam z ciekawości :d
komentarz 29 czerwca 2020 przez VBService Ekspert (251,270 p.)
edycja 30 czerwca 2020 przez VBService
Też zadałem to pytanie z ciekawości, użyłem oryginalnej składni pytania, bardziej może, powinno być  java vs c# - który język programowani bardziej preferujecie?
2
komentarz 29 czerwca 2020 przez SCpl Użytkownik (590 p.)
Preferuje C#, bo Java'y nie znam, ;)
komentarz 29 czerwca 2020 przez SCpl Użytkownik (590 p.)

@VBService, to może zmień treść pytania, co?

komentarz 29 czerwca 2020 przez Wiciorny Ekspert (269,120 p.)

@Dani3l, własnie porównanie takie nie ma ^^ sensu tak naprawdę bo oba języki działają wobec siebie nie zależnie, jeden zawsze będzie lepszy do X, a drugi do Y lub naprzemiennie. 

2
komentarz 30 czerwca 2020 przez reaktywny Nałogowiec (40,650 p.)

Nie ma czegoś takiego "LEPSZY język". :)

Zależy do czego ma służyć i wielu innych czynników.

Przykładowo do machine learning "najlepszy" jest Python (obecnie najczęściej wykorzystywany w data science), ale w niektórych projektach Scala czy Java (w Sparku są wykorzystywane chętniej, mimo istnienia PySpark) są przed Pythonem. Poza tym czy Python będzie nr. 1 z ML za 10-15 lat? Już są próby zastąpienia Pythona np. Swiftem. Przykłady można mnożyć.

Co do C# i Java, to te języki jeszcze z 5-7 lat temu były dość podobne, dziś się "rozjechały" w trochę inne kierunki. C# nazywany jest udoskonaloną Javą, z kolei Kotlin poprawionym C-sharpem.

 

 

2
komentarz 30 czerwca 2020 przez VBService Ekspert (251,270 p.)
edycja 30 czerwca 2020 przez VBService

Kotlin .... "mój ulubiony" jeden znak i ... wink ...  (jaśniej się już nie da opisać błędu ... no nie mam pytań już wszystko wiem laugh )   ...  Ja tylko pociągnął .... angel
play.kotlinlang.org

3
komentarz 1 lipca 2020 przez sunzi Bywalec (2,000 p.)


Byś się wstydził! Zepsujesz jeszcze internet! laugh

1
komentarz 3 lipca 2020 przez draghan VIP (106,230 p.)

@VBService, wow. Myślałem że C++ template'y mają najbardziej skopane komunikaty błędów, ale widzę że Kotlin to ta sama liga (jeśli nie wyżej). :D

3 odpowiedzi

+2 głosów
odpowiedź 29 czerwca 2020 przez Wiciorny Ekspert (269,120 p.)
Nie ma lepszy, gorszy. Zalezy  w jakim UNICIE  biznesowym, w jakim projekcie ... w jakim "Dziale IT" :)
Który sprawia Ci gładkość, frajde, przyjemność, lepsze możliwości rozwoju .
Nie oglądam tego kanału, gdyż uważam tego Pana- za pseudo znawce :)  - a jego filmy z pełne błędów
2
komentarz 30 czerwca 2020 przez reaktywny Nałogowiec (40,650 p.)
Zgadzam się z grubsza z @Wiciorny, aczkolwiek Samuraj ma dość niezłe kursy JS i React (na YT i Udemy). Chyba jedne z lepszych polskojęzycznych (takie zrobiły pierwsze wrażenie), natomiast nie znam jego całej twórczości więc się nie wypowiem w detalach.
1
komentarz 1 lipca 2020 przez marcin99b Szeryf (81,480 p.)
U mnie bardzo zepsuł sobie opinie takimi filmikami marnującymi czas
Typu "jak zostać programistą" albo "dlaczego warto zostać programistą"

Pewnie wiecie jaki typ materiałów mam na myśli - typ gada kilkanaście minut, a ostatecznie nic na tym nie zyskałeś

No i kilkoma przypadkowymi filmami na które spojrzałem, na których jakość wiedzy była mocno taka sobie
Trudno stwierdzić czy błędnie uczył, na pewno sprawiał wrażenie osoby od której za dużo sie nie można nauczyć

Może akurat tak trafiłem a reszta jest inna
Albo akurat trafiłem na gorszy okres w jego karierze i już dużo sie to zmieniło
komentarz 1 lipca 2020 przez reaktywny Nałogowiec (40,650 p.)
Dzięki Wam za opinię. Powoli ruszam z nauką Reacta i chciałem kupić kurs właśnie od Samuraja. Jest na Udemy wysoko "pozycjonowany" (dobre opinie, sporo użytkowników i wysoka cena :) ), ale jeszcze przyjrze się innym opcjom.

Teraz filmów typu, jak piszesz "dlaczego warto zostać programistą" jest mnóstwo na YT i w ogóle, a produkują je głównie firmy dostarczające szkolenia, bootcampy, itd.
1
komentarz 1 lipca 2020 przez marcin99b Szeryf (81,480 p.)

Co do jego jakości na udemy nie mam zdania, bo jeszcze nigdy nie oglądałem tam polskiego kursu

Jak biore sie za frontend to w 90% przypadków biore coś od Academind (nawet w ciemno) i ostatecznie jestem zadowolony 
Ma kanał na yt gdzie jest sporo materiałów za darmo https://www.youtube.com/channel/UCSJbGtTlrDami-tDGPUV9-w

A co do samej popularności, to Zelent na youtube też jest nieźle pozycjonowany
Jakość materiałów ma super, możliwe że jedną z najlepszych
Ale jakość wiedzy jest mocno przestarzała... to znaczy to jest materiał robiony typowo pod egzaminy w technikum, które są mocno przestarzałe 

komentarz 1 lipca 2020 przez reaktywny Nałogowiec (40,650 p.)
Racja, Academind jest bardzo dobry i znany. Właśnie myślę o jego kursach Svelte i React.

Kursy polskojęzyczne wybieram z tego względu, że nie znam dobrze angielskiego, a czasami jak się nie zrozumie pewnych niuansów to później to procentuje (procenty ujemne).
komentarz 1 lipca 2020 przez marcin99b Szeryf (81,480 p.)
A co trudnego jest w angielskim?
To znaczy rozumiem - można nie rozumieć, sam zacząłem nauke angielskiego na poważniej niż podstawy dopiero, jak większość kolegów była w stanie dość płynnie rozmawiać (w wieku jakoś 17 lat)

Ale to przeszkadza w takich bardziej dynamicznych sytuacjach gdzie musisz rozumieć na bieżąco, albo jedynie ze słuchu

Jak masz napisy to po prostu tłumaczysz sobie słówka albo zwroty których nie rozumiesz
Po pewnym czasie nauczysz sie tyle, że nie będzie potrzeby tłumaczenia, napisy wystarczą

A jeszcze później okaże sie że bez napisów też sobie jakoś tam radzisz
komentarz 1 lipca 2020 przez Dani3l Bywalec (2,160 p.)

@marcin99b, Imo samuraj teraz poszedł w złą stronę , masa filmów , wywiady , strasznie dużo tego tak jakby Bartek poszedł drogą ilość > jakość : / sam przestałem go oglądać , nawet pod odcinkiem o którym wspomniał autor pytania , ludzie to zauważyli  - dużo negatywnych opini itd itd.

komentarz 2 lipca 2020 przez marcin99b Szeryf (81,480 p.)
A więc jest jeszcze gorzej niż było...
0 głosów
odpowiedź 30 czerwca 2020 przez niezalogowany
Witam! Ogólnie to są to różne języki i mają rożne zastosowania ale przedstawię kilka plusów i minusów Java:

Zalety:

-wieloplatformowość (jeden program można uruchomić na różnych urządzeniach)

-pisanie aplikacji webowych i aplikacji na system Android

Wady:

-Przez Maszynę wirtualną (JVM) jest wolna

Więcej wad nie jestem w stanie podać ale jeśli chodzi o zalety to przeciwnie ale nie będę podawał wszystkie.

Pozdrawiam!
1
komentarz 1 lipca 2020 przez reaktywny Nałogowiec (40,650 p.)
To prawda są aplikacje które mogą być lub powinny być tylko off-line (np. dla wojska) czy profesjonalne appki dla inżynierów CAx (CAD/CAM/CAE), które nie potrzebują Internetu lub ich przeniesinie do webu jest nieopłacalne czy niepotrzebne. Oczywiście jak wszędzie są też wyjątki (np. OnShape).

Ala zgadzam się WEB wygryzł niemal wszystko i nawet appki mobilne, na które jeszcze parę lat temu był wielki szał powoli tracą swoją pozycję, bo w wielu sytuacjach wystarczy appka webowa typu PWA.
1
komentarz 1 lipca 2020 przez marcin99b Szeryf (81,480 p.)
Tych mobilnych to bym nie skreślał

Są jakieś proste aplikacje gdzie pwa vs native nie robi żadnego znaczenia
Bo aplikacje obsługuje sie... nazwijmy to mało dynamicznie, czyli jest dużo czytania a mało klikania, przewijania a animacji nie ma praktycznie wcale

Ale w aplikacjach gdzie użytkownik widzi sporo animacji, ma niestandardowe kontrolki i dużo klika... jednak nadal jest w stanie zauważyć przepaść w wydajności
Pewnie z roku na rok ta przepaść maleje, ale nadal łatwo rozpoznać co było robione ewidentnie jako PWA

Gdyby ktoś dał mi do porównania pwa vs native w prostej aplikacji, pewnie bym nie zauważył różnicy
Ale w tych bardziej złożonych niestety dalej to widać
komentarz 1 lipca 2020 przez sunzi Bywalec (2,000 p.)

Tych mobilnych to bym nie skreślał

Stawiam dolary przeciwko guzikom, że za 5 lat stosunek natywnych apek mobilnych do opartych o weba (PWA) będzie coś w okolicach jak 20% do 80% laugh albo i może nawet 10% - 90% :D Jak przegram, stawiam przysłowiowe piwo cheeky

1
komentarz 2 lipca 2020 przez marcin99b Szeryf (81,480 p.)
Ja pamiętam jak ludzie mówili że wordpress sprawi że większość programistów już nie będzie potrzebnych, bo każdy będzie mógł sobie wszystko wyklikać

Są przypadki (zazwyczaj proste) gdzie to jest prawda
Ale jednak... dużo lat od tego okresu minęło, a jakoś nie widze żeby dużo się zmieniło

Tak samo jak było woow na frameworki css typu bootstrap -> nie wyobrażam sobie w tym innej aplikacji niż panel zarządzania czymś (np dla pracowników itp)

Tak samo jak było woow na mikroserwisy i woow na bazy nosql

Jeszcze było z blockchainem że technologia przyszłości

O GraphQL to samo

 

10% - 90% może rzeczywiście będzie
ale wliczając w to wszystkie aplikacje
gdzie większość to będzie "a bo ktoś se zrobił stronke, to od razu jako mobilną wrzuci, bo to praktycznie zerowy koszt, a jakaś dodatkowa popularność może dojdzie"

w przypadku rozbudowanych aplikacji, w których mimo wszystko jest sporo animacji i jest pewnego rodzaju dynamika, liczy sie wydajność i czas reakcji
jeszcze dłuugie lata zanim pwa wyprzedzi natywne

pwa są dobre, ale do czegoś takiego jak masz na stronach, czyli dość mało dynamiczny kontent
komentarz 30 sierpnia 2020 przez zig Nowicjusz (160 p.)
Java nie jest taka przenośna i maszyny wirtualne w czasach gdy każdy procesor ma wbudowaną wirtualizacje jest słabym pomysłem. Ile trzeba pracy, żeby napisać od nowa JVM w C. To nie jest warte teraz wysiłku.
0 głosów
odpowiedź 30 czerwca 2020 przez marcin99b Szeryf (81,480 p.)
Z punktu czysto technicznego c# ma przewage

Ale java to starsze i większe community, bardziej wyrobione
Jest więcej ofert pracy (w obu jest ich dużo, ale z javy jest więcej)

Dodatkowo można porównać na poziomie .NET vs JVM
Gdzie z .NET... niby tu może działać każdy język bo wystarczy że sie kompiluje do IL, ale w praktyce używa sie praktycznie samego c#
Za to JVM ma wiele języków które są popularne m.in java, kotlin, scala

A osobiście wole C#
Pewnie ma na to wpływ to, że znam go bardzo dobrze i pewne rzeczy mogą być dla mnie w pełni naturalne
Chociaż szczerze mówiąc przez cały okres nauki C# czułem że wszystko jest jakieś takie bardzo intuicyjne i logiczne, czego nie moge powiedzieć o większości języków -> które mają upośledzone zachowania... co prawda są one wytłumaczone tym jak język działa pod spodem (javascript jest w tym mistrzem), ale to nie zmienia faktu, że odbiera to im intuicyjność
A jak próbowałem javy to pojawiały sie pewne drobne problemy, nie przeszkadzało to w nauce ale jednak były
komentarz 30 czerwca 2020 przez sunzi Bywalec (2,000 p.)

Z punktu czysto technicznego c# ma przewage

Byłbym bardzo ostrożny wypowiadając takie tezy, bo można bardzo łatwo podać kontrprzykład taki jak: mnogość implementacji GC (zupełnie różne i niezależne implementacje) i multum przełączników i ustawień pozwalających manipulować zachowaniem GC na JVM. Gdzie w .Netcie jest tylko jedna główna implementacja i parę opcji pozwalających odrobinę zmienić zachowanie GC smiley Także bądźmy ostrożni wink

Dlatego zgadzam się z przedmówcami, że nie da się w paru słowach stwierdzić X jest lepsze od Y. Jeśli chcielibyśmy dokonać rzetelne porównanie obu technologii to prawdopodobnie zajęło by to dużo czasu i pewnie powstała by z tego cała książka. Nie da się w krótkim poście jednoznacznie powiedzieć co jest LEPSZE. Ale do czego lepsze? Jakie są kryteria "lepszości"? Bo ja chcę napisać sterownik do mojej ultra wypasionej karty sieciowej - .Net czy Java? Albo chcę napisać aplikację kalkulator na stronie internetowej dla cioci - C czy C++? Z drugiej strony chciałbym napisać REST API które dodaje dwie liczby całkowite i będzie wywoływana raz na tydzień - php/python/ruby/.net/java? W ostatnim przypadku nie ma to absolutnie żadnego znaczenia, bo różnica będzie niezauważalna.

2
komentarz 30 czerwca 2020 przez marcin99b Szeryf (81,480 p.)

Z punktu czysto technicznego c# ma przewage

 Chyba najlepiej podrzucić tu artykuł na wikipedii porównujący c# i jave

https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java

W wielu przypadkach są równe
Są przypadki gdzie java ma coś czego nie ma c#
Są przypadki gdzie c# ma coś czego nie ma java
Są przypadki gdzie coś mają oba, ale w jednym z nich to jest lepiej zrobione

Po zsumowaniu wszystkich różnic które mają znaczenie z punktu technicznego, c# ma przewage

Ale to tak jak powiedziałeś, zależy co jest celem
Przykład z życia
Co jest lepsze - rower czy samochód?
Chcemy przejechać przez gęsty las, który ma kilka wąskich ścieżek - wyjdzie że rower to jedyne rozwiązanie, bo samochód sie nie zmieści
A co jeśli chcemy pojechać na drugi koniec miasta, w którym jest mało korków? - tutaj wyjdzie że rower będzie daleko w tyle 
A co jeśli chcemy porównać szkodliwość dla otoczenia? - rower będzie miał ogromną przewage względem każdej maszyny na paliwo

Różnica między rower vs samochód a c# vs java to to, że jedno z porównań to skrajne przeciwieństwa, podczas gdy drugie z nich ma na rynku praktycznie to samo zastosowanie, grupe docelową i popularność

Więc to już nie jest rower vs samochód gdzie lider jest zależny od sytuacji
Tylko porównanie 2 samochodów, jednego typu, z jednej grupy cenowej
Powiedzmy że porównanie samochodów transportowych (vany) dwóch firm (np volkswagen vs iveco) w przedziale cenowym 30-40k, używane
Która z tych firm będzie lepsza?

Zależy pewnie od wielu czynników, ale ostatecznie z punktu matematycznego po wzięciu pod uwage wszystkich różnic, znajdziemy firme która na papierze jest po prostu lepsza
Ale co z tego, skoro mamy pracowników przyzwyczajonych do tej gorszej, albo co jeśli w naszym regionie prościej znaleźć pracowników, którzy wolą jeździć tą gorszą? (przez przyzwyczajenie)
I co jeśli ostateczna różnica czysto techniczna pozwoliłaby nam zyskać ostateczną przewage na poziomie 3%, a różnica związana z tym co jest wygodniejsze dla pracowników to będzie 30%?

W wyborze c# vs java mam wrażenie że dużo większe znaczenie ma to
-jakich mamy ludzi
-z czym firma ma już doświadczenie
-w czym firma ma obecne systemy
-jakich ludzi jest dużo w naszym regionie 

A nie aż tak kwestie czysto techniczne

A dla osób które zaczynają tą różnicą może być
-ilość miejsc pracy w regionie
-ilość i jakość poradników w internecie 

Osobiście pisze w c# a nie javie nie dlatego, że kiedyś wyczytałem co jest lepsze
Tylko spróbowałem obu, uznałem że bardziej odpowiada mi nauka c#... i tak jakoś to poszło dalej
Gdybym poszedł w strone javy pewnie dużo by sie nie różniło w moim życiu, bo korzysta z niej podobny typ firm, które robią podobne projekty, za podobną stawke i ofert pracy jest podobna ilość
Ofert pracy w moim regionie jest troche więcej w javie, ale nie jest to na tyle duża różnica, żebym w ogóle zastanawiał sie nad zmianą

1
komentarz 30 czerwca 2020 przez sunzi Bywalec (2,000 p.)
edycja 30 czerwca 2020 przez sunzi

marcin99b

Myślę, że co do sedna sprawy mamy to samo zdanie (może lekko się różnimy w szczegółach - ale nie są one tak istotne) winkCiekawy link do wiki. Dzięki za fajny wpis i fajnie wytłumaczenie smileyMyślę, że ten wpis dobrze mógłby podsumować całą debatę c# vs Java smiley

Osobiście pisze w c# a nie javie nie dlatego, że kiedyś wyczytałem co jest lepsze
Tylko spróbowałem obu, uznałem że bardziej odpowiada mi nauka c#... i tak jakoś to poszło dalej

Fenomenalna porada o której nikt wcześniej nie wspomniał smiley

komentarz 30 sierpnia 2020 przez reaktywny Nałogowiec (40,650 p.)
Ja słyszałem, że powolna Java to była owszem, ale wieki temu (pierwsze z wersji, za czasów appletów). I obecne wersje Javy są szybkie jak Alpha Omega GT-R (Nissan po tuningu w AMS performance) :) Ale jeśli masz jakieś porównanie, benchmarki pokazujące, że Java odbiega (znacząco) osiągami od C# czy innych języków, to nie tylko ja, ale więcej osób z pewnością chętnie je zobaczy.

Wiem, że w niektórych zastosowaniach może być wolniejsza od Rust / C++ / Go, itp. Ale w zastosowaniach webowych, gdzie porównuje się osiągi całej appki webowej (liczbę req na sek i opóźnienia) to ogromnych różnic nie ma. Mówię o rzeczywistych, dużych projektach. A nie "hello worldach" jak pokazuje benchmarki techempower. Spotkałem się kilka razy z opinią, że wymienione porównania (https://www.techempower.com/benchmarks/) nie są miarodajne, tzn. ich wyniki nie przenoszą się na rzeczywiste projekty.

Podobne pytania

+11 głosów
3 odpowiedzi 551 wizyt
0 głosów
2 odpowiedzi 1,727 wizyt
pytanie zadane 8 sierpnia 2015 w Java przez NTXFN Gaduła (3,430 p.)
0 głosów
1 odpowiedź 1,195 wizyt
pytanie zadane 18 stycznia 2020 w C# przez dawid2002 Mądrala (5,190 p.)

92,455 zapytań

141,263 odpowiedzi

319,099 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...