Czy Java będzie nadal aktualna za 5 lat? [Zamknięte]


41

Czy Java będzie miała takie samo znaczenie jak kiedyś, czy będzie mniej istotna niż obecnie?


4
Java zawsze pozostanie aktualna w branży programistycznej. Jak sugerujesz, abyśmy napisali coś bez tego ?! ;)
deceze

7
Język czy platforma?
MIA

@Jim: świetny punkt, oddzielenie przyszłości języka Java i JVM.
azheglov


1
Nie pytamy już o „spojrzenie w przyszłość i przewidywanie, co się stanie”.
Adam Lear

Odpowiedzi:


30

Java jest istotna i pozostanie istotna przez wiele lat w świecie komputerów dla przedsiębiorstw.

To, czy nadal będzie to istotne w innych obszarach, zależy w dużej mierze od tego, co robi Oracle. Jeśli wstrzykną trochę życia (i zasobów) do ME, aplikacji komputerowych i innych obszarów, i jeśli będą kontynuować ewolucję języka Java, Java będzie dobrze.

Ale jeśli Oracle ograniczy prace badawczo-rozwojowe i / lub spróbuje steptować innych graczy w przestrzeni Java, istnieje duża szansa, że ​​ktoś / jakaś firma opracuje lepszy (i bardziej otwarty) język podobny do Java. Jeśli Oracle wygra proces przeciwko Google, przewiduję, że nowa generacja platformy Android będzie miała nowy język, tak jak stało się to w C #. Jeśli Google uzyska odpowiednią otwartość ... to gra jest włączona!


1
Zgodzić się. Sama Oracle zainwestowała zbyt dużo stosu aplikacji korporacyjnych w Javę, aby pozwolić na jej odrzucenie. Ciekawe, że wiele innych odpowiedzi wydaje się koncentrować na platformie mobilnej.
Gary

10
IBM obsługuje Javę na wszystkich głównych platformach. Oznacza to, że nawet jeśli Java zniknie z powierzchni Ziemi, nadal będzie działała na komputerach mainframe (takich jak COBOL). Podstawową zaletą dla programistów jest możliwość lokalnego rozwoju, a rygor JVM oznacza, że ​​będzie on działał w przewidywalny sposób.

+1 szczególnie dla I predict that the next generation of the Android platform will have a new language, just like happened with C#.Nie zapominaj, że Gosling działa teraz dla Google; nighthacks.com/roller/jag/entry/next_step_on_the_road
Qwerky

@Qwerky Obecnie pracuje dla Liquid Robotics. nighthacks.com/roller/jag/entry/i_ve_moved_again

Nie zapominajmy, co Borland zrobił Delphi. Został tak opuszczony, że większość ludzi myśli dziś o Delphi jako wymierającym rozwiązaniu biznesowym. Ale Embarcadero uratował produkt i teraz jest otwarty dla Java, Mac, HTML5, Androida i innych obszarów programowania.
Please_Dont_Bully_Me_SO_Lords

47

Tak, Java z pewnością będzie nadal istotna i prawdopodobnie utrzyma swoją pozycję jako pierwsza platforma do tworzenia oprogramowania przez długi czas.

