Dlaczego Java nie ma przyszłości?

2

Postanowiłem przenieść dyskusję z wątku o Delphi, gdzie moderator @Krolik usilnie porównuje każdą rzecz w Delphi do Javy. Więc moich kilka obserwacji dlaczego Java nie ma przyszłości:

Moje argumenty to:

1. 161 krytycznych luk w Javie w 2013 roku

http://www.kaspersky.com/about/news/virus/2013/Is_there_any_protection_against_Java_exploits

Czy można zaufać technologii, która sprawia, że twórcy exploitów, malware kitów, hakerzy mogą infektować miliony użytkowników korzystając z luk w Javie, które statystycznie wykrywane były co 2 dni w 2013 roku? Czy jakakolwiek inna technolgia jest tak zabugowana i przyczyniła się do infekcji aż tylu użytkowników, o czym pisze Kaspersky?

2. Oracle ledwo zipie, a sama Java umiera śmiercią naturalną skoro nawet instalator Javy JRE zawiera w sobie AskToolbar-a, badziew wciskany userom za które Oracle zgarnia kilka centów za każdą instalację, tak zachowują się firmy, które ledwo dają radę i chcą za wszelką cenę jeszcze zarobić na popularności upadających technolgii. Microsoft nie wciska ludziom badziewnych toolbarów przy próbach instalacji .NET Framework-a

http://www.reddit.com/r/java/comments/16k7hi/java_installer_ask_toolbar_seriously/

3. Brak jakichkolwiek interesujących aplikacji na PC, oprócz Minercrafta i narzędzi programistycznych jak Eclipse.

4. Technologia kompilacji kodu Java do pseudokodu nie chroni twórców oprogramowania przed kradzieżą źródel aplikacji z wykorzystaniem dekompilatorów jak JD-GUI czy JAD bez wykorzystania specjalizowanych obfuscatorów, które i tak zwykle niewiele dają, a jak mniemam nie każdy tak bardzo kocha open source, że cieszy się gdy konkurencja przegląda mu całe źródła ciężko utworzonych aplikacji (na platformę .NET dostępne są dużo bardziej zaawansowane narzędzia) .

**5. Java nie jest, nie była wspierana na iOS, Steve Jobs powiedział "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain." **

0

wrzuć na luz.. nie zniknie jeszcze długo. Oracle dość prężnie się rozwija. Jesteś świadomy ile instytucji musiało by zainwestować grube dolary na nowe systemu przez twoją wizje końca Javy? O schyłku Oracla to chyba troche przesada. Dyskusja którą przytoczyłeś to wpołowie narzekanie na asktoolbar którego nikt nie karze ci instalować, to raczej zapytanie, btw. Jest to mega stary temat. 5 to joke.

HAHAHA; czekaj dopiero przeczytałem trzeci punkt. Ale i tak no comment dla tych argumentów.

9

@Bartosz Wójcik java nie zniknie bo:

  1. Java to głównie aplikacje intranetowe, gdzie nie ma żadnego znaczenia ile jest takich luk. Zresztą wątpię żeby taki .NET zostawał tu daleko w tyle ;)
  2. Z tym .NET to chyba żartujesz. Java to jest kwestia ~150MB, .NET to jest kwestia gigabajtów. Co wiecej, w przypadku javy wiem gdzie i co zainstalowałem. W przypadku .NET nie wiadomo, z czego sporo zainstalowało mi się na dysku systemowym (gdzie wcale nie chciałem tego instalować bo mam mało miejsca). ;] Poza tym mnie sie nigdy żaden toolbar nie zainstalował ;]
  3. Java to głównie Web, wiec argument jest bez sensu. To tak jakby mówić że PHP umiera bo nie ma w nim desktopowych aplikacji :D
  4. A reflector dla .NET to niby co? Taki juz urok języków kompilowanych do bajtkodu ze da się je dekompilować znacznie wygodniej niż języki natywne. Ale tak jak mówiełm -> java to głównie Web, więc nikt realnie nie ma dostępu do skompilowanych plików tak czy siak.
  5. To chyba argument na plus dla javy. Widziałeś kiedys kod w Objective-C? ;]
1

Bardzo lubię Javę. Zwłaszcza przeglądać cudze kody źródłowe tych aplikacji w jad decompiler :-) open source 4 life

1

Prawda jest taka - Java ma zastosowanie jedynie w rozwiązaniach serwerowych (JBoss) i specjalizowanym oprogramowaniu. Jako rozwiązanie na klasyczne pecety Java poległa już w czasach forsowania appletów Javy na stronach WWW, a obecnie Java jest po prostu nieobecna na pecetach. Przykre - ale prawdziwe. Przyszłość na pewno ma, ale nie na komputerze przeciętnego Windowsowego użytkownika.

