LINUX.ORG.RU

Mono как серверная технология


0

0

Кто-нибудь использовал Mono для серверных приложений, в т.ч. real-time? Хотелось бы знать, на сколько это возможно. Просто на The Computer Language Benchmarks Game убыль производительности по сравнению с Си очень маленькая. А вот как на самом деле... В теории JIT вроде тормозит только на разогреве, а сборку мусора можно регулировать, вызывая в момент простоя. Так возможно на Mono написать MMORPG?

★★

Ответ на: комментарий от anonymous

Стандарт протух :( Его не обновляют десятилетиями. Куча несовместимых реализаций, плохой набор библиотек, даже базовых. Плюс ООП, как говорят умные люди, у Лиспа тормозит, а для MMORPG нужен грамотный ООП дизайн. MOP, кстати, еще и не стандартизованный.

Сообщество мало. А те, кто есть, игры не хочет писать.

А еще хочется больше низкоуровневости, чтобы оптимизировать можно было по максимому.

IDE _нормальных_ нет. Отладчик сосет.

xTERM ★★
() автор топика

> Так возможно на Mono написать MMORPG?

Бгг :) Я знаю одну коммерческую на c#, только там есть несколько кусков на С(pathfinding+3dworld на сервере).

nikolayd
()

> для серверных приложений, в т.ч. real-time

ыыыы... "серверный real-time" - это новое слово в терминологии :)

> В теории JIT вроде тормозит только на разогреве

Там немного не тот JIT, AFAIK. В любом случае, естьи AOT.

> возможно на Mono написать MMORPG?

Вроде бы в SecondLife используется Mono.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Вроде бы в SecondLife используется Mono

Для скриптинга

xTERM ★★
() автор топика
Ответ на: комментарий от xTERM

> Стандарт протух :( Его не обновляют десятилетиями.

Ну и что с того? Стабильный устоявшийся стандарт - это плюс. Вот C89 используется повсеместно и устраивает большинство разработчиков. Неужели ты предпочитаешь, чтобы стандарт корёжили чуть не каждый год, как это происходит с C#? В конце концов для множества языков вообще никаких стандартов нет, а для некоторых (для твоего перла любимого, например) нет даже спецификаций. И ничё, живут как то.

> Куча несовместимых реализаций

А куча несовместимых версий одной единственной реализации для других языков тебя не смущает?

> плохой набор библиотек, даже базовых.

Старая мантра лиспоненавистников. Открой уже для себя http://www.cliki.net/

> Плюс ООП, как говорят умные люди, у Лиспа тормозит, а для MMORPG нужен грамотный ООП дизайн.

Дадада, критичные к производительности части непременно потребуется писать на Лиспе и непременно в ОО стиле.

> Сообщество мало. А те, кто есть, игры не хочет писать.

Ну значит у тебя есть шанс стать пионером (в хорошем смысле слова).

> А еще хочется больше низкоуровневости, чтобы оптимизировать можно было по максимому.

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

> IDE _нормальных_ нет. Отладчик сосет.

Нормальных - это каких? SLIME чем не угодил? Можешь ещё тут пошукать: http://www.cliki.net/IDE

anonymous
()
Ответ на: комментарий от anonymous

Сразу видно человека, который умеет сотрясать воздух восхвалениями его любимого языка, написав на нем 100 строк.

>Неужели ты предпочитаешь, чтобы стандарт корёжили чуть не каждый год, как это происходит с C#?

Это видно шутка такая? Тогда она очень толстая. Стандарт Common Lisp не менялся 15 ЛЕТ! С тех пор компьютерная индустрия успела преодолеть путь от шарманки до многоядерных процессоров и широкополосного интернета.

>В конце концов для множества языков вообще никаких стандартов нет

Если у языка одна главная реализация, то она и есть де-факто стандарт, и официальная "бумажка" здесь не обязательна. Такая ситуация сейчас с большинством скриптовых языков, однако никто не жалуется, а даже напротив.

>А куча несовместимых версий одной единственной реализации для других языков тебя не смущает?

Ты преувеличиваешь. Эти несовместимости - ничто, по сравнению с несовместимостью разных реализаций Лиспа.

>>плохой набор библиотек, даже базовых

>Старая мантра лиспоненавистников

1) Я не лиспоненавистник. LISP - замечательная идея, но вот реализация....