Po pierwsze, powody, dla których Java jest i nadal będzie dobrym wyborem:

  • Java jest nadal najpopularniejszym językiem - a to oznacza, że ​​ma najwięcej programistów, najbardziej ciągły rozwój, największą zainstalowaną bazę itp. Nie widać żadnych oznak gwałtownego spadku - jeśli spojrzysz na przykład na trend TIOBE, możesz z łatwością nadal nim być Nr 1 na następne 10-15 lat

  • Mimo swoich wad Java wciąż jest doskonałym językiem do tworzenia aplikacji dla przedsiębiorstw . Fakt, że jest pełny i ma tendencję do promowania dość standardowego stylu programowania OOP, jest dobrą rzeczą, gdy aplikacje muszą być utrzymywane przez wielu różnych programistów przez wiele lat w dość ustandaryzowany sposób. Inteligentni dyrektorzy IT zdają sobie z tego sprawę, dlatego wkrótce nie zobaczysz znikania Java w przedsiębiorstwie. BTW i wyraźnym celem Javy podczas jej tworzenia było to, że powinna być „prosta, obiektowa i znajoma”.

  • Sukces języków to nie tylko sam język, ale także ekosytem bibliotek dostępnych dla tego języka. Pod tym względem Java nie ma sobie równych, z ogromną gamą bibliotek open source i komercyjnych.

  • Wydajność - JIT skompilowany kod na nowoczesnych JVMs biegnie bardzo blisko do natywnego kodu zoptymalizowanego pod względem szybkości. W praktyce oznacza to, że Java jest zwykle jedną z najszybszych dostępnych kombinacji języka / implementacji (zobacz wadliwe testy porównawcze, jeśli chcesz). Każdy, kto uważa, że ​​Java jest powolny (lub, na miłość boską, „zinterpretowany”), musi zaktualizować swoje fakty z ubiegłego wieku.

  • Duże wsparcie korporacyjne - Java jest strategiczną platformą obsługiwaną przez wiele największych i najważniejszych firm i organizacji technologicznych na świecie - mówimy o Google, Oracle, IBM, Apache Software Federation itp. Java ma również znaczne wsparcie ze strony głównych użytkowników technologii - banki, firmy medialne itp. Żaden inny język / platforma nie ma tak szerokiego wsparcia branży (nawet jeśli gracze mają sporadyczne tiffy :-))

  • Android - znacznie poprawia Javę w przestrzeni mobilnej. Wiele startupów celuje w to i nie jest nierozsądne oczekiwać, że startupy mobilne również będą miały dobry powód, aby wybrać Javę również po stronie serwera.

  • Przenośność : Java jest najbliższą rzeczywistemu wieloplatformowemu środowisku programistycznemu. Znajduje się na wszystkim, od serwerów wysokiej klasy po smartfony, a skompilowany czysty kod Java będzie działał bez zmian na wszystkich tych platformach. Bardzo niewiele języków może to powiedzieć z takim samym stopniem wiarygodności. Również jako język kodu bajtowego Java ma nieodłączną przewagę w przestrzeni bibliotek, ponieważ skompilowane biblioteki są z natury przenośne na różne platformy.

  • Doskonałe narzędzia - większość z nich jest bezpłatna i / lub open source. Netbeans i Eclipse są świetnymi przykładami w przestrzeni IDE. Programiści potrzebują dobrych narzędzi, aby być w pełni produktywnym, dlatego jest to ważny czynnik przy wyborze języka / platformy.

  • Java to Open Source - nie będę się zastanawiać, dlaczego jest to dobra rzecz, ale wystarczy powiedzieć, że zarówno a) podstawowa implementacja Java w OpenJDK oraz b) większość interesujących bibliotek i narzędzi Java jest open source.

  • Java to nie tylko język, to platforma : w JVM jest wiele obiecujących języków, takich jak Clojure i Scala, które reprezentują przyszłość platformy na froncie językowym. Przewiduję, że język Java będzie nadal otrzymywać drobne ulepszenia funkcji (JDK 7, 8 itd.), Podczas gdy te nowe języki JVM będą miejscem, w którym nastąpi najnowsza innowacja. Ale to wszystko jest częścią platformy Java.

