Пакеты

 
UA SoulKeeper #14.01.2007 21:57
+
-
edit
 

SoulKeeper

разработчик L2J Fortress

Если оно останется внешним как jython, то отладка может быть динамической и на живом сервере :)
Разыскивается десятка с два датапакеров :) http://la2.wrk.ru/forum/viewtopic.php?id=50882  

Murkt

Pythoneer

Murkt>> Можно выкинуть Jython и подрубить CPython через JPype.
Balancer> И чем оно тогда будет лучше чистой Java? :) Ничем...

Я не говорю, что оно будет чем-то лучше, хотя оно будет гораздо быстрее, чем джитон, и больше языковых возможностей - питон 2.5 против джитона 2.1. Это просто вариант... Надо будет как-нибудь попробовать для общего образования.
[team Їжачки - сумні падлюки]  
Это сообщение редактировалось 15.01.2007 в 00:30
+
-
edit
 

Balancer

администратор
★★★★☆
SoulKeeper> Если оно останется внешним как jython, то отладка может быть динамической и на живом сервере :)

В таком варианте - оно и в Java будет динамической :) И это не говоря о том, что Java заведомо быстрее нативного Питона. В худшем случае - такая же скорость (это когда в задаче эффективно работает psyco)
 

Murkt

Pythoneer

SoulKeeper>> Если оно останется внешним как jython, то отладка может быть динамической и на живом сервере :)
Balancer> В таком варианте - оно и в Java будет динамической :) И это не говоря о том, что Java заведомо быстрее нативного Питона. В худшем случае - такая же скорость (это когда в задаче эффективно работает psyco)

Эмм... Нативный Питон обладает лучшей динамичностью, чем JBForth в его нынешнем виде. И скорость у него тоже выше. И на порядок более понятен (мне).
[team Їжачки - сумні падлюки]  
+
-
edit
 

Balancer

администратор
★★★★☆
Скорость у Питона выше, что ты имеешь в виду под динамичностью, не знаю, понятность одного уровня, возможностей - у Форта сильно больше.

:D

...

Ну, вот примитивная задача - как в работающем Питоне (нативном) заменить одну функцию на другую (изменения при отладке)? Или, более приземлённо - как из него вызвать Java-метод? Как из Java скомпилировать Питон-код?

Да, наконец - как на Питоне более-менее сложный код с управляющими операторами записать в одну строку, без использования отступов? :) (типичный вызов кода при отладке из телнета или консоли игрового сервера)
 

Murkt

Pythoneer

Balancer> что ты имеешь в виду под динамичностью, не знаю

Возможность поменять что-нибудь на лету.

Balancer> понятность одного уровня

Я знаю, что ты фанат Форта, но не будем лукавить. Форт нифига не понятен неподготовленному человеку, и подготовленного он тоже напрягает.

Balancer> возможностей - у Форта сильно больше

"А у ассемблера - ещё больше" ©. Я могу на питоне написать сервер типа L2J. Если ты напишешь его на форте быстрее, чем я на питоне (или за то же время, и менее глючный, етц), то тогда я соглашусь что у Форта возможностей больше. А так в сад с рассказами про возможности форта.

Balancer> Да, наконец - как на Питоне более-менее сложный код с управляющими операторами записать в одну строку, без использования отступов?

Типа такого?

site_urls = [site_url + a for a in all] if myvar == 1 else [site_url + a for a in someth]

Balancer> типичный вызов кода при отладке из телнета или консоли игрового сервера

Из телнета - не вижу никаких проблем чтоб телнет работал точно так же, как питоновский интерактивный шелл. Из консоли игрового сервера - можно сделать спецкоманду (хоткей), чтоб открывалось окошко с эдитом, куда можно написать хоть триста строк, при желании.
[team Їжачки - сумні падлюки]  

Murkt

Pythoneer

Balancer> Ну, вот примитивная задача - как в работающем Питоне (нативном) заменить одну функцию на другую (изменения при отладке)?

Импортнуть наново.

Balancer> Или, более приземлённо - как из него вызвать Java-метод?

JPype?

Balancer> Как из Java скомпилировать Питон-код?

Э-э-э... А зачем? Он и сам скомпилируется.

PS Я только что подумал - а какая проблема сделать даже в игровом чате подобие питоновского шелла?

