Balancer: Все сообщения за 1 Июля 2007 года

 
ПнВтСрЧтПтСбВс
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Balancer

администратор
★★★★★
Интересно, для кого же тогда предназначены OCaml, Haskell, Lisp, PostScript, APL? Да и Perl с Ruby, наконец? :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Mishka> Странно, вот Витязь летал не мало, а сел без шасси.

Но он там впервые решил поиграться с новой системой привода на посадку и так увлёкся, что забыл шасси выпустить. Так что, хоть летал и немало, а ситуация была новая :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
volk959> Хы... Меня курить приучили в 18 лет. Командование студенческого строительного отряда МВТУ им. Баумана. Истинные арийцы, то есть тьфу... истинные комсомольские вожди - издали приказ по отряду: право на 10-минутный перерыв в работе каждый час имеют только курящие. Ну, и всё... Закурил "Приму" по 14 копеек, ибо на большее у меня денег не было.

Да уж. И кто ты сам себе после этого?
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Кстати, ты в первоисточниках смотри: http://www.tiobe.com/tpci.htm

Perl у нас там вообще аж на 6-м месте. А что делает такой код на Перле сможешь рассказать? :D
[pre]
''=~( '(?{' .('`' |'%') .('[' ^'-')
.('`' |'!') .('`' |',') .'"'. '\\$'
.'==' .('[' ^'+') .('`' |'/') .('['
^'+') .'||' .(';' &'=') .(';' &'=')
.';-' .'-'. '\\$' .'=;' .('[' ^'(')
.('[' ^'.') .('`' |'"') .('!' ^'+')
.'\\{' .'(\\$' .';=('. '\\$=|' ."\|".( '`'^'.'
).(('`')| '/').').' .'\\"'.+( '{'^'['). ('`'|'"') .('`'|'/'
).('['^'/') .('['^'/'). ('`'|',').( '`'|('%')). '\\".\\"'.( '['^('(')).
'\\"'.('['^ '#').'!!-' .'\\$=.\\"' .('{'^'['). ('`'|'/').( '`'|"\&").(
'{'^"\[").( '`'|"\"").( '`'|"\%").( '`'|"\%").( '['^(')')). '\\").\\"'.
('{'^'[').( '`'|"\/").( '`'|"\.").( '{'^"\[").( '['^"\/").( '`'|"\(").(
'`'|"\%").( '{'^"\[").( '['^"\,").( '`'|"\!").( '`'|"\,").( '`'|(',')).
'\\"\\}'.+( '['^"\+").( '['^"\)").( '`'|"\)").( '`'|"\.").( '['^('/')).
'+
,\\",'.( '{'^('[')). ('\\$;!').( '!'^"\+").( '{'^"\/").( '`'|"\!").(
'`'|"\+").( '`'|"\%").( '{'^"\[").( '`'|"\/").( '`'|"\.").( '`'|"\%").(
'{'^"\[").( '`'|"\$").( '`'|"\/").( '['^"\,").( '`'|('.')). ','.(('{')^
'[').("\["^ '+').("\`"| '!').("\["^ '(').("\["^ '(').("\{"^ '[').("\`"|
')').("\["^ '/').("\{"^ '[').("\`"| '!').("\["^ ')').("\`"| '/').("\["^
'.').("\`"| '.').("\`"| '$')."\,".( '!'^('+')). '\\",_,\\"' .'!'.("\!"^
'+').("\!"^ '+').'\\"'. ('['^',').( '`'|"\(").( '`'|"\)").( '`'|"\,").(
'`'|('%')). '++\\$="})' );$:=('.')^ '~';$~='@'| '(';$^=')'^ 'la2.wrk.ru/forum/2007/06/t56256,2-pro-botov.htmlurl=';$/='`';[/pre[/url]

На этом фоне Форт - это просто верх наглядности, краткости и понятности :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Да, а что касается PostScript'а - видишь ли, популярность его как языка абсолютно ни о чём не говорит.

Ибо на нём не проекты пишут, а документы делают.

В том числе такие малоизвестные и малопопулярные, как PDF :D

А, если ты не знаешь, довожу до сведения, что PostScript - это узкозаточенная версия Форта :D :D :D

Вот и получается, что сегодня явно или неявно но подавляющее большинство работающих с компами имело дело с Фортом :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Dio69> Странно как-то.

Конечно, странно.

Починка упомянутого Су-27, который повредился так, что через пару дней ремонта местными силами своим ходом дальше на Родину полетел, обошлась что-то около $2млн.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Dio69> А здесь пожалуй перебор. И вот почему - КАКИМ образом, "местными силами" был освоен ремонт на 2 млн. $ ??

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

Balancer

администратор
★★★★★
Diаmond> Угу. Только ты забываешь, что компиляция на лету - это преимущество не только форта.

А я хоть где-то утверждал обратное? Не нужно приписывать оппоненту своих фантазий.

Что же касается именно вопроса компиляции - то сила Форта тут в синтакисисе. Который позволяет вносить полноценные расширения хоть из строки клиента, хоть из телнета.

Diаmond> Ничто не мешает взять в качестве скриптового любой другой классический язык.

Будет мешать синтаксис. Придётся в итогде придти к реализации своего парсера. Или довольствоваться фиксированным набором возможностей.

Diаmond> Мы взяли Groovy и не жалеем

Гы. :D :D :D Инсайдеры на счёт "не жалеем" говорят совершенно иное :D

Diаmond> по синтаксису - чистая ява, по скорости - форт (да и питон) рядом не лежал, по возможностям - тоже.

Именно, что даже Джайтон (не говоря уже о Форте) и рядом не лежал. Тормознее, чем Груви, разве что только какой-нибудь JRuby :D

Ан, нет. Пардон. Зря я так о JRuby, даже он уделывает Груви вчистую: Computer Language Benchmarks Game

Ну а для сравнения - Перл: Computer Language Benchmarks Game

Очень хорошо видно. 260 .. 660 раз проигрышь - это да, "по скорости Форт рядом не лежал" :D (JBForth по скорости примерно вдвое быстрее Перла).

В общем, ваш отдел пропаганды работает в старом духе :D

Diаmond> А насчет перезагрузки на лету - ты в курсе что форт противопоказано перезапускать на онлайне выше 50?

На 130 перезапускал, когда такой онлайн был. Всё было ок.

Diаmond> Иначе возможны любые непредсказуемые последствия, вплоть до падения сервера. Так что самое большое преимущество тоже отпадает :)