0

No tylko że twierdzenie że Java umiera bo nie jest popularna na desktopie jest idiotyczne. Równie dobrze można wysnuć wniosek że PHP, Python czy Ruby umierają bo przecież nie klepie się w nich softu na desktop (szczególnie ten windowsowy). Szczególnie kiedy segment aplikacji desktopowych sie kurczy - wszystko przenosi się do cloudów i na wersje webowe ;]

1

Jeśli już mówić jakie języki freameworki wymierają to chyba, w tym rankingu Delphi powinno być znacznie wyżej niż Java.
opatrz sobie na ten artykuł:
http://readwrite.com/2012/06/05/5-ways-to-tell-which-programming-lanugages-are-most-popular#awesm=~ow4w7mmicNJxvZ
Delphi nie mieści się nawet w pierwszej 20 bez względu na sposób liczenia, java albo jest w czołówce, albo pierwsza.

Oprogramowania opartego o Java używasz, częściej niż ci się wydaje. Zaczynając od oczywistości takiej jak telefon (android), przez karty płatnicze (chip), zbliżeniowe p samochody, terminale płatnicze, wielkie systemy bilingowe, transakcje bankowe.
Nawet jeśli jutro Oracle powiedziałby koniec z całą Java, to przez kolejne 30 lat pracy dla programistów Java nie zabraknie.

0

Wejdź sobie w dział "Praca".
Java 41 ofert, C# 24 oferty, C++ czy Delphi to nawet nie ma na liście. Java to w tej chwili jeden z najpopularniejszych języków w ogłoszeniach o pracę i to się szybko nie zmieni. Pewnie, Java nie jest językiem idealnym, ale każdy język ma jakieś wady. Gdyby istniał język idealny to nie istniał by żaden inny.

0
Bartosz Wójcik napisał(a):

1. 161 krytycznych luk w Javie w 2013 roku

http://www.kaspersky.com/about/news/virus/2013/Is_there_any_protection_against_Java_exploits

Czy można zaufać technologii, która sprawia, że twórcy exploitów, malware kitów, hakerzy mogą infektować miliony użytkowników korzystając z luk w Javie, które statystycznie wykrywane były co 2 dni w 2013 roku? Czy jakakolwiek inna technolgia jest tak zabugowana i przyczyniła się do infekcji aż tylu użytkowników, o czym pisze Kaspersky?

Obstawiam, że w języku C powstało znacznie więcej malware niż w Javie :P

0

Tak to czytam i jestem zdziwiony, ludzie mylą do czego dana platforma programistyczna została stworzona i burzą się, gdy tylko ktoś ich ukochany język weźmie pod lupę i przedstawi niechlubne fakty. Java nie ma przyszłości na pecetach, ale wcale jej tam nie potrzebuje, są inne znacznie popularniejsze rozwiązania jak .net, jednak istnieją znakomite powody, dla których Java ma przyszłość, więc nie pozwólmy się zwariować i spójrzmy na sprawę z dystansem.

1

@Bartosz Wójcik
Jeśli chcesz zabezpieczyć swój kod w Javie, a jednocześnie usunąć zależność od obecności JRE w systemie to masz do dyspozycji: http://www.excelsiorjet.com/ czyli kompilator AOT kodu Javowego do exeka.

edit:
Testowałeś http://www.zelix.com/klassmaster/index.html ?

0

W Javie jest napisane jedno z narzędzi, z którego ostatnio przyszło mi dość często korzystać - R Studio. I muszę przyznać, że praca z nim jest prawie idealna. Ogólnie polecam do pisania sprawozdań czy innych dokumentów wymagających statystyki i wykresów.

BTW
Jak ktoś zna jakieś narzędzia by można było równie łatwo podłączyć Matlaba/Octave lub Maximę to prosił bym o info, bo mi cały czas się nie udało.

0

Nie wiem czy ktoś o tym wspominał ale chyba nie. W Javie tworzy się apki na Androida, a apki na urządzenia mobilne to teraz jeden z najgorętszych tematów, jeżeli chodzi o programowanie. Z tego tylko względu, pomijając wszelki inne argumenty Java z pewnością nie umiera i ma przyszłość jak najbardziej.

0

Wchodzę sobie na https://www.microsoft.com/en-us/sqlserver/editions/2012-editions/express.aspx# , by pobrać sofcik, wyklikuję co chcę, a tu nagle...

user image

