Wątek zablokowany 2017-01-31 20:16 przez Krolik.

C# vs JAVA - co jest przyjemniejsze i szybsze do nauki?

0

Co jest przyjemniejsze i szybsze do nauki Twoim zdaniem?

3

C# znam słabo ale technologie są podobne i myśle że czas oraz frajda porównywalna.

0

Mogę się wypowiedzieć z perspektywy programisty C#, który musiał napisać aplikację desktopową w Javie. A więc tak C# wydaje mi się "nowszą" wersją Javy. Jest bardziej usystematyzowany, spójny. Ogólnie oba języki zawierają podobne cechy, choć w C# wydają się one IMO bardziej oczywiste i bardziej dopracowane (m.in. typy generyczne oraz refleksja).

0

Java w aplikacjach desktopowych praktycznie nie istnieje i nie warto się tym sugerować.

Ja wybrałem Javę bo dla mnie była bardziej otwarta i niezależna od platformy.

1

Spróbuj obu - tylko do javy intelij sobie spróbuj, a do c# vs2015 z resharperem.

0
Pixello napisał(a):

do c# vs2015 z resharperem.

Raczej niestety tylko to pierwsze, bo ReSharper jest płatny.

0

C# jest dużo bardziej rozwinięty (ostatnio słyszałem Javowców zachwycającymi się lambdami w nowej Javie 8 :D) i ma sporo lepsze IDE. Java ma więcej bibliotek i łatwiej znaleźć gotowe rozwiązania przez popularność.

Zaczynałem od Javy, obecnie 2 lata doświadczenia komercyjnego w C# i nie wyobrażam sobie powrotu.

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

1

Ja zaczynałem od C# (desktopy, ASP.net etc.), robiłem zlecenia, swoje i cudze prace mgr i lic. Potem musiałem nauczyć się Javy i od ok 6 lat zawodowo kodzę głównie w Javie.

Moje zdanie jest takie, że .net ma dużo pożytecznych fajnych rzeczy które są łatwe i spójne bo jest jeden autor, jednak na poziomie języka można narobić sporo bałaganu w projekcie, np klasa w dwóch plikach, inna nazwa pliku i klasy, ten sam pakiet w kilku katalogach. Nie wiem jak teraz, ale irytowało mnie ile rzeczy trzeba było wyklikać by coś ustawić.

Java jest sprawdzonym multiplatformowym językiem, ma dużo ficzerów i podoba mi się podział na proste aplikacje SE i enterprise czego .net nie ma. Wiadomo java też ma wady, przenośność nie zawsze działa dobrze, czasami dokumentacja JavaDoc wygląda bardzo topornie, itp . Różne komponenty/biblioteki mają różnych autorów co ma wady (różny poziom dokumentacji, jakości itp) i zalety bo jeden problem ma wiele rozwiązań.

W obu językach trzeba mieć dobre środowisko (IntelliJ/VS) by sprawnie się poruszać zawodowo, w javie jest większy wybór bo mamy Eclipse, NetBeans i InteliJ.

Jeżeli chodzi o naukę to zależy czy chodzi o podstawy programowania czy krok dalej. Ja bym wybrał C# na desktop i Javę na jakieś webowe rzeczy. Generalnie teraz więcej pracy jest w rzeczach związanych z siecią i tutaj ja widzę więcej projektów z Javą.

0

@sarin dlaczego C# .net rzadziej się używa do web? i jeśli chodzi o wyżej przez Ciebie wspomniany etap "krok dalej" to co jest lepsze, przyjemniejsze, bardziej intuicyjne do nauki Twoim zdaniem?

Co tak wszyscy zachwalacie IntelliJ? lepsze niż Eclipse?

0

Moim zdaniem, jest to kwestia gustu. Nie chce mi się pisać elaboratu na ten temat i robić shitstormu :). Jeden i drugi wybór jest ok, choć ja osobiście wolę Javę i znam ją trochę lepiej, niż C#, więc też tę technologię bym polecił, ale to tylko moje zdanie.

0

Dla mnie C# a Java to udręka. Dla Ciebie - spróbuj obu i sam oceń. To bardzo subiektywne.

0
AreQrm napisał(a):

Dla mnie C# a Java to udręka. Dla Ciebie - spróbuj obu i sam oceń. To bardzo subiektywne.

W jaki sposób jeden może być ok a drugi udręka, skoro te języki są do siebie tak podobne? Ze względu na IDE?...