А сервер не падал уже что-то более двух лет. После того, NIO в SF ввели, так больше и не падал.

Так что - это уже у вас что-то криво :D

Diаmond> Далее, где-то тут на форуме говорилось о простоте отладки. Но я не видел еще высокоуровневого языка с более сложной отладкой!

Ну так огранниченность мозгов у всех разная.

Diаmond> Как я уже говорил, код более 500 строк невозможно понять

А ты, судя по всему, даже ответы тебе не читаешь. Ибо я отвечал, что 500 строк кода - это сон разума. Оптимальные Форт-слова - это 7±2 слова. И отлаживаются они по одному. После отладки и тестирования одного слова к нему уже не возвращаются. Если ты не можешь писать кусков кода менее 500 строк - это твоя проблема. Если не можешь отладить и оттестировать слово в 7 слов - это ещё более удручающая твоя проблема.

Diаmond> Далее, нет никаких средств IDE для контроля синтаксиса или хотя-бы для вменяемой подсветки кода.

У меня всё есть. Опять же - это твоя проблема. Есть подсветка Форта под FAR, под Eclipse, под UltraEdit. Да и в любом вменяемом редакторе подсветку можно самому настроить.

Diаmond> Я уже не говорю про автоматический рефакторинг и прочее. Вот Groovy позволяет редактировать скрипты в Eclipse (или другой IDE), со всеми удобствами.