2) А твои библиотеки как правило работают на нескольких реализациях лиспа, а другие либо не поддерживаются, либо косячат. К тому же функционал оставляет желать лучшего. Открой хоть раздел Database на твоем сайте - пара жалких либ. Я больше чем уверен, что и они нормально не работают, и не обновляются годами. Я достаточно поработал с лисповыми либами, чтобы делать такие утверждения. Новый CFFI тянет за собой кучу глупых зависимостей, без которых явно можно было обойтись. И их надо вручную упаковать пользователю вместе с прогой, потому что сам он не асилит их поставить. Программы на лиспе с первого раза почти нельзя запустить. Так было и с теми, что я скачивал, и с тем, что сам написал, даже приложив огромную инструкцию. Мне надоело. Я хочу, чтобы пользователь мог просто запустить программу как есть, а не перекомпилировал для этого SBCL.

А многопоточность? Нет ни одного свободного Лиспа, где заявлена полноценная ее поддержка. Даже в доках SBCL написано, что там огромные lock'и и косяки, а уж на Венде и подавно ничего не работает. А где у нас основная аудитория? Вот-вот. На оффтопике.

ECL и CLISP я вообще не беру в счет. Первый - тормоз (надо сильно покурить, чтобы догадаться транслировать LISP в Си. Лисп - это все-таки не Vala), и не работает толком. Второй - без тредов.

xTERM ★★
() автор топика
Ответ на: комментарий от xTERM

>Даже в доках SBCL написано, что там огромные lock'и и косяки, а уж на Венде и подавно ничего не работает. А где у нас основная аудитория? Вот-вот. На оффтопике.

Так тебе C# для сервера MMORPG или ты виндового клиента хочешь?

>Плюс ООП, как говорят умные люди, у Лиспа тормозит, а для MMORPG нужен грамотный ООП дизайн.

ООП всегда и везде тормозит даже в жабе

По сабжу, вроде как rsdn.ru работает на C# толи 2.0 толи 3.0, спроси у них. Ну и на gotdotnet.ru зайди, только про моно там не упоминай :)

Karapuz ★★★★★
()
Ответ на: комментарий от xTERM

> А многопоточность? Нет ни одного свободного Лиспа, где заявлена полноценная ее поддержка. Даже в доках SBCL написано, что там огромные lock'и и косяки, а уж на Венде и подавно ничего не работает. А где у нас основная аудитория? Вот-вот. На оффтопике.

ну если хочешь денежки зарабытавать, почему бы не раскошелится на коммерческий лисп с хорошей поддержкой? Если Franz неустраивает своей лицензионной политикой, то LispWorks будет тоже хорошим выбором.

anonymous
()
Ответ на: комментарий от Karapuz

> По сабжу, вроде как rsdn.ru работает на C# толи 2.0 толи 3.0, спроси у них.

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

gaa ★★
()
Ответ на: комментарий от gaa

> лор с его ынтырпрайз-жабой начинает казаться оазисом производительности.

Да и Scala всяко более приятный язык, чем C#

tailgunner ★★★★★
()
Ответ на: комментарий от xTERM

>С тех пор компьютерная индустрия успела преодолеть путь от шарманки до многоядерных процессоров и широкополосного интернета.

ну как бы неразрешимые проблемы никуда не делись, хоть миллион ядер сделай... поэтому весь путь был по кругу :)

dimon555 ★★★★★
()
Ответ на: комментарий от xTERM

> Стандарт Common Lisp не менялся 15 ЛЕТ! С тех пор компьютерная индустрия успела преодолеть путь от шарманки до многоядерных процессоров и широкополосного интернета.

Ну-ну. Расскажи-ка нам, какие новые идеи, концепции, парадигмы появились в computer science за последние пятнадцать лет? И чего тебе конкретно не хватает в стандарте Common Lisp?

> Если у языка одна главная реализация, то она и есть де-факто стандарт, и официальная "бумажка" здесь не обязательна.

Хорошо. Выбери какую то одну реализацию CL и считай ей стандартом де-факто. В чём проблема?

> А твои библиотеки как правило работают на нескольких реализациях лиспа, а другие либо не поддерживаются, либо косячат.

См. выше. Вообще, если ты хочешь кроссплатформенного клиента, то лисп - плохая идея, спору нет. Но ты же спрашивал о серверных технологиях! Так что твои придирки смешны. Так бы и сказал: мол мне нужен не лисп, а халявный комплект батареек, собранный добрыми дядями.

> Открой хоть раздел Database на твоем сайте - пара жалких либ. Я больше чем уверен, что и они нормально не работают, и не обновляются годами. Я достаточно поработал с лисповыми либами, чтобы делать такие утверждения.

Ой, да ты ещё и слепой экстрасенс? Тяжелый случай...

anonymous
()
Ответ на: комментарий от stave

впрочем я знаю реализации мморпг на яве и питоне. сам лично писал небольшой кусок на яве.

stave ★★★★★
()
Ответ на: комментарий от xTERM

> Стандарт протух :( Его не обновляют десятилетиями.

Ну ~15 лет не обновняли, что с того? Там помимо мелких шлифовок типа порядка аргументов функций плюс актуализации стандартной библиотеки и шлифовать-то особо нечего.

> Куча несовместимых реализаций,

В рамках стандарта все совместимые. Расширения у каждого свои, но это даже у компиляторов Си так.

> плохой набор библиотек, даже базовых. Плюс ООП, как говорят умные люди, у Лиспа тормозит, а для MMORPG нужен грамотный ООП дизайн.

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

ООП-библиотеку, кстати, можно взять более лёгкую, без "тормозящих" возможностей CLOS'а (который в компиляторе обычно взят из библиотеки PCL).

> MOP, кстати, еще и не стандартизованный.

Есть хорошая библиотека closer-mop, устраняющая эту несправедливость. А тебе MOP-то зачем?

> Сообщество мало. А те, кто есть, игры не хочет писать.

А ты думаешь, что всем это интересно? :)

> А еще хочется больше низкоуровневости, чтобы оптимизировать можно было по максимому.

Куда уж низкоуровневее? В SBCL можно в своей программе определять свои VOP'ы, комбинации правил для компилятора, и он будет использовать их при сборке твоего кода. Прямо так. Много ЯВУ ещё на такое не способны?

> IDE _нормальных_ нет. Отладчик сосет.

Сосёт твой редактор (который даже питон нормально расцветить не может), а лучше Emacs + Slime человечество мало вещей придумало.

По части mono - почитай, как дотнет + mssql + win server живут на лондонской бирже ;)

mv ★★★★★
()
Ответ на: комментарий от mv

> Много ЯВУ ещё на такое не способны?

Очепятка, "не" - лишнее.

mv ★★★★★
()

3Д иргы на моно не тормозят, это факт.

PS. Я не знал что такое возможно, но правда, не тормозят!

anonymous
()
Ответ на: комментарий от tailgunner

>> лор с его ынтырпрайз-жабой начинает казаться оазисом производительности.
> Да и Scala всяко более приятный язык, чем C#


Разве наш любимый лор написан на скале?

gaa ★★
()
Ответ на: комментарий от gaa

>Разве наш любимый лор написан на скале?

ЛОР проприетарен по самые помидоры, никто сорцов никогда не видел, так что можно говорить что ЛОР на питоне наскрябан, никто ведь не подтвердит, ибо секрет.

anonymous
()
Ответ на: комментарий от mv

>Сосёт твой редактор (который даже питон нормально расцветить не может)

Я уже не пользуюсь NEdit несколько лет. Я привел его для примера. На vim, которым я пользуюсь сейчас, Перл все равно подсвечивается красочнее, чем Питон.

xTERM ★★
() автор топика
Ответ на: комментарий от xTERM

>На vim, которым я пользуюсь сейчас, Перл все равно подсвечивается >красочнее, чем Питон.

Смешно слышать от человека который якобы связан с программированием ...
Если конечно ты этим не занимаешься в свободное от разгрузки вагонов время ;-)

kitov ★★★
()

сервер для мморпг написать можн и оно даже будет работать. ПРимер - wow.wnet.ua, на не самом новом железе, они нормально держали 1к игроков в WOW, дальше начинал лагать IO.

Dark_SavanT ★★★★★
()
Ответ на: комментарий от stave

я там последний раз был года полтора, если не два назад. Как и что там сейчас я хз.

Dark_SavanT ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.