Co się pisze w Javie?

Odpowiedz Nowy wątek
hst
2010-01-02 00:50
hst
0

Witam,
Interesuje mnie jakie są główne zastosowania Javy? Jakiego typu soft głównie się pisze w Javie (np. strony webowe, aplikacje użytkowe itp)?
Czy jest jakaś lista w której są wymienione aplikacje napisane w Javie (dla C++ taką listę znalazłem, dla Javy jakoś nie widzę)

Pozostało 580 znaków

2010-01-02 01:28

Rejestracja: 11 lat temu

Ostatnio: 4 lata temu

0

Aplikacje mobilne, aplikacje przenośne (niezależne od platformy), obsluga portali internetowych (JSP, itp), aplikacje korporacyjne, narzedzia...

Jedynie gier o wysokich wymaganiach w tym nie napiszesz, bo by dzialaly za wolno.

Pozostało 580 znaków

2010-01-02 01:56

Rejestracja: 17 lat temu

Ostatnio: 7 lat temu

0

@up - zapomniałeś o najważniejszym, w Javie piszę się programy w javaszkołach :)

Pozostało 580 znaków

2010-01-02 02:05

Rejestracja: 15 lat temu

Ostatnio: 4 minuty temu

0

Gier w Javie się nie pisze ponieważ nie ma np sprzętowego wsparcia dla sprawdzania granic tablic, a komunikacja z opengl odbywa się poprzez ślamazarne jni. Podobno w takim C#owym XNA da się pisać dość wydajne aplikacje C# + DirectX Managed. Gdyby OpenGL był wbudowany w Javę to wtedy w Javie można by tworzyć mniej skomplikowane gry (aplikacje w Javie zużywają dużo więcej pamięci niż natywne).


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

2010-01-02 10:38

Rejestracja: 13 lat temu

Ostatnio: 8 lat temu

0
donkey7 napisał(a)

Gier w Javie się nie pisze ponieważ nie ma np sprzętowego wsparcia dla sprawdzania granic tablic, a komunikacja z opengl odbywa się poprzez ślamazarne jni. Podobno w takim C#owym XNA da się pisać dość wydajne aplikacje C# + DirectX Managed. Gdyby OpenGL był wbudowany w Javę to wtedy w Javie można by tworzyć mniej skomplikowane gry (aplikacje w Javie zużywają dużo więcej pamięci niż natywne).

Czasem zamiast pisac glupoty lepiej nic nie pisac. Gry w javie tworzy sie na platformy mobline i to w duzych ilosciach. Jni wcale nie jest bardziej slamazarne niz C# i jedyna przewaga C# jest tutaj mozliwosc pisania na xbox'a. W javie da sie pisac rowneiz gry komputerowe na pc i pare takich powstalo(runescape, wurm online i pare innych) i predkosc dzialania wcale nie jest tutaj przeszkoda.
W ramach ciekawostki paru osobom sie chcialo przeportowac silnik quake II na jave i jest on w zasadzie rownie wydajny co wersja napisana w c: http://bytonic.de/html/benchmarks.html .

Wracajac do tematu posta w javie glownie pisze sie nudne aplikacje webowe i wybierajac te droge to jest najbardziej prawdopdobona sciezka kariery ;).

Pozostało 580 znaków

2010-01-02 17:17
Moderator

Rejestracja: 16 lat temu

Ostatnio: 2 dni temu

0

Wracajac do tematu posta w javie glownie pisze sie nudne aplikacje webowe i wybierajac te droge to jest najbardziej prawdopdobona sciezka kariery

Patrząc globalnie pewnie masz rację. Ale nie oznacza to, że nie ma firm, które w Javie robią ciekawe projekty. W Javie pisze się obecnie całkiem dużo kodu do zastosowań naukowych (np. CERN, NASA), jak również dużo innowacyjnych projektów (Google ma ok. połowy rzeczy na Javie, w tym AdWordsy i GMail).

Gier w Javie się nie pisze ponieważ nie ma np sprzętowego wsparcia dla sprawdzania granic tablic

LOL.

Gdyby OpenGL był wbudowany w Javę to wtedy w Javie można by tworzyć mniej skomplikowane gry

O JOGLu słyszał?

aplikacje w Javie zużywają dużo więcej pamięci niż natywne

Proszę o linka do artykułu w recenzowanym czasopiśmie albo uzasadnienie. Inaczej to czcze gadanie.
Owszem, można zgodzić się, że wymagają te kilka MB więcej na runtime JVM. Ale co to jest kilka MB jak obecnie większość ludzi ma GB w swoich maszynach, a sam OS pożera setki MB.

Pozostało 580 znaków

2010-01-02 21:21

Rejestracja: 15 lat temu

Ostatnio: 4 minuty temu

0

http://shootout.alioth.debian[...]test=binarytrees&lang=all
Wystarczy wybrać dowolny benchmark - programy w Javie zajmują ok 5x więcej pamięci niż te w C++ (np zamiast 100 MiB zajmują 500 MiB).

Kod w którym jest dużo odwołań do elementów tablic jest wyraźnie wolniejszy w Javie, nawet kilkadziesiąt procent (z wyjątkiem jakichś egzotycznych kompilatorów optymalizujących takie odwołania). Jak ktoś chce to mogę poszukać stosownych porównań.

luser:
Java w tym zestawieniu jest "szybsza" bo kod Javowy jest lepiej napisany niż ten w C - ten w C jest bardzo stary.


"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson & Sussman, SICP, preface to the first edition
"Ci, co najbardziej pragną planować życie społeczne, gdyby im na to pozwolić, staliby się w najwyższym stopniu niebezpieczni i nietolerancyjni wobec planów życiowych innych ludzi. Często, tchnącego dobrocią i oddanego jakiejś sprawie idealistę, dzieli od fanatyka tylko mały krok."
Demokracja jest fajna, dopóki wygrywa twoja ulubiona partia.

Pozostało 580 znaków

rnd
2010-01-02 21:27
rnd

Rejestracja: 12 lat temu

Ostatnio: 8 lat temu

0

Gier w Javie się nie pisze ponieważ nie ma np sprzętowego wsparcia dla sprawdzania granic tablic

LOL. Nie ma czegoś takiego jak 'sprzętowe' sprawdzanie granic tablic. W C++ w ogóle nie ma sprawdzania indeksów: gdy odwołasz się poza zakres tablicy to albo dostaniesz segfaulta (gdy odwołasz się poza pamięc przydzieloną dla procesu) albo nadpiszesz sobie kawałek pamięci używanej przez twój program.
Dostęp do tablic jest tylko dlatego wolniejszy, że Java sprawdza indeksy a C/C++ tego nie sprawdza.


#define TRUE FALSE
//Happy debugging suckers :D

Pozostało 580 znaków

luser_nz
2010-01-02 21:55
luser_nz
0
donkey7 napisał(a)

http://shootout.alioth.debian[...]test=binarytrees&lang=all
Wystarczy wybrać dowolny benchmark - programy w Javie zajmują ok 5x więcej pamięci niż te w C++ (np zamiast 100 MiB zajmują 500 MiB).

Kod w którym jest dużo odwołań do elementów tablic jest wyraźnie wolniejszy w Javie, nawet kilkadziesiąt procent (z wyjątkiem jakichś egzotycznych kompilatorów optymalizujących takie odwołania). Jak ktoś chce to mogę poszukać stosownych porównań.

No to wyzywam Cie znajdz kod w ktorym kod odwolania do talibc sa w javie o kilkadziesiat procent wolniejsze niz w c++. Czekam.

Pozostało 580 znaków

deus.
2010-01-02 22:03
deus.
0
rnd napisał(a)

Nie ma czegoś takiego jak 'sprzętowe' sprawdzanie granic tablic.

Mhm, wolna jak cholera i starsza niż 90% użytkowników tego serwisu instrukcja bound? Może i mało użyteczna, ale istnieje.

rnd napisał(a)

W C++ w ogóle nie ma sprawdzania indeksów

Mhm, tylko w czystych tablicach, wszelkie kontenery jak najbardziej to oferują. FFI (JNI, unsafe etc.) pozwala na dostęp do pamięci poprzez pointery - masz te swoje 'tablice' z C++.

rnd napisał(a)

Dostęp do tablic jest tylko dlatego wolniejszy, że Java sprawdza indeksy a C/C++ tego nie sprawdza.

Mhm, VM ma piękną przewagę nad C++ - może oferować sprawdzenia i eliminować je kiedy poprawność indeksów będzie zagwarantowana, aplikacja natywna albo zawsze będzie sprawdzać albo nigdy.

Pozostało 580 znaków

rnd
2010-01-02 22:09
rnd

Rejestracja: 12 lat temu

Ostatnio: 8 lat temu

0

Mhm, tylko w czystych tablicach, wszelkie kontenery jak najbardziej to oferują. FFI (JNI, unsafe etc.) pozwala na dostęp do pamięci poprzez pointery - masz te swoje 'tablice' z C++.

Wiem o tym, że w kontenarach jest taka opcja (np. at w vectorze) ale jeszcze nie widziałem kodu, który by tego używał.

VM ma piękną przewagę nad C++ - może oferować sprawdzenia i eliminować je kiedy poprawność indeksów będzie zagwarantowana

Raczej chodziło mi o ogólny przypadek.


#define TRUE FALSE
//Happy debugging suckers :D

Pozostało 580 znaków

Odpowiedz

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

Robot: Yandex