0
Maskarada napisał(a):

@sarin dlaczego C# .net rzadziej się używa do web?

Prawdopodobnie dlatego, że środowiska webowe częściej uruchamiane są na darmowych platformach Unix/Linux niż licencjonowanych Windows. Skala problemu była tak duża, że nawet Microsoft to zauważył i przepisał wszystko, żeby się uruchamiało na wszystkich platformach (obecnie od roku dostępne jest środowisko testowe, a stabilna pordukcyjna wersja spodziewana jest w ciągu kilku miesięcy).

2

pisze w obu od paru lat i nie widze sposobu aby obiektywnie stwierdzic ktory jezyk jest przyjemniejszy i szybszy do nauki. imo warto umiec oba, na poczatek jednak wybralabym c# bo zarowno jezyk jak i goly framework sa lepiej zaprojektowane niz javowy.

0

Warto przejść 2-3 tutoriale w obu językach i zdecydować. Warto też spojrzeć na średnie zarobki i ilość ofert pracy. W mojej okolicy w .net praca jest głównie w janusz softach i oczywiście gorzej płatna :) Dużo uczelni kładzie nacisk na .net bo kadra ma złe doświadczenia z pierwszymi wersjami javy oraz mają umowy partnerskie z microsoftem. IMHO Dzięki temu na rynku jest większy niedobór Javovców.

1

Jestem głównie fanbojem javo-ecosystemu :D ale kiedyś zdarzyło mi się pobawić C# jakiś czas i moje spostrzeżenia są takie:

  1. łatwiejszy start jeśli chodzi o frameworki do niego
  2. sam język ma troche wiecej fajnych konstrukcji w stosunku do javy
  3. jako że microsoft źle mi sie kojarzy.. (chociaż windowsa używam, obłudnik..) C# też :)

Myślałem, że będzie fajnie ale Java mimo swojego wyższego progu wejścia wydała mi się ciekawsza ;) poświęć troche na oba i sam stwierdź. Wiem, że możesz pomyśleć, że szkoda czasu oba sprawdzać, ale zapomnij o tej myśli i sprawdź

1
Maskarada napisał(a):

@sarin dlaczego C# .net rzadziej się używa do web?

Ale co to znaczy "rzadziej". Zapewne istnieje więcej aplikacji w Javie niż w .NET, bo Java jest jednak kilka lat starsza. Ale web to i tak obecnie 90% rynku w obu technologiach.

Wybitny Orzeł napisał(a):

W jaki sposób jeden może być ok a drugi udręka, skoro te języki są do siebie tak podobne? Ze względu na IDE?...

Między nimi tak naprawdę jest więcej różnic niż podobieństw, w szczególności C# ma dużo więcej cukru składniowego.

Krwawy Orzeł napisał(a):

Prawdopodobnie dlatego, że środowiska webowe częściej uruchamiane są na darmowych platformach Unix/Linux niż licencjonowanych Windows.

To nie jest akurat problem, bo większość softu powstaje dla korpo, a dla nich licencje na Windowsa to nie jest problem.

0
somekind napisał(a):
Krwawy Orzeł napisał(a):

Prawdopodobnie dlatego, że środowiska webowe częściej uruchamiane są na darmowych platformach Unix/Linux niż licencjonowanych Windows.

To nie jest akurat problem, bo większość softu powstaje dla korpo, a dla nich licencje na Windowsa to nie jest problem.

Tak, ale jak się zaczyna klepać drobne rzeczy to patrzy się na koszty. Potem przechodzisz do korpo, a przyzwyczajenia zostają.

0

Tak, ale jak się zaczyna klepać drobne rzeczy to patrzy się na koszty. Potem przechodzisz do korpo, a przyzwyczajenia zostają.

No to jest w takim razie argument na rzecz .NET - tu przynajmniej masz darmowe Visual Studio Express, a dla Javy? Smutny NetBeans i jeszcze smutniejszy Eclipse... Są jakieś korpo korzystające z tych smutków? Chyba raczej wszyscy poważni pracodawcy wybierają Ideę...

0
Krwawy Orzeł napisał(a):

Tak, ale jak się zaczyna klepać drobne rzeczy to patrzy się na koszty. Potem przechodzisz do korpo, a przyzwyczajenia zostają.