Ech, ten koniec Java bo Microsoft lepszy... :P

0
Bartosz Wójcik napisał(a):

1. 161 krytycznych luk w Javie w 2013 roku

http://www.kaspersky.com/about/news/virus/2013/Is_there_any_protection_against_Java_exploits

Czy można zaufać technologii, która sprawia, że twórcy exploitów, malware kitów, hakerzy mogą infektować miliony użytkowników korzystając z luk w Javie, które statystycznie wykrywane były co 2 dni w 2013 roku? Czy jakakolwiek inna technolgia jest tak zabugowana i przyczyniła się do infekcji aż tylu użytkowników, o czym pisze Kaspersky?

Luki dotyczą przede wszystkim apletów i technologii około apletowych. Równie dobrze można powiedzieć, że umarł Flash, PDF czy JPG, bo są dziury. Zresztą podobną jak nie dłuższą listę dziur mają najpopularniejsze systemy czyli Windowsy od Visty do 8.1 i różne odmiany OSX.

Bartosz Wójcik napisał(a):

2. Oracle ledwo zipie, a sama Java umiera śmiercią naturalną skoro nawet instalator Javy JRE zawiera w sobie AskToolbar-a, badziew wciskany userom za które Oracle zgarnia kilka centów za każdą instalację, tak zachowują się firmy, które ledwo dają radę i chcą za wszelką cenę jeszcze zarobić na popularności upadających technolgii. Microsoft nie wciska ludziom badziewnych toolbarów przy próbach instalacji .NET Framework-a

http://www.reddit.com/r/java/comments/16k7hi/java_installer_ask_toolbar_seriously/

Sprawa z AskToolbar jest o tyle dziwna, że Oracle nie musi nic wciskać. To nadal jeden z największych graczy na rynku. Generalnie nikt nie rozumie dlaczego to jest instalowane. Raczej jakiś wymysł ichnich handlowców.

Bartosz Wójcik napisał(a):

3. Brak jakichkolwiek interesujących aplikacji na PC, oprócz Minercrafta i narzędzi programistycznych jak Eclipse.

W COBOLu też nie ma fajnych apek. A nadal poszukiwani są specjaliści. Rzecz w tym, że Java jest obecnie przeznaczona dla końcowego użyszkodnika. Swoją drogą... jak to nie ma... Azerus (klient torrenta obsługujący magnety). Java to jednak przede wszystkim aplikacje klasy EE. Tu jeszcze długo jedyną konkurencją będzie .NOT.

Bartosz Wójcik napisał(a):

4. Technologia kompilacji kodu Java do pseudokodu nie chroni twórców oprogramowania przed kradzieżą źródel aplikacji z wykorzystaniem dekompilatorów jak JD-GUI czy JAD bez wykorzystania specjalizowanych obfuscatorów, które i tak zwykle niewiele dają, a jak mniemam nie każdy tak bardzo kocha open source, że cieszy się gdy konkurencja przegląda mu całe źródła ciężko utworzonych aplikacji (na platformę .NET dostępne są dużo bardziej zaawansowane narzędzia) .

Ale tak jest z każdym językiem. Kod generowany dynamicznie? Też się da to obejść i są spece, którzy to obchodzą. Generalnie argument nietrafiony. Zresztą, żaden kod działający w ramach maszyny wirtualnej nie jest bezpieczny w tym kontekście.

Bartosz Wójcik napisał(a):

**5. Java nie jest, nie była wspierana na iOS, Steve Jobs powiedział "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain." **

Nietzsche mówił, że bóg umarł... Jobs mówił, że java umarła... obaj nie żyją. A to, że nie ma Javy na iOSie who cares. Flasha też nie ma ;)

0
Koziołek napisał(a):

Luki dotyczą przede wszystkim apletów i technologii około apletowych. Równie dobrze można powiedzieć, że umarł Flash, PDF czy JPG, bo są dziury. Zresztą podobną jak nie dłuższą listę dziur mają najpopularniejsze systemy czyli Windowsy od Visty do 8.1 i różne odmiany OSX.

Ale nie tyle, że co 2 dni wychodzi statystycznie nowa luka. Błędy dotyczą też np serwera JBoss

http://www.pcworld.com/article/2064580/hackers-actively-exploiting-jboss-vulnerability-to-compromise-servers-researchers-say.html

Koziołek napisał(a):

Sprawa z AskToolbar jest o tyle dziwna, że Oracle nie musi nic wciskać. To nadal jeden z największych graczy na rynku. Generalnie nikt nie rozumie dlaczego to jest instalowane. Raczej jakiś wymysł ichnich handlowców.

