Czy Java nadal króluje?

0

Jak to jest z tą Javą w web devie - nadal króluje czy jednak inne języki JVMowe czy też Pythony I tak dalej wypierają?

0

Korpo - Java
Startupy - nie Java
Jak nie Java to prędzej inne języki JVM - Kotlin, Scala, Clojure a nie Python.

W Javie jest tyle softu napisane, że nigdy nie zdechnie, jeśli już to będzie nowym Cobolem.

6

Ludzie to pytanie chyba zadają już od 10 lat, zamiast usiąść i się nauczyć :D

0

Dostałem ostatnio jakiś raport, z którego wynikało, że Java przed C#. Również w aspekcie zarobku. Stosunek wynagrodzeń coś jak 12/11.

0

Microsoft akurat ostatnio podejmuje lepsze decyzje niż głupie Oracle. Może M$ ugra coś więcej z .Net Core.

tutaj nie wygląda to źle https://www.itjobswatch.co.uk/

1

Strona wynagrodzenia.pl (jest wysoko w Google, więc wybrałem) przedstawia takie dane:
https://wynagrodzenia.pl/artykul/zarobki-programistow-w-2017-roku

Szczegóły dla konkretnych języków:
C/C++
Java
.NET
PHP

Ranking pod względem zarobków jest więc taki (wg tej strony oczywiście):

  1. Java na równi z C/C++
  2. .NET
  3. PHP
    (reszty języków nie brałem pod uwagę)

Jeśli przyjrzymy się górnemu kwartylowi wynagrodzeń to .NET traci dość mocno względem Javy. Górne kwartyle wynagrodzeń zaczynają się od:
9500 zł - Java
9378 zł - C/ C++
8500 zł - .NET
7056 zł - PHP

Krzywy Krawiec napisał(a):

Microsoft akurat ostatnio podejmuje lepsze decyzje niż głupie Oracle. Może M$ ugra coś więcej z .Net Core.

tutaj nie wygląda to źle https://www.itjobswatch.co.uk/

O co chodzi z tymi decyzjami?

Stronka którą podlinkowałeś podaje takie zarobki:
Java - 55k GBP
C#/ .NET - 45k GBP

0

@stivens: Siedzę w javie, ale M$... jednak poszedł w kierunku open source, chyba mają najwięcej kontrybucji w ostatnim roku. Cross Platform .Net Core. Chyba kupili też Xamarina. Microsoft Surface zaczyna wyglądać również całkiem sensownie, szczególnie jak Apple popłynęło z ostatnim Mac Bookiem. Visual Studio Code, Typescript. Bash na Windows 10. itp. Brzmi to całkiem nieźle.

Fanem M$ nie jestem, ale ostatnio coś im wyszło. ;)

0

@Wibowit: na stronce co podałem bardziej chodziło mi o ilość miejsc pracy, trudno tam to podliczyć ale Java i C# wyglądają podobnie pod względem ilości.

ale tu już gorzej https://www.indeed.com/jobtrends/q-Java-q-C%23-q-Python.html

5
Krzywy Krawiec napisał(a):

@stivens: Siedzę w javie, ale M$... jednak poszedł w kierunku open source, chyba mają najwięcej kontrybucji w ostatnim roku. Cross Platform .Net Core. Chyba kupili też Xamarina. Microsoft Surface zaczyna wyglądać również całkiem sensownie, szczególnie jak Apple popłynęło z ostatnim Mac Bookiem. Visual Studio Code, Typescript. Bash na Windows 10. itp. Brzmi to całkiem nieźle.

Fanem M$ nie jestem, ale ostatnio coś im wyszło. ;)

Problemem wielu ludzi jest przesadne koncentrowanie się na jednej firmie. To ma trochę sensu w przypadku MS, który jest w dużej mierze wyrocznią (ang. oracle) dla programistów używających narzędzi MS, natomiast niespecjalnie ma sens w przypadku Oracle. Oracle dostarcza przede wszystkim JVMa i tenże JVM jest bardzo dobry.