PPS Не стоит недооценивать Питон. Во-первых, это один из немногих (кажется, четырёх) языков, которые полностью реализуют ООП парадигму. Во-вторых, он не только ООП - он мульти-парадигменный.
[team Їжачки - сумні падлюки]  
Это сообщение редактировалось 15.01.2007 в 00:29
+
-
edit
 

Balancer

администратор
★★★★☆
Murkt> Возможность поменять что-нибудь на лету.

Тогда тут не надо :) У Форта возможностей много больше.

Balancer>> понятность одного уровня
Murkt> Я знаю, что ты фанат Форта, но не будем лукавить. Форт нифига не понятен неподготовленному человеку, и подготовленного он тоже напрягает.

Неподготовленный человек, и это показали многочисленные опыты, Форт понимает быстрее и лучше, чем классические ЯВУ :) Другое дело, что если мозги уже испорчены друго парадигмой, то сменить её очень сложно. Скажем, я по этой причине не могу программировать на функциональных языках. Мышление уже испорчено.

Но в случае Форта всё лучше. Конечная система может быть очень близка к естественному языку. Хотя я нередко сознательно этого избегаю, так как это способно порождать лишние сложности.

Murkt> "А у ассемблера - ещё больше" ©.

А вот и нифига. Возможности ассемблера почти нулевые. Ты путаешь возможности языка и возможности программы на нём. Это разные вещи.

> Я могу на питоне написать сервер типа L2J. Если ты напишешь его на форте быстрее, чем я на питоне

Быстрее. Более того, писать я стану в этом случае на чём-то типа SP-Forth. Так что он не только напишется быстрее, но и работать будет много шустрее :D Поверь мне, как знающему и тот и другой язык. И ещё несколько десятков :D Вот если писать вебсайт - из этой пары я выберу Питон.

> А так в сад с рассказами про возможности форта.

Зачем про абстракции, типа сервера L2 (ежу понятно, что никто это делать сейчас не будет, ибо - нафиг?). У нас есть куда более конкретные задачи - скрипты при имеющемся сервере. И тут, как ни крути, JBF уделывает Jython и по скорости, и по запросам памяти, и по возможностям.

Murkt> Типа такого?

А теперь скажи, как ты это будешь обрабатывать после ввода в клиенте? А как обеспечить общность данных в последовательных операциях? Глобальные для сервера переменные и локальные для каждого объекта?

Ну, совсем простая задача - всем игрокам в радиусе 1000 вокруг тебя закинуть в инвентарь по итему. Что я должен для этого писать в строке клиента?

Murkt> Из телнета - не вижу никаких проблем чтоб телнет работал точно так же, как питоновский интерактивный шелл.

Дык, делай! Кто ж тебе запрещает? :) А пока - Форт есть и работает. И работает хорошо. Питона - нет вообще. Джайтон есть, но тормозной и кастрированный.

Сделаешь лучше, гибче, быстрее - никто против этого слова не скажет :)
 

Murkt

Pythoneer

Balancer> А теперь скажи, как ты это будешь обрабатывать после ввода в клиенте?

eval()

Balancer> А как обеспечить общность данных в последовательных операциях? Глобальные для сервера переменные и локальные для каждого объекта?

А какие вообще проблемы с этим?

Balancer> Ну, совсем простая задача - всем игрокам в радиусе 1000 вокруг тебя закинуть в инвентарь по итему. Что я должен для этого писать в строке клиента?

Что-то типа for pl in self.PlayersAround(1000): pl.giveItem(1234).

Balancer> Дык, делай! Кто ж тебе запрещает?

Три скриптовых движка - это перебор. Если я всё-таки сподоблюсь за сервер взяться, то лучше его в чувство привести, а не добивать ещё и своими экспериментами.

Balancer> А пока - Форт есть и работает. И работает хорошо.

Иронизириуешь? :)

Balancer> Джайтон есть, но тормозной и кастрированный.

Где кастрированный? Кем? В нём что-то не так? :)


Balancer> Неподготовленный человек, и это показали многочисленные опыты, Форт понимает быстрее и лучше, чем классические ЯВУ

Считай, я был неподготовленным, но Джаву осилить гораздо проще оказалось, чем форт.


PS вообще, это больше вопрос религии.
[team Їжачки - сумні падлюки]  
AD Реклама Google — средство выживания форумов :)
+
-
edit
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru