Cafec,
začínám se učit javu a nějak sem se zakecal s kámošem kterej dělá C++ a mám v tom trochu bordel...
Jaký například programy se daj udelat v jave? A jaky hry? Nebo co je naprogramovany v jave a k cemu je java nejlepsi (jako co se v ni prevazne programuje)? Moc programu na komp sem nevidel .jar a nejak sem se nedostal k tomu ze by se java dala ukladat do .exe ...
Heh snad me nevysmejete mam v tom hroznej zmatek...
Fórum › Java
Programy, hry v jave
Java asi nie je moc na programovanie hier, je pomalšia ako c++ Má však velikú výhodu pretože pri napísaní kódu a skompilovaní nie do .exe, ale to tzv. bajtového kódu .jar ktorý je spustitelný na takmer (možno aj na každej platforme) kde je nainštalovaný JVM java virt. machine To má takmer každý comp pripojený k netu.
Takže je to skôr jazyk pre net (môj názor) raz skompiluješ a pustíš takmer všade (podmienka JVM určite to máš aj ty), kdežto c++ ... musíš skompilovať zvlášť pre každú platformu
Ok moc díky za odpověď...
Ještě mám otázku... Vždycky když stáhnu nějakej prgram třeba ze stahuj nebo tak tak je to .exe ... V čem se tedy používá java? Myslím že se mi nestalo abych měl na kompu nějakej prográmek s koncovkou .jar Takže mě zajímá na co se tedyjava zaměřuje?
To mio: To neni pravda, java neni pomalejsi nez C++, v nekterych pripadech je dokonce rychlejsi! V jave je naprogramovano plno her, dokonce i 3D! V jave muze delat i 3D hry, ale musis si stahnout Java3D... A naco exe? Staci mit nainstalovane JRE a spustis .jar. Kdyz by ten kdo to chce spustit neumel s cmd tak staci napsat *.bat soubor na ktery kdyz kliknes, tak spusti java aplikaci :-)
To master To či je Java pomalšia ako napr. c++ nemám zo svojích skúseností (bohužial) aj ja som len niekde v začiatkoch. Ako je to teda s triedami vraj Java si pri každom spúšťanom programe zavádza do pamäte viac (aj nepotrebných) balíčkov, tried oproti c++ (nemám odskúšané)
Moja druhá otázka, čo je to Java3D?
Bat soubor vytvoris normalne pomoci napr. notepadu. Otevri notepad a napis tam:
cls
java -jar tvojeaplikace.jar
Pak to uloz jako neco.bat. Pak staci ten soubor bat dat do stejneho adresare jako je .jar soubor. Kdyz poklikas na bat soubor, tak se automaticky vykona kod, ktery spusti jar soubor. Pokud mas linux tak se to dela trochu jinak :)
To mio: Java3D je sada knihoven, ktere ti umozni delat 3D veci :-) Ja s mym kamaradem jsme udelali uz i 3D hru :-) Jen to chce opravdu dobre prostudovat. Pukud by jsi mel zajem a mas uz vetsi zkusenosti s Javou tak zkus si koupit knihu Programovani dokonalych her v Jave kde se prave programuje s Java3D.
Tu jde o to, že ja se ucim Javu jen chvilku a tak jeste musim vyresit rychlost te hry... Ale ta hra vypada takhle (jsou to 3D krvinky a bacili co musis zabijet...) Ale ted prave chceme udelat 3D strategii :-) Takze jestli ji dodelame tak tu pak ten link hodim....
V Jave kdyz uz hry , tak asi nejznamnejsi jsou Java hry na mobil , to ale delas v Java J2ME. To je celkem sranda , moc se s tim nemusis placat , kdyz delas "maly" hry do mobilu. Ale nejakou "velkou" opravdu 3D hru na komp ,co stoji za hrich jsem v Jave jeste nevidel :)
Btw : nedavno mi psal kamarad tento vyraz : umet jazyk != umet programovat
( pro lamky : != je znacka nerovnosti xD )
To znamena , ze muzes umet cokoliv, ale kdyz to neumis aplikovat , tak ti to je k nicemu.
Java je podle me lehci pro zacatecniky ( zase jak pro koho ) a navic, kdyz umis nejaky jazyk poradne , tak se snadno preorientujes na jiny...
Ale i kdyz delas v C++ 3D hry nebo tak ,tak urcite budes muset umet neco ve 3Ds maxu nebo podobnym 3D modelovacim programu...Vem si , ze hry ( myslim vetsi ) se nevytvarej za jedno odpoledne a vetsinou se delaji v teamu , jeden dela napr. grafika , druhej zvukare , treti programator , a pomocny programatori atd ( uklizecku nepocitam :D ) . Jeste jsem nevidel borce co si udela krasny modely v 3Ds maxu , pak si udela svuj engine , udela si realny , profesionalni zvuky...a jeste si to sam vyda :D
Ta hra je treba zalezitost dvou let i kdyz mas team :)
Sandak píše:#
# Jaký například programy se daj udelat v jave? A jaky hry?
JME - http://java.sun.com/javame/index.jsp
JSE - http://java.sun.com/javase/
JEE - http://java.sun.com/javaee/
Sandak píše:#
# Nebo co je naprogramovany v jave
http://www.java.com/en/everywhere/
http://www.java.com/en/about/
"Today, you can find Java technology in networks and devices that range from the Internet and scientific supercomputers to laptops and cell phones, from Wall Street market simulators to home game players and credit cards -- just about everywhere."
Sandak píše:#
# Moc programu na komp sem nevidel .jar a nejak sem se nedostal k tomu ze by se java dala ukladat do .exe ...
IMHO toto je problemom vela ludi, ktori chcu zacat s Javou - bez toho aby si nieco precitali chcu hned konat.
http://www.excelsior-usa.com/articles/java-to-exe.html
master píše:#
# ... java neni pomalejsi nez C++, v nekterych pripadech je dokonce rychlejsi! ...
:)
master píše:#
# Java je mlady jazyk a tak jeste neni tolik programu v Jave...
:D
To sn3d:
Ano je to pravda :-). Pokud nekde najdes ze C++ je rychlejsi nez Java tak se zrejme bavili o JDK 1.1. Jenze to bylo taky par let zpet kdy byla Java 40x - 50x pomalejsi nez C. Jenze ted je JDK 1.6 ktere je 1.1* pomalejsi nebo dokonce v nekterych pripadech rychlejsi nez C. (www.theserverside.com/news/thread.tss?thread_id=26634)
vynatek:
"I was sick of hearing people say Java was slow," says Keith Lea, "so I took the benchmark code for C++ and Java from the now outdated Great Computer Language Shootout (Fall 2001) and ran the tests myself." Lea's results three years on? Java, he finds, is significantly faster than optimized C++ in many cases.
A kdyby jste nikdy nevideli hry 3D v jave tak jste asi moc nehledali:
http://javaisdoomed.sourceforge.net
www.chromethegame.com/en/show.php
http://www.lawandordergame.com/
IL-2 sturmovnik - napsan v Jave i C++
www.roboforge.com
A mohl bych pokracovat celou strankou... Fakt nesnasim lidi co se smejou a vi o Jave sprominutim Hovno!
Nieco k tej rychlosti C/C++ a Javy:
http://www.irrlicht3d.org/pivot/entry.php?id=446
http://java.about.com/gi/dynamic/offsite.htm?site=http://www.idiom.com/%257Ezilla/Computer/javaCbenchmark.html
http://en.wikipedia.org/wiki/Java_performance
IMHO aj ja si myslim, ze casy kedy bola Java povazovana za pomalu (kvoli interpretacii) su uz prec. S prichodom JIT kompilacie je situacia ina. Samozrejme dost zalezi aj na oblasti, o ktoru sa jedna vid. link na wiki, kde je to slusne popisane. Problem je v tom ze z Javy sa neda priamo pristupovat (bez JNI) na nizku uroven - assembler, ktory je v rychlosti "geroj" co urcite ovplyvnilo nejeden benchmark (aspon podla mna). Dalsia vec je aj kebyze sa stane Java rychlejsia, tak to neznamena, ze sa bleskovo presedla na nu uz len kvoli tomu, ze tony softwaru su napisane v C/C++ a presli vlastnou "evoluciou".
master píše: nesnasim lidi co se smejou a vi o Jave sprominutim Hovno!#
##
#
Tieto testy su pre mna irelevantne uz len z toho dovodu ze ten test robil pravdepoedobne Javista. Ked najdem testy ktore robil Ceckar tak budu v prospech Cecka. C/C++ nieje len tak jednoducha a kratkozraka zalezitost ako ju povazujes ty. Dokonca na tvojom mieste by som daval pozor ci pises C++ alebo C, lebo C je fakt len citatelnejsi assembler takze to uz je uplne nieco ine. Uz len to ze C/C++ a Java su dve uuuuuuplbe odlisne veci. Pri C/C++ zalezi na optimalizacii, taktiez kompilator akym bol kod skompilovany. Nikde som nevidel v tych testoch cim to bolo kompilovane a s akymi prepinacmi. Taktiez som nevidel zdrojove kody. (GCC kompilator nieje najrychlejsi, su aj lebsie kompilatory). Napisat do googlu c++ java performance viem aj ja a presne to som ocakaval ako tvoju reakciu. Porovnavat C/C++ a Javu je proste nezmysel tak ako sa hadat ci je lebsie C++ alebo Java. To vies aj sam!Jedna dolezita vec! Ja sa Jave nesmejem(sam z nou robim lenze robim aj z C a C++) ale tvrdit proste ze Java je rychlejsia ako Cecko je zcestne. C/C++ je tak rychle, ako je sikovny koder, kdezto Java ta pusti len do urcitej urovne.Napriek tomu ma Java obrovsku vyhodu v memory managemente(ale aj nevyhodu). Javista sa nemusi zadrbavat tolko z memory leakmi alebo z oblubenou hlaskou "segmentation fault", ale prave z tohto dovodu proste Java nebude nikdy rychlejsia. Nikdy sa neprejde zase len na cisto Java riesenia. Su oblasti, kriticke aplikacie, ktore proste napisat v Jave je masochizmus, tak isto ako su oblasi kde pisat v C/C++ je zase na samovrazdu.Takze cakat na nejaku Java revoluciu je tiez nezmysel. Proste to je asi take tvrdenie ako tvrdenie ze XML je z pohladu performance a velkosti vyhodnejsie ako ASN1.
Co sa tyka hier a 3D, k tomu sa nevyjadrujem lebo je to tema mimo mna a ani som to nenapadal. Viem o Java3D a viem ze jeho performance je obstojny.Taktiez viem o tom ze su hry napisane v Jave.Lenze to som tu nerozoberal.
Ano maš pravdu, že se to neda takhle porovnavat, ale vadi mi když někdo řekne že Java je strašně pomala.... Ja bych to řekl takhle: Java se muže rovnat C/C++ . A jestli si nekdo mysli ze Java neni dobra na psani her, tak to si mysleli to same i C v roce 80 kdy v tom chteli zacit delat hry, ze se v C nikdy nemuze udelat rychla hra a ze je to moc vysokourovnovy jazyk. Jenze az se jim podarilo napsat DOOM a dalsi tyto hry tak okamzite zmenili nazor. Dalsi vyhodou javy oproti C, ze ma docela velke vyuziti (J2ME, J2SE, J2EE, Java Card, Applety....), ale zase C ma treba vyhodu v tom, ze se v nem delaji a jeste dlouho budou delat treba drivery :-) a to v Jave asi ne :-D Ja bych rekl, ze je jedno kdo v cem programuje, hlavne at to sve remeslo ovlada co nejlepe. Kazdy jazyk ma nejake sve pro a proti. Neda se rict co je lepsi, ale co ti vice vyhovuje. Vzdy na kazdy problem se hodi kazdy jazyk jinak :-)
Sandak píše:#
# Když udělám program .jar tak když ho bude někdo chtít spustit tak na to nestačí 2x kliknout ale musí se to z příkazovýho řádku?
To Sandak:
Záleží na tom, jak je Java instalovaná. Při standardní instalaci se nastaví asociace tak, že po poklepání na JAR soubor se tento spustí obdobně jako třeba EXE. Pokud to z nějakého důvodu nefunguje, stačí upravit asociace a vše se zase rozběhne.
To sn3d:
sn3d píše:#
##master píše:#
# To neni pravda, java neni pomalejsi nez C++, v nekterych pripadech je dokonce rychlejsi!
##
#Tak toto je dobra perla. Evidentne nevies co pises.
Obávám se, že ses před tím, než jsi mastera začal osočovat z neznalosti, zapomněl podívat, jak to s těmi rychlostmi doopravdy je. Java opravdu běží v některých programech ryhleji než obdobné programy v C++, a to proto, že při překladu programů v C++ je možno použít pouze statickou optimalizaci, kdežto při JIT překladu javových programů se používá optimalizace dynamická. Jinými slovy: když virtuální stroj zjistí, že se situace změnila a hodilo by se mu mít část programu přeloženou jinak, tak si ji přeloží znovu a optimalizaci nastaví podle aktuální situace. Ušetřený čas bohatě vynahradí čas opětovného překladu. Takovéto dynamické záležitosti jsou u staticky překládaných jazyků (např. C++) za hranicí jejich představivosti.
Sandak píše:#
# Tu jde o to, že ja se ucim Javu jen chvilku a tak jeste musim vyresit rychlost te hry... Ale ta hra vypada takhle (jsou to 3D krvinky a bacili co musis zabijet...) Ale ted prave chceme udelat 3D strategii :-) Takze jestli ji dodelame tak tu pak ten link hodim....
Chceš-li se něco dozvědět o psaní her v Javě (včetně 3D her), půjč si někde knihu
D.Brackeen: Vývoj her v jazyku Java, ISBN80-247-0874-4
Tam je spousta věcí popsaná, a to poměrně průzračně a čtivě.
Niekedy je síce rýchlejšia, ale u hier je C++ asi najrýchlejšie, preto aj najpoužívanejšie.master napsal:
To mio: To neni pravda, java neni pomalejsi nez C++, v nekterych pripadech je dokonce rychlejsi! V jave je naprogramovano plno her, dokonce i 3D! V jave muze delat i 3D hry, ale musis si stahnout Java3D... A naco exe? Staci mit nainstalovane JRE a spustis .jar. Kdyz by ten kdo to chce spustit neumel s cmd tak staci napsat *.bat soubor na ktery kdyz kliknes, tak spusti java aplikaci :-)
master napsal:
... Tez nechapu proc puzivaji heapsort na trizeni :-D
nechci machrovat, ale ze by to bylo kvuli tomu zeeee... je jeden z nejlepsich? asymptotickou slozitost ma N.logN a naroky na datovy uloziste konstantni...
Neviem ci to tu niekto pisal, necital som to tak dokladne. Chcem len poznamenat ze java kod sa da prekompilovat do nativneho kodu, napr. pomocou gcj. Ale nie vzdy je to vhodne, lebo kod nespustis na roznych platformach a ine o ktorych neviem, zevraj bezpecnost a velkost, ale to nech ti vysvetlia informatici. Napriklad CERN Colt nieje kompilovany do nativneho kodu, lebo v bytecode ma nieco okolo 90% vykonu voci nativnemu kodu. Zda sa mi ze aj openoffice je robeny v jave.
Dalsia vec .jar balik sa da tiez spustit priamo staci to mat nastavene, teda neviem ako sa to robi v oknach, ale v linux staci urcit ako sa ma dany subor spustat. A potom to ide po kliknuti. Cize netreba pisat vselijake skripty.
Zdar hele jestli znáš minecraft tak, když děláš server tak taky používáš . bad to je jen script, kterým se dobudoucnosti na různé programy dělají různé automaty jako pošleš sms a v programu to něco přidá apod..
Java je mnohem modernejsi daji se v ni naprogramovat ruzne gui programy, co se jedna her tak se pouziva
na jednoduchsi 3d hry nebo na indie hry , za to c++ je starsi (byl vyvinuty v osmdestatych letech)
ale vykonejsi a pouziva se na tvorbu narocnych her kuli jeho rychlosti a vykonosti.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Tvorba hry - programy — založil Qui
Programy v C++ — založil Kajik
Začátečnické programy — založil zodian45
C++ jaké programy? — založil tazatel
Moderátoři diskuze