Po drugie, w jaki sposób Java zostanie zastąpiona? Spójrzmy na alternatywnych konkurentów:

  • C / C ++ - nadal będzie ważny w zakresie programowania systemów i wysoce zoptymalizowanych wymagań natywnego kodu, takich jak gry. Ale nadal będzie to specjalistyczna nisza i nigdy nie zabierze ich poza Javę, która jest bardziej odpowiednia do tworzenia aplikacji ogólnego przeznaczenia.
  • Microsoft.NET - C # to na pewno fajny język (ulepszony / dopracowany klon Java, w istocie), ale cała platforma .NET reprezentuje blokadę dostawcy w stosie oprogramowania Microsoft. Wiele osób nigdy nie przyjmie strategii specyficznej dla dostawcy, która została w przeszłości przez to spalona. Mono, mimo że jest ładnym projektem typu open source, nigdy nie będzie w pełni kompatybilny, więc większość firm nie postawi na to jako opcję. .NET / C # nadal będzie bardzo ważny w przestrzeni systemu Windows, ale nie będzie w stanie całkowicie usunąć Java.
  • Cel C - bez wątpienia będzie nadal zajmował główną niszę w rozwoju specyficznym dla Apple, ale prawdopodobnie nie będzie miał dużej przyczepności poza tą przestrzenią. Poza tym Java ma bardzo ciekawą kontr-historię w mobilnej przestrzeni dzięki Androidowi
  • Python, Ruby - znów fajne języki, bardzo produktywne w swoich niszach. Ale nigdzie w pobliżu JVM pod względem wydajności, akceptacji w branży lub zakresu bibliotek. Z pewnością odniesie sukces, ale nie kształtują się jako zabójcy Javy.
  • JavaScript - nadal będzie odgrywać ważną rolę w tworzeniu stron internetowych po stronie klienta. Ale nie ma prawdziwej siły poza tą przestrzenią, która może wkrótce zagrozić Javie.
  • Haskell, OCaml (i różne inne języki akademickie / FP) - świetne języki, ale nigdzie w pobliżu biblioteki nie ma obsługi Java, więc nie jest to szczególnie praktyczne do użytku w świecie rzeczywistym. Ponadto nie oferują żadnych istotnych zalet w stosunku do języków JVM, takich jak Clojure lub Scala (które mogą bezboleśnie korzystać z bibliotek Java)
  • Clojure lub Scala - naprawdę naprawdę przekonujące w średnim / długim okresie. Może faktycznie zastąpi Javę za 10-15 lat, ale oba tak naprawdę liczą się jako część platformy Java, ponieważ są to języki JVM. Inwestycje Java będą więc bezpieczne.
  • Tajemniczy nieznany nowy język? - może się zdarzyć, ale historia pokazała, że ​​bez względu na to, jak ważny jest język, rozwój trakcji zajmuje dużo czasu, programiści uczą się nowych umiejętności, mają miejsce znaczne inwestycje firm itp.

Na koniec kilka wniosków / prognoz:

  • Ogólne względne pozycje (pod względem udziału w rynku) głównych języków będą ewoluować nieco w ciągu najbliższych kilku lat, ale niewiele się zmienią. Java pozostanie nr 1.

  • Wybierając platformę Java, nie pomylisz się przez następne 10-15 lat. Nie martw się, że Java wkrótce zniknie.

  • W najbliższym czasie język Java jest bezpiecznym i niezawodnym zakładem. W dłuższej perspektywie lub jeśli czujesz, że musisz być w czołówce innowacji / projektowania języków, polecam Clojure lub Scala jako nowe języki JVM

  • Ludzie będą nadal rozpowszechniać FUD o Javie. Po prostu to zignoruj.


2
Świetny post, ludzie używający języków takich jak Ruby i Python uważają, że ich język jest najlepszą rzeczą w historii, ale w rzeczywistości dla aplikacji intensywnych na dużą skalę dynamiczny język go nie przerwie
programmx10

4
Nie jest to najwcześniejsza odpowiedź, ale zdecydowanie najbardziej szczegółowa i przekonująca od połowy 2011 r., A zatem zasługuje na najlepszą odpowiedź. +1
limist

@ programmx10: Czy w dynamicznych językach jest większy narzut niż w frameworkach Java takich jak Spring?
kevin cline

@Kevin: Spring jest zwykle używany do konfiguracji aplikacji, więc koszt nie jest straszny. OTOH, gdyby był używany również do obliczeń i obsługi IO, byłby mniej więcej w tempie dynamicznych języków. Kluczem jest to, że aplikacje oparte na wiośnie są naprawdę częściowo skrypty - co w rzeczywistości jest świetnym miejscem - ale nie mówimy szefom, że lubią wierzyć, że absolutnie wszystko musi zostać skompilowane.
Donal Fellows

1
Dobry post Gdzie widzisz Go, a może Dart w tym spektrum?
Paul Tomblin

17

Nawet w najgorszym (najlepszym?) Przypadku nie wyobrażam sobie, że Java stanie się nieistotna w ciągu 5 lat. Java została użyta na tyle, że w przybliżeniu jest w takiej samej sytuacji jak COBOL, Fortran itp. - nawet jeśli wszyscy z istniejącym kodem postanowili przepisać wszystkie istniejące systemy w innym języku tak szybko, jak to rozsądne, zajęłoby to ponad 5 lat wymień to wszystko (a za 5 lat nadal będzie wystarczająco dużo w aktywnym użyciu, aby nadal odbywać się spora konserwacja).