Что, неужели и рефакторинг в Груви есть?? :D А тут, понимаешь, академики утверждают, что нестатические языки рефакторить невозможно :D

Diаmond> 90% ошибок устраняются средствами IDE, на этапе написания кода.

Тогда тебе пора переходить на Хаскелл. У него без всякой подветки 99% ошибок и не только синтаксических, о которых ты говоришь, но и логических, про которые ты и не задумывался, отлавливается на этапе компиляции :D

Diаmond> Например - простая переписка нерабочего квеста с Jython на Groovy сделала его рабочим, без вникания в код, выявив десяток ральных и потенциальных ошибок :)

Ты не поверишь, но простая переписка ряда кусков твоего кода с Java на Java выявила тоже ряд реальных и потенциальных ошибок :D

Diаmond> Писать на нем часть ядра сервера - бред... особенно если учесть его надежность.

Гы. А кто-то говорит о написании на нём ядра сервера? Или опять болезненные фантазии? :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Diаmond> Я разве говорил что ты утверждаешь обратное? Это твои фантазии, перечитай текст :)

Ты писал:
Diаmond>>> Угу. Только ты забываешь, что компиляция на лету - это преимущество не только форта.

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

Diаmond> Ну, посути мы юзаем чистую яву, с возможностью перезагрузки.

Тогда при чём тут Груви? На Форте это можно было делать хоть год назад. Да и сейчас, если ты заглянешь на трек, увидишь там демку загрузки Ява-класса из Форта.

Diаmond> Интересно, как может java класс уступать по скорости форту? :)

Так Java или Groovy? Ты уж там определись внутри своего потока мыслей.

Diаmond> А насчет скорости форта - когда я пробовал прикрутить к серверу Lua, то тесты показали, что форт почти на 2 порядка (!!!) медленнее на простых вычислениях, по типу 2 + 2.

Гы. А ты не пробовал сравнивать скорость Си++ и PHP, например? :D

Я уже не говорю о сравнениях на простых вычислениях, на которых разница будет наибольшая :D Что же ты не сравниваешь время, которое Форт и Lua потратят на получение от сервера списка окружающих объектов? :)

И, наконец, почему вы в сборке не перешли на Lua? ;)

Diаmond> Это было давным давно, наверное года 2 назад? :)
Diаmond> тогда может и было все ок.

А, ну да. А потом кто-то пришёл и всё сломал? Помним, помним :D

Diаmond> Но насколько я помню - как минимум тогда отрубались все эвенты.

Естественно. Ибо все эвенты были написаны под одноразовый запуск. А для многоразового никто из разработчиков не удосужился по рестарту Форта останавливать эвенты, а потом снова запускать :)

Diаmond> На groovy я делаю эвенты, которые работают надежно даже в случае перезагрузки.

Да ну! И, естественно, они работают при этом на старых экземплярах кода? ;) Или ты научился подменять на ходу работающий код? Тогда тебе прямая дорога в команду разработчиков Eclipse. Они до сих пор такого не умеют :D ... Впрочем, не надо. Eclipse жалко, он не виноват :)

Diаmond> Однако, чтобы ты не впустую трепал языком, перепиши ка мне тюрьму (твой код), так как ты сейчас описал. Я посмотрю, сколько ты времени на это потратишь (впустую), и во что превратится код.

Хотя я и сам не шибко соблюдаю правило 7±2 (мозги отравлены "классическим" кривым стилем "тяп ляп"), тем не менее, "тюрьма" написана явно не в духе "500 строк на слово" и отлаживается прекрасно по отдельным словам. Собственно, так и отлаживалась. Каждое слово - вполне автономно.

Diаmond> Да да, я полностью с тобой согласен, я все придумал :)

Вот видишь, признаёшь.

Diаmond> Примеры в студию.

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

Diаmond> В том же движке видимости.

