Добрый день, ув. форумчане! Задался целью написать что-нибудь серьёзное, а т.к. нескриптовое программирование недолюбливаю, решил обратиться сюда. На данный момент являюсь программистом в организации интернет-провайдера, и за имением большого количества свободного времени решил написать целый проект с использование ядра. Для начала решил осуществить свою давнишнюю мечту - написание браузерной РПГ. С веб-мордой уже определился - 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. Сразу прошу извинения у администрации форума - очень долго колебался куда это все запостить, но остановился на разделе для новичков.
по поводу вопроса - Скажи пожалуйста - какую проблему ты этим хочешь решить? Т.е. не очень понимаю - зачем реализовывать решение, если под него нет задачи.
Для начала получить навыки разработки таких проектов. Положить проект в портфолио. А далее по нарастающей - разработка других проектов, в том числе и коммерческих(если выбранное мной направление действительно себя оправдает), устройство на более оплачиваемую/интересную работу и т.д. Но в первую очередь знания. Задачу я описал в начале поста - для начала разработка некоммерческой браузерной РПГ. А далее вариантов много - биллинг, надстройки на СУБД и много всякой всячины.
Лунтик-Некрофил А, сорри, про игру не заметил) Тогда вопрос перефразирую) Тут опять же - имхо - а что если реализовать ядро на том же php, а уже если будет тупить - переписать на другой платформе. Т.е. без предварительной оптимизации)
А многопоточность? На php его как я понимаю нет, лишь костыли типа http://habrahabr.ru/blogs/php/40245/, и то не сильно решающие проблему. А понятие многопоточности в Python/Perl уже присутствует. Мне кажется что заниматься переписыванием с одной платформы на другую - не очень хорошая идея. На мой взгляд с платформой надо определиться до начала реализации.
думаю сначала тебе стоит спроектировать игру от и до, а только потом определиться с платформой... т.е. до начала реализации, но после постановки требований.