Nie jest dziwna i chyba ty nie rozumiesz dlaczego jest instalowany. To są pieniądze dla Oracle na trzymanie Javy przy życiu. Za darmo tego nie robią, bo tak bardzo lubią tego AskToolbara.

Koziołek napisał(a):

W COBOLu też nie ma fajnych apek. A nadal poszukiwani są specjaliści. Rzecz w tym, że Java jest obecnie przeznaczona dla końcowego użyszkodnika. Swoją drogą... jak to nie ma... Azerus (klient torrenta obsługujący magnety). Java to jednak przede wszystkim aplikacje klasy EE. Tu jeszcze długo jedyną konkurencją będzie .NOT.

Azureus, Minecraft i Eclipse to jedyne co słyszę w tych tematach. 3 "killer-appsy" @Krolik-a :P

Koziołek napisał(a):

Ale tak jest z każdym językiem. Kod generowany dynamicznie? Też się da to obejść i są spece, którzy to obchodzą. Generalnie argument nietrafiony. Zresztą, żaden kod działający w ramach maszyny wirtualnej nie jest bezpieczny w tym kontekście.

Nie jest tak z każdym językiem programowania. Poziom zabezpieczeń na x86/x64 jest obecnie tak wysoki (wirtualizacja), że reversing tak zabezpieczonych aplikacji jest praktycznie niemożliwy bez spędzenia roku czasu na analizy i przebudowę kodu (PM jeśli chcesz więcej informacji), dla .NET są dziesiątki jak nie setki obfuscatorów bazujących już także na wirtualizacji (już wirtualnego pcode'u), a dla Javy? ProGuard, ZelixKlassMaster i chyba tyle? No i tutoriale i narzędzia jak obejść te zabezpieczenia, czego nie uświadczysz w najnowszych zabezpieczeniach x86/x64 bo po prostu poziom skomplikowania jest o niebo wyższy.

Koziołek napisał(a):

Nietzsche mówił, że bóg umarł... Jobs mówił, że java umarła... obaj nie żyją. A to, że nie ma Javy na iOSie who cares. Flasha też nie ma ;)

To raczej jako humorystyczny akcent dałem, jednak przyznasz, że iPady, iPhone to jednak jest trochę ludzi, których zostało pozbawionych tej cudownej, przenośnej machinerii jaką jest Java.

0

Co do JBossa, to "błąd" wynika z tego, że nikomu nie chce się po zainstalowaniu skonfigurować serwera. Zresztą wersja 4 i 5... czyli dziadki. Sam błąd w stylu ostatnich problemów z routerami i możliwością dobrania się do backupu bez hasła.

Oracle "utrzymuje" javę... Niekoniecznie... Oracle javę rozwija, a Ask jest po prostu wymysłem ludzi, którzy nie rozumieją własnych licencji (oracle nie był mi wstanie wytłumaczyć licencji na ichni produkt, bo nie ograniał różnic pomiędzy Core, CPU, Virtual Core i Virtual CPU zawartych w ichniej licencji).
Z olejnych aplikacji np. pakiet Lotus. Świat na prawdę nie sprowadza się do gier.

0

MarekR22 - napisałeś "coś ci się plącze. To Firefox, a nie Microsoft przyblokował wtyczkę. Jak sam widzisz nawet sam Microsoft korzysta z Java." - mój post to miała być lekka ironia, pokazująca, że nawet MS - twórca .NET i innych C# - z Java korzysta, więc tak szybko Java się nie skończy. W świetle tego nic mi się nie poplątało ;-)

0

Po pierwsze trzeba rozróżnić dwie rzeczy: ilość dziur w sandboksie Javy oraz ilość produkowanych exploitów wykorzystujące te dziury. Jeżeli chodzi o same dziury to wcale nie jest ich tak dużo: http://www.cvedetails.com/top-50-products.php - JRE dopiero na 15 miejscu. Do tego znalezienie dziury w sandboksie Javy wcale nie jest proste - każdy kto dokładniej przeanalizował security model Javy może to potwiedzić (np. wspomina o tym w wywiadzie Adam Gowdiak - można powiedzieć, że to główny exploiter Javy).
Dużo natomiast jest samych exploitów. Gdy dziura jest już znana to napisanie w Javie customowego kodu, który ją exploituje jest znacznie prostsze niż babranie się z shellcodami w assemblerze w przypadku natywnych aplikacji. To z kolei tłumaczy statystyki Kasperskiego.

