Java vs .net

0

Cześć,

studiuje telekomunikacje, na początku uczyłem się c, teraz visual c++, w następnym roku mogę wybrać sobie przedmiot albo o javie albo o .net i c#,c++ jest ok, ale nie chcę się za bardzo na nim skupiać. Chcę sobie coś wybrać i się skupić na konkretnej platformie i na razie na konkretnym języku, bo po pierwsze kodowanie od roku co raz bardziej zaczyna mnie kręcić więc chcę to rozwijać, no a jedno z tej dwójki i tak mi się trafi to nie chcę dokonać złego wyboru i tracić czas, czy równolegle się uczyć czego innego. Przeczytałem sporo tematów na tym forum, nie raz też zapytałem o jakąś głupotę, więc już wiem, że jest tu dużo ekspertów od .net jak i Javy, powiem tylko tyle, że nie chce zaczynać jakiś wojen, tylko się dowiedzieć czegoś wartościowego, to tak w ramach wstępu :)

Od zawsze używam windowsa z linuxem miałem kontakt tylko na uczelni, nie jest to (chyba) zaleta dla .net bo równie dobrze mogę programować w javie na windzie, ale czy np. w ewentualnej pracy zawodowej jeśli bym poszedł w stronę javy to na jakim systemie to najczęściej się robi? Nauczyć się korzystać z linuxa to nie problem, ale zawsze lepiej się dowiedzieć wszystkiego wcześniej.

Przez jakiś czas chcę nauczyć się wszystkiego po trochu, na początku aplikacje okienkowe, ogólnie używam visual studio do c++ wiec pobawiłem się windows forms dla c# i nie powiem że mi się nie spodobało, no ale raczej nie mogę powiedzieć po takim doświadczeniu czy lepsza jest do tego któraś z bibliotek javy czy windows forms czy WPF czy jakieś inne cuda.Więc co jest lepsze do pisania aplikacji desktopowych(w czym to się robi łatwiej, w czym można stworzyć ciekawsze, bardziej złożone projekty)? Jakieś aplikacje mobilne chciałbym popróbować pisać, niby java i android, ale sam mam telefon z windows phonem i jest całkiem spoko ponadto wydaje mi się, że nokia będzie za jakiś czas albo już trochę jest w ofensywie? ale czy warto?To też dla mnie bardzo ważny temat.+ aplikacje webowe tworzenie stron www, wiem, że z jednej strony to asp.net a z drugiej Java EE? Chcę spróbować wszystkiego, ale nie na wszystkich platformach tylko na jednej więc stąd moje pytania gdzie to się robi "fajniej"?

Kolejne pytanie na razie mam wszystko darmowe (dream spark), ale to raczej celowy zabieg, że mi spodobało się to wszystko i, żebym potem musiał kupować, czy, rzeczywiście te wszystkie produkty microsoftu, visuale, licencje jeśli chcę się zacząć jakąś własną działalność itd są warte swojej ceny?

Nie wiem czy otwartość Javy to zaleta czy wada, masa frameworków bibliotek itd. czy to pomaga czy przeszkadza?czy to co tworzy microsoft jest na tyle świetnie i ok, że można polegać tylko na tym, czy nie ma momentu,że nie można się rozwijać bo cały czas się chodzi tylko po tej samej drodze?

C# VS Java ? jeśli .net to raczej tylko c# ale jak Java to tylko Java czy może coś innego? Z tego co czytałem to C# się rozwija, Java nie i ogólnie C# jest nowocześniejszy?

Z której technologii korzysta się w mniejszych firmach z której w tych największych? Jeśli jest taki podział to czy jest to spowodowane tym, że np microsoft jest dla małych firm po prostu za drogi?

Czy tendencja że więcej jest ofert pracy dla javowców niż netowców się utrzyma, co się teraz lepiej rozwija?

Co warto umieć przy jednej jaki i drugiej technologii, chodzi mi o jakieś języki poboczne itd.? W dalszym czasie chciałbym nie zaprzestawać tylko na jednym języku tylko uczyć się czegoś więcej

Jeśli ktoś to wszystko przeczytał i odpowie to będę bardzo wdzięczny, na pewno o czymś zapomniałem i bardzo bym prosił, żeby pisać o wszystkim co Wam na sercu leży w tym temacie, pozdrawiam i dziękuje za odpowiedzi :)

0

Nikt nie poda Ci konkretnego rozwiązania, a i na wszystkie twoje wątpliwości odpowiedzi da się znaleźć. Faktem jest, że C# wyprzedził Javę, ale z drugiej strony w "świecie Javy" więcej się dzieje jeśli chodzi o frameworki itp., a to one są ważniejsze niż sam język. Decyzję i tak podejmiesz trochę w ciemno, ale żadna z nich nie będzie zła - oba języki są bardzo popularne i jeśli będziesz dobry to nie będziesz miał problemów ze znalezieniem sensownej pracy.