В каком из них? А то, судя по общению с тобой, ты, минимум три разных вещи под ним понимаешь :D Взаимное расположение и извлечение окружающих объектов L2World, учёт изменения видимости объектов персонажем (тут, кстати, была моя ошибка, которую сделал незадолго до отхода от сборки и которую почему-то ни один за целый год исправить не смог, хотя она просто бросалась в глаза), учёт пересылок пакетов видимости сервер<->клиент?

Diаmond> Так же весь твой LightAI - одна большая ошибка. У нас его нет, а скорость выше в разы :D

Не знаю, 1000 мобов бегающих плотной толпой под LightAI тестовый сервер не грузят и на несколько процентов. Куда больше-то?

А что до скорости... Сколько там у вас сейчас сервер после старта жрёт? 800Мб? :D

Diаmond> Двери, лодки, изучение скиллов, скилловый двиг (недоделанный и заброшенный), зоны, кланхоллы.

Если двери и лодки - это для тебя ядро сервера, то это уже твои проблемы :D Скилловый движок - Java. Зоны и кланхоллы - Java. Даже во времена экспериментов Куты на Форте была только загрузка данных и обработка событий. Движок же был на Яве.

Diаmond> Если ядро отказывает из за ошибки скриптового языка - в топку такой скриптовый язык. Пример - как-то ненашелся темплэйт у елки... результат - сервер повис, тонна логов.

Ну вот, опять гонишь...
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Под Linux всё просто ужасно.

python-ogre не хочет даже собираться. В принципе. Документации нет. То, что есть расчитано на древний и кривой GCC-4.0. Резюме в нынешнем состоянии при разработке под Linux придётся делать не клиента, а pyogre.

pyrr - так и не доступен в исходниках.

ogre4j - хочет совершенно непонятных модулей.

jyrr - просто тупо не собирается.

...

Всё, чего удалось добиться - это кривой, с пропадающими текстурами запуск виндового python-ogre под Wine :D

...

В общем, пока всё отвратительно.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Diаmond> А у нас вон позавчера 70 коммитов за 1 день было, и немаленьких :)

70 немаленьких коммитов в день - это, кстати, диагноз :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
"Горыныч" - это неудачная калька с "Dragon Dictate" от Win3.1. А последняя была расчитана на английскую речь :D Да и писалась уже без малого 15 лет тому назад...
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Balancer>> 70 немаленьких коммитов в день - это, кстати, диагноз :D
Diаmond> Нет, диагноз это 2 коммита в день, как у вас.

Только это совсем другой диагноз :D

Diаmond> И ни одного по двигу. Только не говори, что по двигу вам делать нечего :D

А по двиглу у меня тонна изменений незакоммичена.
code text
  1. $ svn diff java/l2f|wc -l
  2. 6474


Т.е. более 6 тыс. строк диффа.

Просто я не собираюсь делать такие коммиты, пока не оттестирую всё как следует. В отличии от некоторых :D

Diаmond> Да, 800мб. С геодатой. И жрет 3% при 50 онлайн.

16:30:25.145 GameServer Started, free memory 312 Mb of 493 Mb. С геодатой, естественно. 50 человек - ну, чего нет, того нет. Но на куда более ресурсоёмких старых сборках у народа и по 300+ человек крутилось.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Посмотрю. Но тут есть ряд ограничений. Начитая от лицензии, кончая биндингом на быстрые языки высокого уровня, в частности Питон или Яву :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Купить - не покатит. Как ты потом сорцы раздавать будешь?

Движок первого этапа обязан быть свободным. Потом, если проект приживётся, могут появиться и коммерческие клиенты, но это уже будет другая история.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
SoulMaster> Ну началось, "как в старой сказке"! =)

Не... Уже закончилось :) Просто отвлёкся ненадолго и вылетело из головы всё о продуктивности общения с этими деятелями :D

Пускай пишут... Видно, у них там всё совсем... э... хорошо, раз они из этого форума не вылезают :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

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