Realistycznie rzecz biorąc, jest to mało prawdopodobne - chociaż na pewno istnieją różne opinie Oracle, nie wyobrażam sobie, aby robiły coś tak ewidentnie okropnego, że wszyscy główni gracze, którzy zainwestowali ogromne pieniądze w Javę, szybko to porzucili. Szczerze mówiąc, prawdopodobnie zajęłoby to prawie 5 lat oczywistych złych decyzji, zanim IBM (na przykład) nawet rozważyłby pracę nad użyciem czegoś innego w miejsce Javy. Mają na tyle dużą inwestycję w Javę, że raczej nie upuszczą jej, dopóki nie uwierzą, że nie mają praktycznie żadnej alternatywy.


+1 za połączenie z COBOL. Niektórzy twierdzą, że ponieważ Java działa jako nowoczesny język COBOL, Oracle ma taką możliwość.
Macneil

17

Powiedziałbym, że spada. Nie zniknął, ale przekroczył swój szczyt.


13
Źródło? (15 znaków)
TheLQ

13
@Kop - „jest to strona wymiany stosów dla subiektywnych opinii” . Ma to na celu zniekształcenie celu tej strony. Subiektywne opinie są w porządku, ale obiektywne fakty są zdecydowanie bardziej wartościowe. Uzasadnione jest kwestionowanie każdego subiektywnego oświadczenia w celu uzyskania możliwych obiektywnych dowodów potwierdzających.
Stephen C,

12
@Lorenzo W ciągu ostatniej dekady Java była tak popularna, jak to tylko możliwe i prawdopodobnie najczęściej używany język programowania w przemyśle i edukacji. Zgadzam się z Fishtoasterem, że obecnie spada, głównie z powodu braku kierunku i postępu w Javie 7 oraz odrzucenia przez programistów ciężkich rozwiązań JavaEE na rzecz lżejszych alternatyw w innych językach.
Dan Dyer,

17
Nie wiem, czy zgadzam się z tą zwięzłą odpowiedzią, ale 15 pozytywnych opinii po prostu pokazuje, że muszę przestać spędzać czas w tym zoo. Ta odpowiedź nie ma uzasadnienia i nic nie przytacza. Jakie jest „źródło”? prawdopodobnie miał na myśli. Nie mam nic przeciwko opiniom, ale „Java dead!” lub „Java żyje i ma się dobrze!” są dla mnie całkowicie nie do przyjęcia. +0.
Dan Rosenstark

5
-1: żadnych faktów ani argumentów w tej odpowiedzi. subiektywne! = losowe nieobsługiwane twierdzenia
mikera

17

Dwie odpowiedzi:

1) Android

2) Jeżyna

Poważnie jednak na pulpicie może się pogarszać, ale zasila dwóch konkurentów iPhone'em.

Ponadto w zeszłym roku pomogłem grupie uczniów w odrabianiu prac domowych z języka Java w szkole. Chodzi o to, że java jest nadal nauczana na uczelniach.

Edytować:

W październiku 2011 roku BlackBerry wydaje się podupadać. Android wciąż ma się dobrze.


Whatberry? Czy oni wciąż jadą? Są w 2000 roku tym, czym Palm był w latach 90. ... :)
czosnek Adolfa

@ czosnek Adolfa - co z tego, że nie są jeszcze sprzedawane HP;) W każdym razie są dwie odpowiedzi. Android jest w 2010 roku tym, czym iPhone jest w latach 90. Android nie jest jeszcze w fazie zanikania.
Mosze

8
To nigdy nie było tak istotne na pulpicie. Najważniejsze elementy rozwoju Javy znajdują się na wewnętrznym rynku OLTP.
luis.espinal

@ Luis.espinal - Grupowałem serwery, komputer w jednej grupie, telefon w drugiej.
Moshe


14

Tracił na znaczeniu na rynku mobilnym, ale dzięki systemowi Android ponownie go odzyskał.


1
Efekt Androida może być krótkotrwały, jeśli sl4a zostanie ukończony. Ostatecznym celem sl4a jest umożliwienie ludziom pisania aplikacji na Androida w dowolnym języku programowania. Ponadto wieloplatformowe zestawy narzędzi, takie jak Appcellerator, sprawiają, że co najmniej częściowo nie ma potrzeby uczenia się programowania Java dla Androida.
Chinmay Kanchi,

3
Ze względu na problemy z wydajnością sl4a zajmie dużo czasu na ogólny rozwój. Nadal nie jestem sprzedawany na wieloplatformowych zestawach narzędzi do aplikacji wysokiej jakości. Na coś szybkiego / ograniczonego, z pewnością
Casebash

co dotyczy wydajności? Wersja Python jest natywnym CPython, a wszystkie interfejsy API są wywoływane przez most Dalvik (IIRC). Powinien więc być niemal tak samo wydajny jak „natywny” kod Dalvik, przy braku JIT. Android 2.2 ma JIT, ale w tym momencie nie ma powodu, aby nie używać Jython, ponieważ byłby szybszy niż CPython i nie znacznie wolniejszy niż Java.
Chinmay Kanchi,

+1 za inspirowanie komentarza @Chinmay Kanchi. Nie wiedziałem, że athat sl4a jest tak interesujący.
Dan Rosenstark

13

Java będzie istotna w dającej się przewidzieć przyszłości, nawet jeśli zdefiniujesz, że ma zawierać tylko nowy kod, a nie starszy tryb konserwacji. Tak, język jest do bani i traktuje swoich programistów jak niegrzeczne dzieci zamiast wyrażania zgody na dorosłych i nie miał liftingu od epoki kamienia łupanego. Z drugiej strony:

  1. Java ma niesamowite biblioteki.

  2. JVM to niesamowita platforma.

  3. Nie musisz programować w Javie, aby korzystać z tych bibliotek, teraz, gdy pojawiło się wiele języków JVM.

IMHO będzie ewoluować w taki sposób, że Java w świecie JVM stanie się tym, czym C jest w świecie skompilowanym natywnie. Ludzie będą używać Scali, Jython, Groovy itp. W codziennym kodowaniu, ale będą wiecznie nazywać stary, chrupiący kod Java z tych języków. Niektóre kody o kluczowym znaczeniu dla wydajności mogą być nadal pisane w Javie, ponieważ jest to prawdopodobnie najskuteczniejszy język JVM najniższego poziomu. Stare biblioteki będą wymagały dodania nowych funkcji. Dlatego Java pozostanie bardzo istotna, nawet jeśli nie jest używana przez przeciętnego programistę z dnia na dzień.


sprawia, że ​​czuję się stary, kiedy mówisz, że java stanie się językiem ojczystym. westchnienie
Dheeraj Bhaskar

7

Chyba tak. Przewiduję, że jego popularność wzrośnie w ciągu najbliższych kilku lat, wraz z ostatnimi ulepszeniami wtyczki i ulepszeniami składniowymi w Javie 7. I ma tę zaletę, że ma ogromną gamę dobrych bibliotek typu open source (w porównaniu do .NET), który z łatwością utrzyma go przy życiu przez kolejne 10 lat.


4
Java 7 odrzuciła wiele najlepszych pomysłów
Casebash

1
@Casebash: Jakie to były?
Chris

5

Obecnie Qt zabija Javę w aplikacjach komputerowych. Istnieje wiele przepisań z Java na Qt. Obecnie pracuję nad jednym z nich. Od dnia, w którym rozpocząłem programowanie, zawsze krążą plotki, że Coś zabije C ++. Dla np. Visual Basic, Java, C #, ale w rzeczywistości C ++ wciąż działa. Ma wiele wad, ale wciąż trwa. Wszyscy pozostali zawodnicy mieli smutną śmierć .........


4

Nie sądzę, żeby to straciło znaczenie. Java 7 właśnie wychodzi z wieloma ciekawymi funkcjami, które pomogą programistom w tworzeniu łatwiejszego oprogramowania.

Również Java jest używana do tworzenia aplikacji Blackberry; jeden z wiodących korporacyjnych telefonów komórkowych. Można śmiało powiedzieć, że nigdzie się nie wybierze.



W tym roku poszedłem na Java One. Niektóre fajne rzeczy, które nadchodzą: obsługa automatycznego użycia wielu rdzeni, automatyczne odciążanie procesora graficznego i automatyczne odciążanie jednostki wektorowej procesora sprawi, że Java będzie bardzo wydajną platformą. I wszyscy programiści Java piszący „nową” idiomatyczną javę otrzymają ją za darmo. Jest kilku przerażająco inteligentnych facetów, którym Oracle dostało pieniądze na ulepszenie Javy. Project Lambda dostarczy zamknięcia, robiąc to w sposób, który działa ORAZ jest całkowicie wstecznie kompatybilny bez żadnego bólu. Skały konwersji SAM. Nadchodzą dobre rzeczy.
Tim Williscroft

4

Jestem głównym programistą .NET, chociaż w razie potrzeby korzystam z innych języków (w tym Java), aby wykonać zadanie. W związku z tym, w oparciu o moje własne doświadczenie w pracy z językiem, nie sądzę, że wkrótce zniknie, oto dlaczego:

  1. Obecna baza instalacyjna - Istnieje wystarczająco dużo programów, które będą wymagać długoterminowego wsparcia, dlatego istnieje powód, dla którego nowi programiści uczą się języka.
  2. Wykorzystanie w środowisku akademickim - większość szkół wyższych i uniwersytetów używa jako jednego ze swoich języków wprowadzających do nauczania OOP i innych podstawowych pojęć, co oznacza, że ​​nadal będą pojawiać się nowi programiści, którzy ukończą studia i wejdą na rynek pracy, który będzie znał język, kiedy zaczynać.
  3. To natura wieloplatformowa - oczywista, ale fakt, że jest ona wieloplatformowa, to wielka sprawa, tym bardziej, że smartfony obsługują Javę na nowych urządzeniach. Perspektywa konieczności utrzymania tylko jednej bazy kodu, ale możliwość wdrażania (tj. Sprzedawania) aplikacji na wiele platform będzie nieco trudna. Czy potrafisz sobie wyobrazić, czy iOS i Droid obsługują aplikacje napisane w Javie?
  4. Brak silnego konkurenta - w tej chwili nie mogę wymienić języka, który uważam za silnego konkurenta dla Javy. Jasne, że C # zaczyna pojawiać się na większej liczbie platform dzięki Mono, ale to nie to samo, co posiadanie tej samej platformy, co Java. To prawda, że ​​istnieje wiele języków, które robią to, co robi Java (a czasem lepiej), zazwyczaj są one dostosowane do tego, co robią, a w przypadku dużych projektów nie ma sensu utrzymywać mnóstwa języków, jeśli może zaakceptować każdy spadek wydajności, jaki może mieć Java.

4

Java język może być w powolnym spadku, ale Java platforma (JVM + JDK) z pewnością był boom w ciągu ostatnich kilku lat (Scala, Clojure i wielu innych językach; ramowej Android). Jest to z pewnością najlepsza (tylko możliwa?) Wielo-architektura, wiele systemów operacyjnych, wielojęzyczna platforma, skalująca się z wbudowanych urządzeń mobilnych do komputerów mainframe, a obecnie nie ma porównywalnych rywali AFAIK. Oczekiwałbym więc, że platforma Java będzie odpowiednia za 5 lat, a nawet za 15 lat. To sprawia, że ​​Java jest ważnym językiem w perspektywie długoterminowej, nawet jeśli jego popularność może przekroczyć szczyt.


4

TIOBE stawki używa języka ... http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Opierając się na ich statystykach, Java jest liderem i zapewne zrobi to jeszcze długo - # 1 od 2005 roku. Korzystam z Javy przez całą moją karierę i wszędzie tam, gdzie kiedykolwiek pracowałem, miałem aplikacje / programistów Java - nawet w miejscach, które uważały się za siebie Sklepy deweloperów Microsoft. Java jest tak łatwym językiem do opanowania, gdy trzeba opracowywać rozwiązania na komputerze Mac lub Linux Server.

Ponadto, dobry ole C / C ++ wciąż utrzymuje silną pozycję na 2 i 3 - podczas gdy C # - język, który wszyscy myślą, że jest najpopularniejszy (MS marketing w najlepszym wydaniu) - nawet nie jest blisko! Używam teraz C #, ale potrwa lata, aby zrównać się z ilością kodu, który napisałem w Javie i Delphi.

Nie bój się więc uczyć lub używać Java - zawsze są dla nich oferty pracy. Tak, tak, Java będzie bardzo istotna przez długi czas.


Wskaźniki Tiobe ... liczba osób w Internecie, które mówią o języku w taki sposób, w jaki wyszukiwane są tiobe. blog.timbunce.org/2008/04/12/…
Sean McMillan

3

To jedna z największych nazw w programowaniu korporacyjnym (J2EE). Jestem prawie pewien, że nie zobaczymy, jak będzie spadać przez kilka następnych lat.


3

Nie jestem pewien co do JAVA. Ale na pewno JVM pozostanie odpowiedni, obsługując wiele innych języków.


3

To zależy od ewolucji języka.