MS trzyma łapę na:

  • VMce i języku - podobnie jak Oracle
  • frameworkach dla biznesu - mam wrażenie, że tutaj siła z jaką MS kontroluje programistów .NET jest dużo większa niż w przypadku Oracle. MS dostarcza tych jakichś tam ASP.NETów i tym podobnych i to jest szeroko używane, natomiast w przypadku Javy wiodącym frameworkiem jest Spring - niezależny od Oracle'a
  • IDE, czyli Visual Studio, natomiast w przypadku Javy wiodącymi IDE są IntelliJ IDEA i Eclipse; Oracle ma władzę nad NetBeansem i JDeveloperem, ale tylko ten pierwszy ma w miarę znaczący udział w rynku; samo Visual Studio też MSowi jakoś cudownie nie wyszło - bez Resharpera Visual Studio jest cienkie w porównaniu do IntelliJ IDEA, natomiast JetBrains przyznało, że połączenie VS + Resharper jest wolniejsze niż Project Rider, które jest Javowym GUI (IntelliJ Platform) połączonym z backendem napisanym w C# (ten może chodzi na Mono lub .NET Core)
  • platformie mobilnej (Windows Mobile), która już zresztą zdechła - w przypadku Javy mamy Google'a którego platforma mobilna (Android) jest oparta o Javę

.NET Core jest niby przenośny, ale np nie implementuje w ogóle desktopowego GUI, drukowania i innych rzeczy: http://odetocode.com/blogs/scott/archive/2016/10/11/asp-net-core-and-the-enterprise-part-1ndashframeworks.aspx Ponadto na stronie NET Core dla Linuksa https://www.microsoft.com/net/core#linuxdebian jest tylko jedno poważne IDE - JetBrains Rider, a więc Javowo-C#-owe IDE od Rosjan, a nie od MS.

Oracle natomiast, jak już wspomniałem, ma przede wszystkim dostarczać solidną JVMkę, by inne firmy mogły na niej budować swoje produkty i tak się dzieje. Język Java jest rozwijany dość ostrożnie, ale za to JVM jest coraz lepszą platformą dla innych języków niż Java.

Dowodem na ukłon Oracle'a w stronę innych języków jest Graal VM: http://openjdk.java.net/projects/graal/ GraalVM w połączeniu z Truffle i implementacjami AST dla poszczególnych języków może wykonywać je z dużą szybkością i pozwala na ich wydajną integrację (np z poziomu Pythona można prosto używać obiektu zaalokowanego w programie napisanym w C - po szczegóły odsyłam do https://github.com/graalvm/graal/blob/master/docs/Publications.md ). Slajdy z zeszłego roku: https://lafo.ssw.uni-linz.ac.at/pub/papers/2016_PLDI_Truffle.pdf Jak widać przyspieszenie względem standardowych intepreterów języków skryptowych w niektórych przypadkach jest kolosalne, a w przypadku JavaScriptu Graal.js już teraz osiąga 90% wydajności V8 od Google'a (V8 to silnik JS w Google Chrome).

Innym ważnym projektem Oracle jest GC o bardzo małych pauzach nawet dla dużych stert JVMowych: https://wiki.openjdk.java.net/display/shenandoah/Main Takie GC jest bardzo ważne z biznesowego punktu widzenia. Im mniejsze przestoje tym mniej poirytowanych użytkowników czekających, aż im się strona załaduje, bo akurat wpadli na Full GC.

Krzywy Krawiec napisał(a):

@Wibowit: na stronce co podałem bardziej chodziło mi o ilość miejsc pracy, trudno tam to podliczyć ale Java i C# wyglądają podobnie pod względem ilości.

ale tu już gorzej https://www.indeed.com/jobtrends/q-Java-q-C%23-q-Python.html

