Jako ze sa tematy o c++ i c#, co przyciagnelo was w javie, ze zostaliscie na dluzej?
Moim pierwszym językiem był C++, później C, a następnie Java. (troszkę PHP)
Lubię Javę ponieważ:
- Jest otwarta (OpenJDK). Działa na wszystkich systemach.
- Znajduje zastosowanie w backendzie, webie, mobilkach, a nawet na desktop jak ktoś lubi JavaFX.
- Była wraz ze Smalltalk i C++, głównym językiem gdzie miał miejsce rozwój inżynierii oprogramowania.
- Posiada super biblioteki, które były przenoszone do innych języków Spring - Symphony, JodaTime, HIbernate - Doctrine
- Wciąż utrzymuje się na czele nowoczesnych języków. RxJava, Nonblocking, Functional (Vavr)
- Wspaniały ekosystem narzędzi. IDE, Maven, profilery, liczenie pokrycia - to tutaj działa.
- Stanowi świetną platformę dla innych języków - Kotlin, Scala. Można używać w nich wiedzę na temat Javy, wielowątkowości, IO itp.
- Jest prosta co pozwala skupić się na wartości biznesowej. Niebo, a ziemia w porównaniu np. z C++.
- Jest szybka (może poza czasem startowania, ale JDK9 i Jigsaw to zmieni). Optymalizacja alokacji pamięci, JIT robią robotę.
EDIT1: Tak zachwaliłem, że teraz wszyscy się rzucą na Javę i zepsują rynek. Skończy się 15k #pdk :)
EDIT2: Żeby nie było tak słodko to wadą Javy są sztuczki i kruczki w niektórych miejscach (Effective Java must read). Java EE, mutowalność wielu API i wszędobylskie nulle. :)
Bo mnie C# nie chciał.
Ja nie stworzyłem żadnego projektu w Javie, liznąłem ją tylko na studiach, ale poleciłbym ją (tutaj powtórzę w kilku pkt'ach kolegę z 1-wszej odpowiedzi), bo:
- Najwyższe zarobki
- powszechność języka (desktopy, webówka, mobile)
- technologia z tradycją - dziesiątki lat istnienia, milion książek i tutoriali
Tak bym zrobił. Czy się kiedyś przebranżowię? Zobaczymy ;)
Javę miałem na studiach, ale przede wszystkim była używana w pierwszej mojej poważnej pracy (czyt. nie stażu, nie praktyce itp.). I tak już została ze mną od 2004 roku.
Java, ogólnie JVM, jest po prostu fajna i przyjemnie się pisze.
Znaczna część krytyki Javy pochodzi od tych, którzy dłużej jej inne używali lub używali wiele lat temu.
Zastanawiałem się nad PHP i Javą. Zawsze odrzucało mnie od technologii Microsoft.
Skoro odrzuca Cię od Ms to nie idź w tym kierunku. Kodowanie powinno przynosić radość, a nie doprowadzić do przedwczesnego wypalenia się zawodowego.
Java jest dobra dla młodych studenciaków, korporacje nie chcą zatrudniać ludzi starszych, lub tych po przebranżowieniu.
Bo Android. Ostatnio poszerzyłem horyzonty o JavaScript, PHP i Objective-C. Jednak za każdym razem jak idzie mi coś napisać w Javie to czuje się jakbym wracał na stare śmieci, wygodnie i przytulnie
Matthi napisał(a):
za każdym razem jak idzie mi coś napisać w Javie to czuje się jakbym wracał na stare śmieci
Myślę, że to idealne podsumowanie tego wątku. :-)
Matthi napisał(a):
Jednak za każdym razem jak idzie mi coś napisać w Javie to czuje się jakbym wracał na stare śmieci
Bo nie załączyłeś Garbage Collectora! (✌ ゚ ∀ ゚)☞
-
Jak poznałem C/C++ stwierdziłem że Pascal to zło.
-
pojawił się C# i wydawał się fajny. Już nie mówiąc o kosmicznej różnicy w używaniu Visual i Borlanda :)
-
Bo przez update C# (bodajze z 1.0 do 1.1) miałem problemy z zaliczeniem. To byly czasy ze nie mialo sie w domu internetu, a laptopy byly poza zasiegiem finansowym. Zrobilem program na zaliczenie na 1.0 a okazalo sie ze na uczelni przeszli na nowsza wersje i byly niekompatybilne.
-
Drugie podejscie do C# - zainwestowalem sporo czasu w XNA ktore Microsoft ubił (IMHO to i tak najprzyjemniejsza technoilogia gamedevova z jaka mialem do czynienia).
-
w pierwszej pracy stwierdzilem ze PHP nie jest tym co tygryski lubia najbardziej
-
na praktykach miałem robić przetwarzanie olbrzymich XML Linux/Windows. W C++ wiedziałem że będzie z tym meczarnia. A akurat w biurze leżała książka Java Core Horstmana gdzie było to opisane, do tego Java działała na obydwu OS (chociaz wtedy to i tak nie było 1:1, poczatkowo program chodzil na Windowsie a na Linuxie sie wywalal). Wtedy jakos sie ta Java przyczepiła.
- Nie jest już przestarzały językiem.
2)Podoba mi się składnia
3)Nie lubie Microsoftu
4)Dużo bibliotek
5)Duża społeczność
6)Dużo języków na JVM
7)Jest obsługiwana przez wiele platform
Plusy Javy w stosunku do C++, C# i reszty języków:
- liczba ofert pracy
- profile pracodawców (enterprise)
- stawki
- przenośność między systemami PC (mogę pisać na Linuksie, działa na Windowsie i Macu)
- Czytelność składni i prostotę języka. Początkowo C# dla mnie zaminusował atrybutami teraz widzę że to praktycznie to samo co adnotacje - tylko w Javie bardziej czytelnie. W porównaniu z C++ to nie ma o czym mówić (java jest kilkukrotnie mniejsza składniowo).
- liczba darmowych narzędzi - można praktycznie cały soft złożyć za darmo (serwer aplikacji, IDE, kompilator, profiler, budowniczy, repozytorium etc.)
- duża popularność w środowiskach naukowych. Szukając opisów algorytmów szybciej znajdziesz kod w Javie niż w C#. Mimo że i tak na końcu zakodujesz to w C++ :)
- wbudowane wsparcie dla GUI (Swing, JavaFx) - w C++ trzeba się posiłkować dodatkowymi narzędziami jak Qt, wxWidgets, C++Builder, w C# oczywiście też masz to od razu - nawet ładniejsze - ale poza Windows chyba ograniczone(?)
- wsparcie na n typów maszyn, w tym AS/400, OS/390, PC, Mac, Android, Raspberry Pi itp
- wsparcie dla samoprogramowania (http://asm.ow2.org/)
Java to przemyślany język i mimo że ma podobnie jak C++ ciągłe wparcie dla kompatybilności wstecznej to jest od niego bardziej czytelna (pomijając niechlubne @SupressWarnings("unchecked")).
- wsparcie na n typów maszyn, w tym AS/400, OS/390, PC, Mac, Android, Raspberry Pi itp
No właśnie, na przykład planuje w przyszłości napisac REST API i zrobić klienta w Androidzie. Dzięki temu że ogarniam Jave nie muszę się nauczyć nowego języka. A teraz w Springu piszę się naprawdę szybko. No w sumie właśnie dochodzi zapomniany plus ->
Dzięki Springowi myślę że Java już nie wymaga takiej długości pisania kodu, Spring Data jest po prostu zajefajny :)
Ja wybrałem jave, bo @karolinaa lubi jave, a ja lubię @karolinaa'e proste.
vpiotr napisał(a):
- profile pracodawców (enterprise)
To jest właśnie klątwa, znalezienie sensownej pracy graniczy z cudem.
Ja wybrałem Javę, bo byłem nastawiony na back end (obliczenia, integrację, przetwarzanie danych), a od front endów trzymać się chciałem jak najdalej.
Java oferowała obiektowość, wieloplatformowość oraz pozbycie się wskaźników :)
Kiedyś byłem na konferencji m$ jak prezentowali nad Wisła pierwsze wersję .net i podniecali się xml'em i kompilacją do bytecodu (CILa czy czegoś tam) ;-) W Javie takie wynalazki były i nikt nie wpadał w euforię z tego powodu. M$ prezentował bardziej marketingowe podejście, a Java "inżynierskie" i to mnie utwierdziło w wyborze.
Bo miliony monet.