Ale na jakie koszty? Programista nie potrzebuje żadnych licencji na windowsowe serwery, żeby odpalać napisany przez siebie kod.

0

Netbeans przestal zamulac z ktoras wersja.

0

To co Java czy C#?

0

Jak chcesz front end i backend to ani C# ani Java.

Jak masz jakąś praktykę w C, C++ to C#.
Jak chcesz brać się za aplikacje desktopowe, to C#.
Jak wolisz Windows od UNIX (nie tyle Linux ale koropracyjny UNIX np Solaris itp) to C#.

Jak chcesz pracować w nudnej korporacji nad projektami utrzymywanymi latami to JavaEE.
Jak mobile, to iOS czy Android? A jak już Android, to i tak niekoniecznie Java. Google robi wszystko żeby się od Oracle Java odciąć.

Jak pytasz gdzie najwyższy próg na początek dla juniorów to oczywiście JavaEE ;)

Jak interesuje cię solidna kasa to JavaEE z całą resztą.

BTW, na ludzi ze znajomością Java w zakresie i na poziomie jaką dają uniwersytety nie ma wcale zapotrzebowania.
IMVHO Każdy inny wybór będzie lepszym wyborem.

0

To zalezy od tego kto jakie IDE lubi. ;)

A tak na powaznie to jedno i drugie to samo zlo ;)

0

Nie wiem jak C#, ale Java jest przyjemnym językiem i szybko się go uczy.
To oczywiście może zależeć od indywidualnych upodobań i sposobie rozumienia pewnych zagadnień.

Jak porównujesz C# do Javy to raczej będzie podobna prędkość i stopień trudności (mogę się mylić - w C# nie piszę).

Niektórym np. pewnie łatwiej się nauczyć takiej Scali czy innego funkcyjnego języka.

0
mariusz_s napisał(a):

Niektórym np. pewnie łatwiej się nauczyć takiej Scali czy innego funkcyjnego języka.

Watpie.

0
kodzę w javie :) napisał(a):

Jak chcesz front end i backend to ani C# ani Java.

Scala daje radę na frontendzie i backendzie, a Java jest niezłym wstępem do Scali.

Jak masz jakąś praktykę w C, C++ to C#.

C# ma tyle wspólnego z C i C++ co Java, czyli bardzo niewiele.

Jak chcesz brać się za aplikacje desktopowe, to C#.

Niech będzie, choć C# ma tutaj praktycznie te same wady co Java: powolny start aplikacji, podobna charakterystyka użycia pamięci (GC), nawet chyba nieco większe lagi spowodowane GC (jest tam jakikolwiek low-pause GC?).

Jak wolisz Windows od UNIX (nie tyle Linux ale koropracyjny UNIX np Solaris itp) to C#.

Jak chcesz pracować w nudnej korporacji nad projektami utrzymywanymi latami to JavaEE.
Jak mobile, to iOS czy Android? A jak już Android, to i tak niekoniecznie Java. Google robi wszystko żeby się od Oracle Java odciąć.

Mógłbyś rozwinąć? Nawet jeśli użyjesz czegoś takiego jak Kotlin, to to w zasadzie też jest Java.

Jak pytasz gdzie najwyższy próg na początek dla juniorów to oczywiście JavaEE ;)

Jak interesuje cię solidna kasa to JavaEE z całą resztą.

Polemizowałbym. Kiedyś robiłem w JavaEE, a teraz robię w zwykłej Javie. Teraz kasa jest dużo lepsza, a robota ciekawsza :P

BTW, na ludzi ze znajomością Java w zakresie i na poziomie jaką dają uniwersytety nie ma wcale zapotrzebowania.

Zależy jakie uniwersytety i jakich konkretnie ludzi. Między absolwentami są czasami różnice umiejętności i wiedzy na poziomie 10x. Niestety ci o poziomie 10x są natychmiast zgarniani z rynku jeszcze w trakcie studiów, często przez takie firmy jak Google czy Apple.

0

C#. Uczyłem się kiedyś Javy i swego czasu nienawidziłem C#. Jak przyszło do robienia pierwszego projektu w C# (przesiadka z Delphi), to hejtowałem dalej. A potem zacząłem uczyć się tego C# i okazało się, że to całkiem przyjemny język.

0

A jest sens uczyć się C# jeżeli wiem, że nigdy nie będę miał Windowsa?

1

C# jest microsoftu , a cokolwiek związanego z microsoftem to męką :)

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