W chwili obecnej Java nie jest bardzo aktywna jak język. Urodził się, aby wspierać jeden (i tylko jeden) paradygmat: OOP. Umieszcza się gdzieś pośrodku między językami, które pozwalają na abstrakcje wyższego poziomu (takie jak C ++ i jego funkcje metaprogramowania), a językami skryptowymi z funkcjami refleksji (jak komendy Pythona „exec” i „dir”), ale jakoś nie znajduje swojego prawdziwego miejsca. Zasadniczo staje się przestarzały jako „język”. Gdyby nie fakt, że jest to de facto standard na urządzeniach mobilnych, myślę, że do tej pory byłby martwy.

Jeśli chodzi o to, że jest to dobry język nauczania dla OOP, mam wątpliwości co do tego, co widzę: wszyscy programiści urodzeni w Javie po prostu spawnują wzorce Visitor i Observer, ale to nie jest tak, że mam duże doświadczenie z programistami Java.

Nadal jest dużo starszego kodu, a na urządzeniach mobilnych jest to standard. To powiedziawszy, nigdy nie wybrałbym Javy ani na komputer, ani na aplikację internetową. Nie ma żadnego powodu, oprócz biznesowych (większość menedżerów kiwa głową, jeśli mówisz „Java”, i to, jak sądzę, powód, dla którego jest to standard na urządzeniach mobilnych).


Czy ktoś pamięta, kiedy ktoś z SUN powiedział, że wyliczenia „Java nie potrzebują”? C # / VB.NET ma wyliczenia, a później dodane do Java
umlcat

1
jest szeroko stosowany w aplikacjach na dużą skalę, na pewno „koderzy”, „skrypty” i „ninja ROR” go nie lubią, ale to dlatego, że jest to prawdziwy język programowania i służy do tworzenia aplikacji, które robią znacznie więcej niż tylko CRUD aplikacje działają, jeśli po stronie serwera aplikacji dzieje się wiele intensywnych rzeczy, Java jest zwykle najbardziej atrakcyjnym wyborem, zanim będziesz musiał przejść do korzystania z C ++ lub innego języka niższego poziomu
programmx10

3

IMHO, Java pozostanie bardzo aktualna i będzie w użyciu, mimo że tak naprawdę nie rozwija się pod względem konstrukcji i mocy.

Oto moje rozumowanie: - Jest dużo kodu, a konserwacja wymaga więcej ludzi niż pisania nowego kodu.

  • Obóz „Języki VM są zbyt wolne” powoli traci (zwłaszcza, że ​​Java z powodzeniem przekształciła się w handel algo).

  • Duże firmy nadal korzystają z niego we wszystkich sektorach, w tym Oracle.

  • Platforma Android rozwija się szybciej niż iOS, bez widocznego innego konkurenta, co przyciąga więcej ludzi do langauge.

  • Ludziom łatwiej jest używać niż języków funkcjonalnych. Dla purystów językowych i naukowców łatwo jest docenić funkcjonalne języki i ich możliwości, ale większość początkujących bez dyplomów CS nie docenia w pełni mocy Lambdy. Nie sądzę więc, żeby te języki się rozerwały.

  • Jest w pełni darmowy (w przeciwieństwie do .NET, który pomimo alternatyw jest jeszcze bliżej ekosystemu Windows).


2

Java nie straci całkowicie na znaczeniu przez wiele kolejnych lat, ale z pewnością spada. Jeśli wpłyną na to ostatnie wydarzenia lub jeśli Oracle może to zmienić, okaże się. Ale wydaje mi się, że pewnego dnia mogę być jak COBOL, żadnych nowych projektów, ale też nigdy nie umieram.


2

COBOL, Fortran i C są nadal aktualne. Jaka jest szansa, że ​​Java zniknie za pięć lat? Można się spodziewać, że za pięć lat nie będzie dużo nowego oprogramowania Java, ale postawiłbym się przeciwko temu, ponieważ wiele osób korzysta z Javy, a sklepy dość wolno zmieniają preferowane języki.


1

Podejrzewam, że wszystkie języki ostatecznie przechodzą fazę, w której eksperci powiedzą: „[Language] to COBOL z [wstaw dekadę tutaj]”.

Java stała się standardowym narzędziem, wyłącznie lub jednym z głównych narzędzi, w wielu obszarach rozwoju oprogramowania. Jego maszyna wirtualna jest popularna jako platforma do tworzenia nowych języków. To będzie o wiele za długo z powodu ogromnej bezwładności, nawet gdy nowe lepsze języki staną się popularne.