Dziurami w sandboksie Javy muszą się przejmować tylko aplikacje, które faktycznie tego sandboksa używają. Jak wspomniał @Koziołek są to głównie aplety, które i tak od jakiegoś czasu umierają powolną śmiercią. Większość aplikacji nie używa sandboksa. IMHO te aplikacje pisane w Javie, które nie używają sandboksa są bezpieczniejsze od natywnych odpowiedników pisanych np. w C++. Manipulując tylko danymi wejściowymi dla aplikacji w Javie praktycznie nie jest możliwe wytriggerowanie jakiegokolwiek niskopozimowego błędu jak przepełnienie bufora, które mogło by doporowadzić przejęcia sterowania. Można co najwyżej liczyć na błędy w logice aplikacji (zdarzały się takie błedy - np. zdalne wykonanie kodu przez RMI, ale jest ich niewiele w porównaniu z ilością buffer overflowów w natywnych aplikacjach).

Co do .NETu to on też ma sandboksa w którym również są znajdowane dziury. Czemu o tym nie słychać? Prawdopodobnie dlatego, że żadna .NETowa aplikacja która korzysta z sandoksa (np. Silverlight) nie zyskała takiej popularności jak applety Javy :]

1

Panowie i panie, nie pozostaje nam nic innego jak:
user image

0
Bartosz Wójcik napisał(a):

Postanowiłem przenieść dyskusję z wątku o Delphi, gdzie moderator @Krolik usilnie porównuje każdą rzecz w Delphi do Javy. Więc moich kilka obserwacji dlaczego Java nie ma przyszłości:

Moje argumenty to:

1. 161 krytycznych luk w Javie w 2013 roku

http://www.kaspersky.com/about/news/virus/2013/Is_there_any_protection_against_Java_exploits

Czy można zaufać technologii, która sprawia, że twórcy exploitów, malware kitów, hakerzy mogą infektować miliony użytkowników korzystając z luk w Javie, które statystycznie wykrywane były co 2 dni w 2013 roku? Czy jakakolwiek inna technolgia jest tak zabugowana i przyczyniła się do infekcji aż tylu użytkowników, o czym pisze Kaspersky?

Uczepiłeś się tych luk jak rzep psiego ogona. Wszyscy Ci tłumaczą, że luki dotyczą tylko sandboxu Javy, który nie jest wykorzystywany ani w aplikacjach desktopowych ani w serwerowych. Aplikacje napisane w Javie są mniejszym zagrożeniem niż aplikacje w Delphi czy C, bo w tych pierwszych znacznie trudniej doprowadzić do zdalnego wywołania kodu przez przepełnienie bufora i inne błędy związane z zarządzaniem pamięcią. Jedyne co pozostaje to exploitowanie błędów w logice aplikacji.

Poza tym, nawet uwzględniając luki w sandbox Javy, ich liczba jest i tak mniejsza niż innych aplikacji mających bezpośrednią styczność z niezaufanym kodem:
Chrome, Firefox, Adobe Acrobat - wkleiłem Ci linki w innym wątku.

2. Oracle ledwo zipie, a sama Java umiera śmiercią naturalną skoro nawet instalator Javy JRE zawiera w sobie AskToolbar-a, badziew wciskany userom za które Oracle zgarnia kilka centów za każdą instalację, tak zachowują się firmy, które ledwo dają radę i chcą za wszelką cenę jeszcze zarobić na popularności upadających technolgii. Microsoft nie wciska ludziom badziewnych toolbarów przy próbach instalacji .NET Framework-a

Dobry żart. Oracle może jest troszkę podkopywany m.in. przez nas na rynku baz danych, ale ogólnie ma się całkiem nieźle i jest nadal w pierwszej pięćdziesiątce najwyżej wycenianych firm na świecie. A nawet jeśli Oracle by upadł, to jest jeszcze IBM, Apple, Google i inne firmy, którym na Javie za bardzo zależy.

3. Brak jakichkolwiek interesujących aplikacji na PC, oprócz Minercrafta i narzędzi programistycznych jak Eclipse.

Z interesujących: Cisco Webex (używane w korporacjach do telekonferencji), JabRef (manager cytowań używany przez naukowców), Azureus/Vuze (jeden z najlepszych klientów do wymiany plików), mnóstwo narzędzi programistycznych dla programistów innych języków niż Java: PyCharm, RStudio, Nokia SDK.

4. Technologia kompilacji kodu Java do pseudokodu nie chroni twórców oprogramowania przed kradzieżą źródel aplikacji z wykorzystaniem dekompilatorów jak JD-GUI czy JAD bez wykorzystania specjalizowanych obfuscatorów, które i tak zwykle niewiele dają, a jak mniemam nie każdy tak bardzo kocha open source, że cieszy się gdy konkurencja przegląda mu całe źródła ciężko utworzonych aplikacji (na platformę .NET dostępne są dużo bardziej zaawansowane narzędzia) .

