Написание проекта с использованием ядра

Добрый день, ув. форумчане!
Задался целью написать что-нибудь серьёзное, а т.к. нескриптовое программирование недолюбливаю, решил обратиться сюда.
На данный момент являюсь программистом в организации интернет-провайдера, и за имением большого количества свободного времени решил написать целый проект с использование ядра.
Для начала решил осуществить свою давнишнюю мечту - написание браузерной РПГ.
С веб-мордой уже определился - Yii-framework однозначно. MVC, роли, валидация, интеграция с JQuery, передача параметров через массивы - ничего лучше и не придумаешь. + Является на данный момент самым шустрым фреймворком для PHP.

А вот с ядром пока сижу и думаю... Пока есть вроде 4 варианта:
1) Python. Про язык ничего не могу сказать, но по синтаксису для меня похож на Pascal. (т.е. сложностей вроде бы не должно быть, пару лет писал софт под мастдай на Delphi). Да, и вроде бы Google его использует в своих проектах.
2) Perl. Синтаксис схожий с PHP, по слухам даже является его прародителем. Немного погуглив, услышал про такую штуку, как FastCGI, с которой Perl вроде бы летает быстрее PHP даже в вебе. На данный момент этот вариант симпатизирует больше всех, хоть и многие считают его "умершим" (кстати, никак свои высказывания не аргументируя).
3) Скриптовые аналоги С/С++ (может связка Python/Perl+Lua, на крайняк C++ + Lua). Но этот вариант не привлекает из-за того, что придется копаться в полузабытых малодокументированных библиотеках, мучатся с интеграцией на локалхост, а про хостинг я вообще молчу.
4) Консоль в Yii... Не знаю как для Вас, но для меня бредово звучит... Против Yii-консоли ничего не имею, уже написал пару проектов для органиции, но ядро на PHP - ну не знаю... Но не исключаю такой возможности.

Проект с собственным ядром решил писать только потому, что это море практики, крупный проект в портфолио, да и вообще новый взгляд ( для меня) на стандартные для веба(и не только) вещи.
Фреймворки для написания ядра не потребуются, т.к. MVC-модель не требуется, и лучше будет описать на ООП пару классов.
Работа ядра будет заключаться в постоянном прогоне БД для синхронизации пользовательских запросов (Например, для игры - это синхронизация боя нескольких противников, синхронизация торговли и т.п., для биллинга - это списывание средств со счетов).

Что меня интересует:
Для начала Ваше личное мнение по такому роду проектов. Есть/нет смысла заниматься этим?
Писали ли Вы подобные вещи? В одиночку/в команде? Сложна ли реализация задуманного?
Есть ли возможность под *nix-системой прогона скриптов без использования крона? Или же может есть узкоспециализированные средства для таких вещей?
Что по Вашему более подходит из вышеперечисленных языков для этого дела? Плюсы и минусы, сложности, преимущества по отношению к другим, если можно)
Ну пока вроде все по вопросам, если что - дополню.

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

И очень большая к Вам просьба - не надо холиварить!

P.S. Да, я гуглил, но кроме бессмысленных холиваров ничего не обнаружил.
P.S. Сразу прошу извинения у администрации форума - очень долго колебался куда это все запостить, но остановился на этом разделе.
 

Breeze

goshogun
Команда форума
Партнер клуба
без разницы какой язык для ядра использовать, тот, который лучше всего знаешь или готов изучать. при повсеместном наличии libevent'а это некритично ИМХО.
кмк это не самая большая проблема, с которой тебе придется столкнуться.

ты архитектуру проекта уже хорошо представляешь, какой именно компонент за что отвечать будет, как будет веб-морда с ядром общаться и будет ли, структура БД уже спроектирована, как БД будет масштабироваться при необходимости?
 

Breeze

goshogun
Команда форума
Партнер клуба
я конечно не мастер в этих делах, но обычно у меня возникает вопрос "как писать", а потом уже "на чем писать"
 
КМК - Курс Молодого Кодера?)) Или я что-то упустил?

Архитектура ядра - скорей всего примитивная, описание классов + дергаемые по крону скрипты, но это еще надо будет продумать. Веб-морда - MVC.
Структура БД - чисто приблизительная, пока я только собираю информацию.
Веб-морда с ядром вероятно не будет контактировать, хотя это тоже надо продумать.