4
  1. Podstawa to powinieneś się nauczyć Linuxa.
    Nie musisz używać na codzień, ale przynajmniej umieć postawić na nim jakiś serwer (SQL, php, JavaScript) i go zabezpieczyć.

Po co? Np. żeby nie wybierać języka ze względu na to że producent wspiera tylko jedynie słuszną platformę (do niedawna C#, Delphi).

  1. Nokia praktycznie przestała istnieć. Najnowsza Lumia nie ma nawet oznaczenia "Nokia". To o czym piszesz to telefon Microsoft (czyli pewnie C#).
    http://www.microsoft.com/pl-pl/mobile/produkty/lumia/

  2. Aplikacje mobilne prawdopodobnie w przyszłości będzie się robić głównie w wersji przenośnej (Cordova, PhoneGap).
    Nie jestem w tym specjalistą więc najlepiej gdyby ktoś się jeszcze o tym wypowiedział dokładniej. Z tego co wiem to powyższe narzędzia generują HTML + JavaScript + jakiś wrapper, ale mogę się mylić.

Aplikacje natywne (czyli Java/C#, dla jednego systemu operacyjnego) to będzie jakiś ułamek lub określona dziedzina - np. gry.

  1. Strony webowe najlepiej tworzyć w środowiskach otwartych (tańszy hosting, łatwiej dotrzeć do klienta).
    Oczywiście można je robić również na iSeries + PHP, ale to że da się tak zrobić nie znaczy że to jest ekonomiczne czy wygodne.
    W tej domenie C# i Java prawdopodobnie różnią się tylko dostępnością (np. cenową) rozwiązań wielo-hostowych (clustering, kolejki zadań, schedulery).

  2. Wg mnie (nie poparte badaniami) to bardziej Microsoft jest dla małych firm. Przez to że jest to środowisko dla jednej platformy nie masz wielu niepotrzebnych wodotrysków, wszystko jest wygodne i łatwiej się wyszkolić w tej technologii. W Javie masz n frameworków web, n serwerów aplikacyjnych, n frameworków do baz danych - kończy się na tym że przechodząc z firmy do firmy prawie na pewno nie znasz połowy technologii stosowanych w nowej.

U mnie w firmie (międzynarodowa korporacja finansowa) stosuje się głównie Javę.
Co nie znaczy że Microsoft jest tylko dla małych firm. Np. bank Millenium chodzi na C# (w jakiejś tam części).

  1. Obie platformy mają wiele języków dodatkowych, przy czym na JVM jest ich odrobinę więcej.

  2. Obie platformy się rozwijają. Po stronie JVM masz Javę 8, po stronie .NET otwarcie platformy.

  3. Wróżenie na temat ofert pracy pozostawiam wróżkom.

Wesołego jajka!

2

jak pójdziesz w stronę javy to będziesz mógł pić codziennie kawkę z starbucksa

0

Z tego co czytałem to C# się rozwija, Java nie i ogólnie C# jest nowocześniejszy?

Język Java też się rozwija, aczkolwiek wolniej.

Co warto umieć przy jednej jaki i drugiej technologii, chodzi mi o jakieś języki poboczne itd.? W dalszym czasie chciałbym nie zaprzestawać tylko na jednym języku tylko uczyć się czegoś więcej

Jest sobie język Scala. Bardzo polecam :] Lata sobie na JVMie (jest port na .NETa, ale chyba mocno niedopieszczony), dobrze współgra z kodem Javowym i ma masę szmerów-bajerów (C# się chowa przy Scali).

Z której technologii korzysta się w mniejszych firmach z której w tych największych? Jeśli jest taki podział to czy jest to spowodowane tym, że np microsoft jest dla małych firm po prostu za drogi?

Czy tendencja że więcej jest ofert pracy dla javowców niż netowców się utrzyma, co się teraz lepiej rozwija?

Myślę, że tendencja się utrzyma jeszcze długo. Java nie jest już tak toporna jak kiedyś, jest do niej masa frameworków i dodatków (jak Project Lombok, który do pewnego stopnia rozwiązuje sprawę akcesorów na którą tak uczuleni są C#-owcy). Z punktu widzenia biznesowego moim zdaniem .NET nie ma jakiejś znaczącej przewagi nad Javą, no chyba, że ktoś chce się integrować z produktami Microsoftu.

A Java lata sobie fajnie na Linuksie, OS Xie i innych wynalazkach, więc spokojnie można uczyć się jej hobbystycznie, bez przywiązywania się do jedynego słusznego systemu TM.
Nie spotkałem nikogo, kto by programował w .NETu na Linuksie czy OS Xie.

0

Warto znac i C# i Java na dobrym poziomie, nie jest to duzym problemem poniewaz technologie sa bardzo zblizone. Jako ze jestes uzytkownikiem windowsa, lepszym wyborem na poczatek bedzie C#. Przeczytaj jakis tutorial, potem po prostu zacznij tworzyc jakis maly projekt, wiedza stopniowo przyjdzie sama w miare jak bedziesz rozwiazywal napotkane problemy (zaprzyjaznij sie z google.com). Nastepnie proponuje poszukac jakiejs ksiazki dla srednio-zaawansowanych ktora uzupelni braki. Jesli jestes dobry w dowolnej, popularnej technologii to znajdzie sie ktos kto za to dobrze zaplaci.

2

projekty)? Jakieś aplikacje mobilne chciałbym popróbować pisać, niby java i android, ale sam mam telefon z windows phonem i jest całkiem spoko ponadto wydaje mi się, że nokia będzie za jakiś czas albo już trochę jest w ofensywie? ale czy warto?

Już nie Nokia, a Microsoft. Jest w ofensywie, ale średnio im to wychodzi jak na razie. Ale co będzie w przyszłości naprawdę ciężko powiedzieć. Microsoft mocno idzie w Azure teraz, a jeszcze kilka lat temu tego wcale nie było.

Kolejne pytanie na razie mam wszystko darmowe (dream spark), ale to raczej celowy zabieg, że mi spodobało się to wszystko i, żebym potem musiał kupować, czy, rzeczywiście te wszystkie produkty microsoftu, visuale, licencje jeśli chcę się zacząć jakąś własną działalność itd są warte swojej ceny?

Jeżeli zakładasz własną firmę, to dostajesz znów sporo rzeczy od Microsoftu za darmo (na 3 lata - BizSpark). A potem to masz Visual Studio Express (darmowe) i Community (darmowe z ograniczeniami do 5 pracowników i miliona dolarów zysku - identyczne z wersją Professional). Narzędzia programistyczne dla Windows/Windows Phone też są darmowe, jedyny koszt to kupno Windows.

Ogólnie - zarówno Java, jak i C# zapewnią ci pracę, ale C# jest lepszy ;-)

2
dominik123 napisał(a):

czy to co tworzy microsoft jest na tyle świetnie i ok, że można polegać tylko na tym, czy nie ma momentu,że nie można się rozwijać bo cały czas się chodzi tylko po tej samej drodze?

Dla .NET też jest masa frameworków, bibliotek i technologii, na dodatek wszystko się ciągle rozwija i zmienia. .NET to nie tylko to, co produkuje Microsoft.

Z której technologii korzysta się w mniejszych firmach z której w tych największych? Jeśli jest taki podział to czy jest to spowodowane tym, że np microsoft jest dla małych firm po prostu za drogi?

Duże firmy mają wiele systemów, jedne kupione, inne pisane na zamówienie, wszystkie w jakiś sposób ze sobą zintegrowane. Nigdzie nie ma tak, że firma ma wszystko napisane w jednej technologii.

vpiotr napisał(a):

W Javie masz n frameworków web, n serwerów aplikacyjnych, n frameworków do baz danych - kończy się na tym że przechodząc z firmy do firmy prawie na pewno nie znasz połowy technologii stosowanych w nowej.

No, a w .NET, to w każdej firmie to samo niby?

0

Temat trochę historyczny ale realia w 2019 przedstawiają się nieco inaczej. U mnie w dużym brytyjskim korpo projektów .net jest jak na lekarstwo. Jakaś marka funkcjonuje w oparciu o SiteCore ale niebawem odbędzie się migracja do jakiegś enterprisowego cms-a. Niektóre projekty powędrują do Azure z racji integracji z Activedirectory, MS SQL Server. Wsparcie dla javy na Azure jest coraz bardziej sensowne i pewnie legacy projekty będą stopniowo migrowane.

0
mealtdown napisał(a):

Temat trochę historyczny ale realia w 2019 przedstawiają się nieco inaczej. U mnie w dużym brytyjskim korpo projektów .net jest jak na lekarstwo. Jakaś marka funkcjonuje w oparciu o SiteCore ale niebawem odbędzie się migracja do jakiegś enterprisowego cms-a. Niektóre projekty powędrują do Azure z racji integracji z Activedirectory, MS SQL Server. Wsparcie dla javy na Azure jest coraz bardziej sensowne i pewnie legacy projekty będą stopniowo migrowane.

Przecież właśnie w uk jest masa ofert w .net. Piszesz tylko o swojej firmie czy ogólnie widzisz takie tendencje tworzenia/migracji projektów na rynku uk w kierunku java?

0

Javy nie znam kompletnie, jakieś programiki na studiach kiedyś pisałem. Z .Net mam przetarcie zarówno z webowymi aplikacjami jak i desktop.

Aktualnie pracuje nad rozbudową jednej z aplikacji corowych banku ale po 6 latach już trochę mam dość .neta. :)

Pewnie zmęczenie materiałem. Albo po prostu nowa miłość do Pythona. 😁

Ale wracając do tematu, myśle, że warto zaznajomić się z jednym i drugim językiem, bo mają trochę wspólnego.

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