JAD potrafi się wyłożyć na nieobfuscowanym kodzie, a co dopiero na kodzie przejechanym ProGuardem. Poza tym rozbudowany program można tak naprawdę wypuścić razem ze źródłami i konkurencji niewiele to da - chyba nigdy nie pracowałeś w słabo udokumentowanym kodzie na milion linii kodu. Często łatwiej napisać od zera niż zrozumieć. Microsoft od lat daje źródła zainteresowanym firmom, raz źródła wyciekły, i co? Ktoś ich użył do zrobienia konkurencyjnego Windowsa?

Mam wrażenie, że nie bardzo wiesz, jakimi prawami rządzi się rynek IT. Główna wartość w IT to ludzie i projekt (i kultura organizacyjna wokół projektu), nie kod źródłowy. Dzięki temu jest wiele firm, które zarabiają na open-source nie mniejsze pieniądze niż da się zarobić na closed-source.

**5. Java nie jest, nie była wspierana na iOS, Steve Jobs powiedział "Java's not worth building in. Nobody uses Java anymore. It's this big heavyweight ball and chain." **

Jak zwykle masz nieaktualne i nieprawdziwe informacje. Java na iOS ma się dobrze, tylko trzeba ją odpowiednio skompilować. Tu masz listę aplikacji w AppStore napisanych w Javie: http://www.robovm.org/. Poza tym Javę można kompilować do JS przez GWT i wtedy chodzi na wszystkim, i nawet nie wiesz, że to napisane w Javie. Jest to przy tym bardzo stabilne i dojrzałe rozwiązanie, wykorzystywane przez Google w wielu produktach.

0

nie chroni twórców oprogramowania przed kradzieżą źródel aplikacji

A kiedyś wyciekły źródła Windowsa. I co? I nic.

Ja bym przestał z tą obsesją w sprawie źródeł.

0

Problem jest gdy chodzi o jakiś konkretny algorytm na przykład. Jeśli jest zaimplementowany w miarę zwięźle to odtworzenie sensu kodu powinno być dużo tańsze/ szybsze/ pewniejsze itd niż wymyślenie algorytmu samemu.

0
Krolik napisał(a):

Uczepiłeś się tych luk jak rzep psiego ogona. Wszyscy Ci tłumaczą, że luki dotyczą tylko sandboxu Javy, który nie jest wykorzystywany ani w aplikacjach desktopowych ani w serwerowych. Aplikacje napisane w Javie są mniejszym zagrożeniem niż aplikacje w Delphi czy C, bo w tych pierwszych znacznie trudniej doprowadzić do zdalnego wywołania kodu przez przepełnienie bufora i inne błędy związane z zarządzaniem pamięcią. Jedyne co pozostaje to exploitowanie błędów w logice aplikacji.

Ty za to bagatelizujesz ilu użytkowników stron www może być zainfekowanych przez te nieistotne twoim zdaniem dziury. Nie przeszkadza Ci to, bo po prostu tego nie widzisz, jednak twórcy malware kitów doskonale to wykorzystują, dla nich to tylko kolejna furtka do systemu, a Java przoduje w tym bagienku.

Krolik napisał(a):

Z interesujących: Cisco Webex (używane w korporacjach do telekonferencji), JabRef (manager cytowań używany przez naukowców), Azureus/Vuze (jeden z najlepszych klientów do wymiany plików), mnóstwo narzędzi programistycznych dla programistów innych języków niż Java: PyCharm, RStudio, Nokia SDK.

Azureus, Azureus i Azureus :), 1 normalny desktopowy program i reszta specjalizowanych aplikacji. Nie przemawia to do mnie. Ani do zwykłych użytkowników desktopów. Widać po tym, że Java to niszowe rozwiązanie dla niszowych grup użytkowników, specjalizowane oprogramowanie bankowe, specjalizowane bazy danych, narzędzia programistyczne, za to brak jakichkolwiek popularnych aplikacji. To są fakty, a jedyne co potrafisz wymienić to ten Azureus, dałbyś sobie już z tym spokój.

Krolik napisał(a):

JAD potrafi się wyłożyć na nieobfuscowanym kodzie, a co dopiero na kodzie przejechanym ProGuardem. Poza tym rozbudowany program można tak naprawdę wypuścić razem ze źródłami i konkurencji niewiele to da - chyba nigdy nie pracowałeś w słabo udokumentowanym kodzie na milion linii kodu. Często łatwiej napisać od zera niż zrozumieć. Microsoft od lat daje źródła zainteresowanym firmom, raz źródła wyciekły, i co? Ktoś ich użył do zrobienia konkurencyjnego Windowsa?