У меня маленько дело по другому обстоит: "на чем писать удобнее/лучше/качественнее" - в первую очередь, а как писать всё время крутится в голове, остается лишь изредка основные идеи записывать.

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

Не обязательно, что я прям щас ринусь писать игру. Меня интересует на чем можно реализовывать такие проекты, с выигрышем в производительности/скорости разработки/удобстве.
 

Breeze

goshogun
Команда форума
Партнер клуба
кмк == как мне кажется

Меня интересует на чем можно реализовывать такие проекты, с выигрышем в производительности/скорости разработки/удобстве
на чем угодно, есть тут люди, делавшие прототип на php с желанием потом переписать на С и остановившиеся на php-варианте.

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

Цитата с оптикой порадовала, но не более. Вот только ключом на 10 гайку на 12 не открутить, а в какую сторону крутить - дурак поймет.
Надеюсь, еще кто-нибудь сюда заглянет, интересно мнение всех.
 
Кстати, у php нашел пока только один значимый плюс - возможность файла редактирования самого себя, так сказать самопропатчивание, т.к. содержимое его заливается в ОП, а сам файл отпускается. Про такую особенность в других языках не слышал, там вроде интерпритатор до конца выполнения скрипта файл не отпускает (но могу ошибаться). Это при условии, что конфигурация сервера стандартная, без надстроек.
 

Breeze

goshogun
Команда форума
Партнер клуба
да, это несомненный плюс.

какую БД использовать собираешься: mysql, postgresql, oracle, sqlite или еще что?
 
MySQL(MyISAM) пока. Пугает только отсутствие внешних ключей, но их проставить вроде вручную можно.
Я не говорю, что сразу ринусь писать проект, забивать БД бессмысленными данными и т.д.
Просто хочу написать адекватную болванку с продуманными внутренностями.
 

AmdY

Пью пиво
Команда форума
Лунтик-Некрофил
там была ирония.

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

tz-lom

Продвинутый новичок
ты сначала определись что делаешь а потом уже делай, RPG это весьма резиновое описание для задачи, и подходы там могут быть диаметрально противоположными
P.S.
ядра традиционно делают из чугуна, рецепт проверенный временем
 

Absinthe

жожо
Про такую особенность в других языках не слышал, там вроде интерпритатор до конца выполнения скрипта файл не отпускает (но могу ошибаться).
Удалить файл, записать новый с таким же именем. Файл удалится, когда на него не останется указателей, а не в момент потери последнего имени.

А перл умер, т.к. у него по сравнению с руби и питоном только 1 достоинство: нормальная многопоточность.

т тебе стоить взяться за проект попроще?
Проект отлично подходит для наращивания опыта.

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

Breeze

goshogun
Команда форума
Партнер клуба
Проект отлично подходит для наращивания опыта
ага, при этом нормой считается потеря в том же в биллинге реального бабла игроков.
видел я одну такую игру пару лет назад, судя по возмущениям на форуме, модифицировалась на коленке, с глюками, тонной недоработок и огроменным дисбалансом в ряду всяких прибамбасов, тормозами и открытием новых шард с запретом(или настоятельной просьбой регистрироваться на новых, не помню) регистрации на первом.
 

AmdY

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

Breeze

goshogun
Команда форума
Партнер клуба
кстати, никто не знает серверсайда игрового движка, где бы можно было посмотреть, как они делются и какие проблемы решаются. язык главное чтобы был читаемый, а то от си кода я выпадаю в осадок.
насчет веб-игр не скажу, но весьма забавно поизучать коды игры Severance: Bade Of Darkness, она процентов на 80 написана на python1.5
описания персов, нпс, атак, взаимодействия между ними и много чего еще, в браузерках кмк принципы те же.
 

Absinthe

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

AmdY

Пью пиво
Команда форума
Почему? Ошибется - ничего страшного. К этому проекту он изначально подходит как к проекту для набора опыта, а не денег.
недавно встречал резюме:
7 опыта программирования на php, 9 лет вёрстки, но без ооп и jquery, они меня ограничивают. партфолио никакое, код ужасный, хотя безопасноть до маразма выточена.
это к тому, что не всякий опыт полезен. если без разогрева бросаться на штангу, то скорее спину сорвёшь, нежели мышцу накачаешь.
 
Сверху