• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Java.

Xadrian

Active Member
Joined
Feb 24, 2008
Messages
905
Reaction score
26
Location
Poland, Stalowa Wola
Siedzę sobie i zastanawiam się, co rdzenni użytkownicy myślą o językach programowania typu Javy. Moja ciekawość wynika z tego, iż OpenTibia którą znałem w większości opierała się na rozwiązaniach C++ w zakresie serwerów/narzędzi, oraz PHP w formacie stron webowych. Co do nieprzemijalności C++ mogę się zgodzić, to patrząc jak dziurawe były narzędzia pisane przez pehapowiczów, miłym akcentem byłoby wejście na wyższy poziom :)

Ze szybkością Javy z początkowych wersjach różnie to bywało, teraz powoli dogania C++ dzięki bajerom takim jak JIT (na pewno kojarzycie ten skrót; mieliśmy do czynienia chociażby z LuaJIT). Tak czy inaczej, gdyby wrzucić OpenTibię na realia Javy mielibyśmy bardzo ciekawe możliwości skryptowania serwera - wystarczy zobaczyć jak mocno rozwinęła się sfera pluginów do Minecrafta.

W każdym razie, nie chcę narzucać konkretnego toru dyskusji, może Wy macie coś ciekawszego do powiedzenia?

+bonus:
http://www.youtube.com/watch?v=kLO1djacsfg
 
Java nigdy nie będzie tak szybka jak C++, ponieważ ten cały kod gdzieś musi być parsowany, to tak jakby tworzyć powłokę dla języka programowania, zamiast po prostu programować. Daje to tylko tyle, że to naprawdę jest wielo-platformowę :). Z Javą to będzie jak C#, serwer da się zrobić, ale czy opyla się takie coś rozwijać?
 
Java nigdy nie będzie tak szybka jak C++, ponieważ ten cały kod gdzieś musi być parsowany, to tak jakby tworzyć powłokę dla języka programowania, zamiast po prostu programować. Daje to tylko tyle, że to naprawdę jest wielo-platformowę :). Z Javą to będzie jak C#, serwer da się zrobić, ale czy opyla się takie coś rozwijać?
java jest prekompilowana do opcode maszyny wirtualnej, na której działa
+java jest łatwiejsza do debugowania dzięki czemu aplikacje można rozwijać dużo szybciej
 
W programowaniu nie siedzę ale wystarczy spojrzeć na działanie i chujową optymalizację minecrafta, aby stwierdzić, że java to...
(przypomniał mi się obrazek)
39164_20_500_Jezyki-Programowania-I-Samochody.jpg


P.S.

open tibia nie ma się za dobrze, póki cipsoft nie rozreklamuje normalnej tibii więc jaki jest sens w robieniu czegoś takiego?
 
Java jest całkiem sensownym rozwiązaniem dla realnie przenośnych aplikacji. Jednak niestety wydajność nie jest wystarczająca moim zdaniem(chociaż jak się wie co się robi to można uzyskać akceptowalne rezultaty)
 
Nie zaglądałem do źródeł minecrafta, z pobieżnych oględzin wynika, że nie korzysta on z żadnego z dostępnych frameworków sieciowych. Sam Noth kiedyś przyznał, że MC uczył go programowania.

Ja napisałem loginserver w javie, który był w stanie obsłużyć i ładnie kolejkować 2000 łączących się klientów. Zostali obsłużeni w 2-3 sekundy na 2 rdzeniach 2,3GHz każdy. Modelu procka nie pamiętam, ale to był typowy desktop od AMD.

Zobaczcie jakie GDB jest upierdliwe i czasem kompletnie nic output nam nie daje. W javie wyświetli nie tylko dokładny opis wyjątu a czasem nawet podpowie rozwiązanie.
 
Ja napisałem loginserver w javie, który był w stanie obsłużyć i ładnie kolejkować 2000 łączących się klientów. Zostali obsłużeni w 2-3 sekundy na 2 rdzeniach 2,3GHz każdy. Modelu procka nie pamiętam, ale to był typowy desktop od AMD.

Brzmi cholernie niesamowicie, sam kiedyś nad takim czymś myślałem tylko uznałem, iż studiowanie protokołu mogło by pochłonąć zbyt dużo czasu względem implementowania go. Masz do tego kod źródłowy?
 
Brzmi cholernie niesamowicie, sam kiedyś nad takim czymś myślałem tylko uznałem, iż studiowanie protokołu mogło by pochłonąć zbyt dużo czasu względem implementowania go. Masz do tego kod źródłowy?

To java :)
 
Co do tematu to powszechnie wiadomo ze java jest bardziej rozwinieta obiektowo wiec client mogl by byc napisany w javie , sam silnik natomiast powinien byc napisany w c++ ale nikt nie zabroni napisac ci go nawet w php
 
Last edited by a moderator:
ktos w koncu musial.

Co do tematu to powszechnie wiadomo ze java jest bardziej rozwinieta obiektowo wiec client mogl by byc napisany w javie , sam silnik natomiast powinien byc napisany w c++ ale nikt nie zabroni napisac ci go nawet w php

otclient jest dobrym przykladem ze klient napisany w c++0x jest swietnym narzedziem, a pisanie serwera w php troszke minelo by sie z celem
 
otclient jest dobrym przykladem ze klient napisany w c++0x jest swietnym narzedziem, a pisanie serwera w php troszke minelo by sie z celem

Ale jest to teoretycznie możliwe. Prawda nie mam w głowie odpowiedzi na wszystkie komplikacje jakie by sie pojawiły przy tworzeniu takiego silnika ale na pewno ruch rozłożył bym na darmowe hostingi i zamiast php wybrał bym pythona ze wzgledu na szybsze funkcje z mysqlem
 
Sieciowa fasola działa raczej słabo(chociaż w porównaniu do msvs to wszystko działa dobrze) a zaćmienie jeszcze gorzej
 
Serwer LoLa jest napisany w Javie.
Jedynie ich chat server jest napisany w Erlangu.
 
Serwer LoLa jest napisany w Javie.
A gdzie znalazłeś taką informacje :>?

Zobaczcie jakie GDB jest upierdliwe i czasem kompletnie nic output nam nie daje. W javie wyświetli nie tylko dokładny opis wyjątu a czasem nawet podpowie rozwiązanie.
Tutaj mogę się zgodzić, Java tutaj podaje dużo więcej informacji, przy tym nawet czasami podpowie rozwiązanie - a w GDB czasem trzeba trochę pomyśleć i się domyśleć :).
 
a w GDB czasem trzeba trochę pomyśleć i się domyśleć :).
w GDB czasem trzeba przekompiować całość, wyjebać wszelkie optymalizacje a i tak nie ma gwarancji, że pokaże coś ponad 0x0000000
 
Back
Top