Ale Java stała się COBOL, mainframe, mówiąc językiem serwera
umlcat

1

Istnieją pewne trendy w świecie Java - szczególnie absolutnie genialne przyjęcie JRuby i Rails lub Groovy i Grails - które wskazują, że Java wciąż ma w sobie dużo życia. Potem jest sytuacja z Androidem, która również sprzyja Javie. Jeszcze niedawno jako Snow Leopard na Macu, potwierdza zmiany - teraz obsługuje Midi bez zewnętrznych sterowników - sprawia, że ​​zyskuje on także na pulpicie. A aplikacje Swing w końcu wyglądają w 99% na natywne (a przynajmniej istnieje wiele wariatów, które w to wierzą: 10 lat temu nie było żadnych).

Java przeżyła niesamowity moment w latach 90., kiedy wydawało się, że to rozwiązanie na wszystko. Teraz jest jasne, że nic nie jest rozwiązaniem na wszystko. .Net robi kopa w dupę, Ruby, Pythona i PHP (z głupimi rozwiązaniami CMS i całymi platformami, z którymi ludzie biorą ślub na całe życie!), I Java (z Groovy JRuby JPython cokolwiek) i całą masę innych. Odpowiedź to:

Spodziewaj się pluralistycznego wszechświata

Czy Java nadal będzie odgrywać główną rolę w tym wszechświecie? Jeśli masz na myśli „języki, które działają na JVM”, odpowiedź jest zdecydowanie. Jeśli odpowiedzią jest tylko Java (język, JVM itp.), Wówczas odpowiedź brzmi „być może nie jest tak ważna”. Ale daj spokój, nawet Cobol wciąż się trzyma.


1

Myślę, że akademiccy nadal potrzebują wartości open source w JAVA. Istnieje tak wiele potężnych bibliotek (skoncentrowanych na celach akademickich) opracowanych na JAVA.

Zgadzam się, że JAVA pozostanie istotna, ale dla mniejszego segmentu.


1

Google dużo pisze w Javie, a Google jest największą firmą w sieci. Myślę, że internet to przyszłość - aplikacja internetowa, przetwarzanie w chmurze - i myślę, że Java jest nadal aktualna w przyszłości.

I jest Android, który moim zdaniem jest przyszłością smartfonów. I niektórzy mówią, że smartfony są przyszłością komputera - co nie jest moim zdaniem :) - ale może też dawać Javie dużą przyszłość. Więc idź Java: D


Po drugie, Google wysyła do społeczności wiele wewnętrznych narzędzi i bibliotek (np. GWT, Guava itp.), Więc ma wpływ zewnętrzny poza liczbę X inżynierów, którzy go używają.
Uri

0

Jeśli jest związany z jakąś branżą (np. Bankowością; platformami mobilnymi itp.), To jest jak pytanie „Czy Internet Explorer będzie nadal aktualny za 5 lat ..” 5 lat temu. Obecnie istnieje wiele firm, które mają wewnętrzne strony internetowe specyficzne dla IE, których nie można przepisać od nowa. Nie jest to więc „istotne”, ale „nieuniknione”.

Jeśli chodzi o twoje pytanie - nie, nie ma to znaczenia jako siła napędowa innowacji; ale tak, jest to istotne, ponieważ wiele branż będzie wymagać utrzymywania aplikacji Java przez wiele lat.


0

Oto artykuł ReadWriteEnterprise na temat odrzucenia Javy:

http://www.readwriteweb.com/enterprise/2011/02/javas-not-dying-its-mutating.php

To, czego jesteśmy świadkami, to nie śmierć Jawy, ale jej przemiana. Zmienia się z bycia platformą ogólnego użytku, która dominowała w przedsiębiorstwie, do bycia istotą wielu różnych technologii dla różnych specjalnych aplikacji.

Zajmuje się także tym, w jaki sposób określone narzędzia stanowią alternatywę dla technologii Java, ale niekoniecznie ją zastępują:

Chociaż bazy danych NoSQL stanowią alternatywę dla relacyjnych baz danych, nie oznacza to, że relacyjne bazy danych znikną. Podobnie Node.js stanowi specjalistyczną alternatywę dla Apache, ale nie zabije Apache.


Artykuł z tej samej strony na temat trendów w pracy pokazuje, że Java wciąż ma więcej ofert pracy niż w jakimkolwiek innym języku: readwriteweb.com/enterprise/2011/05/…
Britt Wescott
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.