JAD to przestarzały dekompilator, JD-GUI jest znacznie lepszy - polecam. Czy źródła Windows zostały użyte do nowego Windowsa? Nie, ale projekty takie jak WINE czy ReactOS na pewno pełnymi garściami zaczerpnęły z tej wpadki, nie mówiąc oczywiście o ludziach, którzy mogli sobie dogłębnie przeanalizować źródełka w poszukiwaniu potencjalnych luk.

Krolik napisał(a):

Mam wrażenie, że nie bardzo wiesz, jakimi prawami rządzi się rynek IT. Główna wartość w IT to ludzie i projekt (i kultura organizacyjna wokół projektu), nie kod źródłowy. Dzięki temu jest wiele firm, które zarabiają na open-source nie mniejsze pieniądze niż da się zarobić na closed-source.

Dziękuję za uświadomienie.

Krolik napisał(a):

Jak zwykle masz nieaktualne i nieprawdziwe informacje. Java na iOS ma się dobrze, tylko trzeba ją odpowiednio skompilować. Tu masz listę aplikacji w AppStore napisanych w Javie: http://www.robovm.org/. Poza tym Javę można kompilować do JS przez GWT i wtedy chodzi na wszystkim, i nawet nie wiesz, że to napisane w Javie. Jest to przy tym bardzo stabilne i dojrzałe rozwiązanie, wykorzystywane przez Google w wielu produktach.

Wybacz, ale to nie to samo co natywne wsparcie dla Javy, RoboVM jest też komercyjnym narzędziem, za które trzeba zapłacić, gdzie tu darmowość Javy? Takie Delphi np. pozwala na naturalne tworzenie natywnych aplikacji dla iOS i Maców, zamiast bawić się w jakąś dziwną translację w narzędziu, które na dodatek nie jest stabilne, o czym można się przekonać wpisując RoboVM w Google:

http://stackoverflow.com/questions/19443203/app-not-launching-after-exporting-in-robovm

Coś cienko ta Java daje radę skoro trzeba wspomagać się jakimiś 3rd party komercyjnymi, zabugowanymi udziwnieniami, żeby w ogóle cokolwiek uruchomić.

0
Bartosz Wójcik napisał(a):
Krolik napisał(a):

Z interesujących: Cisco Webex (używane w korporacjach do telekonferencji), JabRef (manager cytowań używany przez naukowców), Azureus/Vuze (jeden z najlepszych klientów do wymiany plików), mnóstwo narzędzi programistycznych dla programistów innych języków niż Java: PyCharm, RStudio, Nokia SDK.

Azureus, Azureus i Azureus :), 1 normalny desktopowy program i reszta specjalizowanych aplikacji. Nie przemawia to do mnie. Ani do zwykłych użytkowników desktopów. Widać po tym, że Java to niszowe rozwiązanie dla niszowych grup użytkowników, specjalizowane oprogramowanie bankowe, specjalizowane bazy danych, narzędzia programistyczne, za to brak jakichkolwiek popularnych aplikacji. To są fakty, a jedyne co potrafisz wymienić to ten Azureus, dałbyś sobie już z tym spokój.

Technologia nie musi przemawiać do użytkowników desktopów. Ba, tak naprawdę to użyte technologie ich nie obchodzą. Program napisany w dowolnej technologii ma im działać sprawnie. Użytkownik naprawdę nie jest fanboyem środowiska uruchomieniowego.

http://uniquecopywriter.hubpages.com/hub/Top-10-Javas-Apps-Globally-Recognized-and-Appreciated

http://puppygames.net/ - desktopowe wieloplatformowe gry, trafiły na humble bundle i steam, przemawia to za ich jakością ;)

- Java ma własny hymn :)

BTW. ten "ledwo zipiący" Oracle jeszcze ma VirtualBoxa :) Co prawda nie jest on naklepany w Javie, ale zawsze coś ;)

2

Czy tylko mi się wydaje, że dyskusja jest bezcelowa i nikt autora do niczego nie przekona? Już forma tytułu wątku dowodzi, że autor nie jest zainteresowany stanem faktycznym, ale szuka dowodów na założoną tezę.
Ja mu takich dowodów dostarczyć nie potrafię.

0