Prawdopodobnie porównujesz statystyki z różnych rynków. Ale nawet biorą pod uwagę poprzedniego linka ( https://www.itjobswatch.co.uk/ ) to i tak tam różnice w ilości miejsc pracy są niewielkie, w granicy kilku procent. Różnice w zarobkach natomiast są dużo dużo większe, więc i tak jest większa szansa, że znajdzie się lepiej płatną pracę w Javie niż .NETu.

0

@Wibowit: Ale ja nie mowie, ze M$ albo Oracle sa super.
Po prostu mam wrazenie, ze w przypadku Microsoftu ostatnio nieco idzie ku lepszemu.
Pewnie i tak zawsze będzie połączony z windowsem.

osobiscie wole jenak linuksy i unixy.

1

@Wibowit: Ale ja nie mowie, ze M$ albo Oracle sa super.
Po prostu mam wrazenie, ze w przypadku Microsoftu ostatnio nieco idzie ku lepszemu.

"Wrażenie" to mało konstruktywna sprawa. Nie napisałeś jakie to niby głupie ruchy zrobił Oracle, a ruchy MS które wypisałeś w większości nie mają znaczenia w kontekście wyboru Java vs C#.

Cross Platform .Net Core.

Zbliżają się do Javy z przenośnością, ale dalej daleko. Mimo wszystko .NET core to duży krok naprzód, bo ZTCW można w tym pisać poważne aplikacje biznesowe na Linuksa.

Chyba kupili też Xamarina.

Wcześniej Xamarin kupił RoboVM. MS ubił RoboVM mimo iż moim zdaniem taki RoboVM miałby raczej więcej sensu niż Xamarin - RoboVM jest oparty o Javę, więc integracja RoboVM z Androidem powinna być łatwiejsza niż Xamarina z Androidem.

Microsoft Surface zaczyna wyglądać również całkiem sensownie, szczególnie jak Apple popłynęło z ostatnim Mac Bookiem.

Zerowe znaczenie dla programisty. MS robi też myszki i klawiatury. O tym też napiszesz?

Visual Studio Code,

To jest używane w korporacjach czy tylko do pisania hello worldów?

Typescript

Dobry soft, ale niespecjalnie widzę jak by to miało wpływać na zasadność wyboru .NETa. TS można używać na dowolnym systemie w połączeniu z dowolną platformą.

Bash na Windows 10. itp. Brzmi to całkiem nieźle.

Nie testowałem tego. W firmie dalej używamy Cygwina i spełnia swoje zadanie. Być może wbudowana powłoka byłaby szybsza, ale nie znalazłem testów potwierdzających tę hipotezę. Prawdopodobnym motywem implementacji basha na Windowsie 10 jest rosnąca popularność OS Xa i Linuksów wśród programistów: https://insights.stackoverflow.com/survey/2016#technology-desktop-operating-system

0

Sęk w tym... że ja się z Tobą zgadzam :D
A Visual Studio Code to moj obecnie ulubiony text editor.

2

Korporacje lubią JVM i to się raczej nie zmieni.

Z czego ta miłość wynika? Może z tego:

  • Javę wspierają dwie potężne korporacje - Oracle i IBM.
  • Dostępna jest na maszynach od dekodera satelitarnego przez smartfon po mainframe: https://en.wikipedia.org/wiki/List_of_Java_virtual_machines
  • Ma tonę narzędzi do monitorowania i optymalizacji.
  • tam gdzie masz JVM tam możesz mieć dowolny język oparty o JVM

Python też jest dostępny na JVM: http://www.jython.org/jythonbook/en/1.0/JythonDjango.html

Ale - w webdewie rozumianym jako strony WWW, Java raczej nigdy nie królowała. To zawsze była domena PHP, Ruby i Pythona (teraz też JavaScriptu - node.js).
Java głównie wykorzystywana jest do back-endu - tworzenia wielkich aplikacji udostępniających serwisy, gdzie interfejs aplikacji można zrobić w czymkolwiek wymienionym wyżej (kto tam akurat jest pod ręką).

Kotlin z tego co wiem możliwe że będzie przodującym językiem dla Androida (lub jego następcy).
Scala - niby lepszy język od Javy, ale jakoś korporacje się na nią nie rzucają.

A czy .NET Core ma szansę odebrać rynek Javie? Szczerze wątpię. Może za 10 lat stabilnej polityki zmierzającej cały czas w tym kierunku. Póki co jesteśmy rok po premierze więc trochę za wcześnie na takie dyskusje.

(uwaga: stosuję tu JVM i Javę zamiennie bo nie słyszałem o JVM które by nie wspierało Javy, ale może się mylę?)

1
Mon napisał(a):

nadal króluje czy jednak inne języki

Java umiera od 10 lat :D

1

Java kruluje nadal

0

Java to potęga z monopolem na rynku wszystkich urządzeń. Obecnie nie do pobicia.

0

Skoro tyle osób wypowiedziało się przeciwko javie to czego najlepiej się teraz uczyć ?

1

To forum jest pro Javowe, na pasja-informatyki mają inne zdanie programiści. Nie chodzi że Java króluje tylko że JVM ma taką popularność, a oni sobie zliczają wszystkie języki na JVM i mówią że to tylko Java ma tyle rynku. JVM nie jest napisane w Javie tylko w C, czyli idąc tym tropem C jest najpopularniejsze?

0

To forum jest pro Javowe,

Zapłacz się.

na pasja-informatyki mają inne zdanie programiści.

A mają argumenty?

Nie chodzi że Java króluje tylko że JVM ma taką popularność, a oni sobie zliczają wszystkie języki na JVM i mówią że to tylko Java ma tyle rynku.

Java to >90% rynku JVM-owego.

JVM nie jest napisane w Javie tylko w C, czyli idąc tym tropem C jest najpopularniejsze?

Jakim tropem? Co sobie ubzdurałeś?

0

Inne języki na jvm należy wliczać do Javy, bo tak naprawdę liczy się ekosystem. Nauczenie się języka jest zwykle prostsze niż opanowanie całej otoczki. Np. taki Kotlin nie ma własnych bibliotek - polega na javowych.

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