Ty za to bagatelizujesz ilu użytkowników stron www może być zainfekowanych przez te nieistotne twoim zdaniem dziury. Nie przeszkadza Ci to, bo po prostu tego nie widzisz, jednak twórcy malware kitów doskonale to wykorzystują, dla nich to tylko kolejna furtka do systemu, a Java przoduje w tym bagienku.

Jeżeli ktoś używa Windows XP i wchodzi IE6 na strony porno, i łapie wirusy, to Twoim zdaniem to jest wina Microsoftu, Windowsa i IE? Czy może głupoty użytkownika? W żadnej dobrej przeglądarce niezaufany kod Javy nie odpala się sam z siebie - trzeba jeszcze kliknąć (przy założeniu, że przeglądarka nie ma dziury pozwalającej to obejść). Jak nie wiesz w co klikasz, to na wszelki wypadek radzę odstawić Internet na jakiś czas.

0

Java wydała już kilka swoich dzieci które będą ją pożerały ( Scala, Groovy, etc. http://en.wikipedia.org/wiki/List_of_JVM_languages )
Ale sama z siebie nie zniknie.
Może z czasem zastąpi COBOL-a, gdy średnia wieku programistów tego ostatniego niebezpiecznie zbliży się do średniej dożywalności wśród informatyków.
:)

0

Dlaczego Java nie ma przyszłości? Przykład z dziś:

"For example, the existing classes (such as java.util.Date and SimpleDateFormatter) aren’t thread-safe, leading to potential concurrency issues for users—not something the average developer would expect to deal with when writing date-handling code."

http://www.oracle.com/technetwork/articles/java/jf14-date-time-2125367.html

http://stackoverflow.com/questions/12252967/how-to-make-java-util-date-thread-safe

http://stackoverflow.com/questions/12131324/is-java-util-calendar-thread-safe-or-not

Jak język programowania, w którym prosta czynność jak manipulacja i formatowanie daty stanowi zagrożenie dla wielowątkowych aplikacji w 2014 roku może mieć przyszłość? Dopiero w nowej wersji w 2020 roku? ;)

Komentarze ludzi na hackernews odnośnie tych rewelacji

"The only way to think about Java and not go insane is to forget about pretty much the entire built-in standard library and instead go use the extremely solid 3rd party libraries. If I don't have JodaTime, Apache Commons and Google Guava on my classpath, I feel like my hands are tied."

"Regarding date and time stuff, everyone appears to use Joda-Time: http://www.joda.org/joda-time/"

"A lot of people still use the built in Java stuff, they just don't enjoy it. Especially since a lot of code predates the existence of alternatives."

"That's one of the main reasons I enjoy programming in C#/.NET. The fact that there are, as far as I'm concerned, a solid set of de facto libraries without having to hunt around for third-party ones somehow makes me feel warm and fuzzy."

Źródło https://news.ycombinator.com/item?id=7258115

@Krolik i co powiesz, żeby móc korzystać z Javy lepiej nie korzystać z oficjalnych bibliotek, tylko z 3rd parties, bo zapomnieli o tym, że aplikacje mogą mieć więcej niż 1 wątek? I jak to ma się do twojej teorii, że najlepszym rozwiązaniem są tylko i wyłącznie oficjalne biblioteki producenta, a nie jakiegoś "hobbysty"?

"20 years to finally get this right. TWENTY YEARS, MAN!" - to chyba dobre podsumowanie jak Sun i Oracle traktują ten język, widać uzbierali pieniążki z AskToolbara i w końcu zapłacili jakiemuś studentowi za nowe API.

0

Dlaczego nie warto wybierać Javy? Może dlatego, że tylko krytyczne błędy są poprawiane w kolejnych wydaniach JDK, a tak poza tym to nikomu to nie przeszkadza, byle na ustalony wcześniej termin było wydane

"But at this stage of the release process, only "showstopper bugs" are being considered for fixing in the initial JDK 8 release. "Non-showstopper bugs will be deferred to a later release in order to ensure we keep to the JDK 8 schedule and can ship on March 18."

http://www.infoworld.com/t/java-programming/full-speed-ahead-oracle-ship-java-8-in-march-even-bugs-234091

No i te luki krytyczne, które sprawiają, że Java nie nadaje się na desktopy w jakiekolwiek formie

"If Java on the desktop isn't dead yet, its latest security update should go a long way toward convincing people it should be."

http://www.infoworld.com/t/security/javas-insecurity-has-doomed-it-the-desktop-228922

"Oracle has used that fact to its advantage, claiming, "When we acquired Sun, [it] was not in a position to fully fund the security team,""

To już wiecie dlaczego dali AskToolbara w instalatora Javy. Jasno i na temat :)

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