Выбор платформы для написания веб-сервисов (главные критерии: надежность, масштабируемость, скорость) – помогите определиться с выбором платформыИз кандидатов:
1. Perl
2. PHP
3. ASP (ASP .NET)
4. Ruby, Python (другие?)...Для написания небольших задач - наверное что лучше знаешь и что больше нравится - то и выбирай.
По крайней мере для небольшой задачи я бы так и сделал :)
А что лучше выбрать при больших нагрузках (исходим из того, что сервер свой и поставить туда можно что угодно)?Если составить базовый список критериев, то получится:
1. Надежность (99,999%) и безопасность.
2. Масштабируемость.
3. Скорость.
4. Работа с большими нагрузками – большие объемы трафика, большое количество одновременно работающих пользователей.По результатам поиска в интернете получается:
1. Самый надежный и безопасный - Perl. Следом - ASP, потом PHP (с безопасностью для него ситуация вроде довольно быстро меняется в лучшую сторону – благодаря PHP Security Consortium).
2. По масштабируемости - неясно. PHP активно используют крупные компании – к примеру Yahoo и JupiterMedia (http://www.citnews.ru/news/341/), про ASP встречал упоминания eBay.com. Идеальный вариант - чтобы в случае большой нагрузки можно было просто добавить новый сервер с минимальным переконфигурированием. Что в этом случае лучше?
3. По скорости - получается что Perl и PHP приблизительно одинаковы при использовании mod_perl и mod_php. А как в случае использования ASP .NET? Если разделить задачи на расчетные (скажем формирование контента) и выборки/занесения данных из базы?
4. Что здесь предпочтительней? Платформа на основе PHP/Perl или на основе ASP?
Конечно есть и другие не менее важные критерии:
1. Скорость написания кода.
2. Удобство отладки.
3. Сопровождение кода (тем-же или другим человеком).
4. Расширение функциональности действующей системы.
5. Наличие готовых стандартных библиотек "на все случаи жизни" (обработка XML, юникод и т.д.).... вообщем полный цикл поддержки системы.
Как здесь обстоит дело? Если исходить из того, что это будет не пара скриптов, а система, которую будет разрабатывать команда (около 5-10 человек) в течении минимум полугода и потом она будет активно развиваться - что в этом случае предпочтительней?
Понятно, что в целом ответы зависят от того что нужно сделать.
Если более конкретизировать задачу - то это будет что-то типа мета-поисковика (сбор информации из разных сайтов, парсинг и занесение в базу, отображение результатов пользователю по поисковому запросу).Поделитесь пожалуйста вашим личным опытом - он самый ценный! :)
Если был опыт в разработке крупных систем (пусть они совсем не похожи на мета-поиск) - какие возникали проблемы, насколько они хорошо решались на разных платформах? В пользу чего в итоге был сделан выбор? По каким соображениям и критериям?Спасибо за помощь!
P.S. Буду также благодарен за ссылки на статьи, обсуждения в форумах, проясняющие вопрос - возможно я что-то упустил при поиске информации.
Мой e-mail для приватных сообщений - rss354_собака_rambler_точка_ru
Возникла мысль сделать некий сборник мнений разных авторов - и выложить его в свободный доступ.
Думаю не я первый и не я последний интересуюсь этой темой - а так уже будет готов небольшой сборник мнений на эту тему.
Я думаю это будет очень полезная вещь - поскольку здесь будет показан опыт нескольких авторов, который высказывает именно свои соображения исходя из своего опыта, а не понаслышке.
Ну а мне в свою очередь хочется сделать полезное сетевому сообществу.Что для этого нужно - просто высказать свое мнение. Приблизительная табличка (это мое мнение) - во вложении.
Лучше все содержание стереть, и заполнить своим - в произвольной форме. Это не обязательно будет табличка. Вообще пишете то, что считаете нужным (с чем вы сталкивались).Я очень надеюсь что инициатива найдет поддержку с вашей стороны - с моей стороны - я буду "склеивать" ваши мнения, потом всю информацию оформлю и выложу в открытый доступ.
Если есть уточнения или возражения - высказывайте, я их обязательно учту.Ключевые моменты:
1. Тема "Выбор платформы для веб на основе С++, Java, PHP, Perl, ASP" (возможны другие языки).
2. Каждый пишет только то, что считает нужным (т.е. нет задачи описать все). Это может быть просто пару абзацев о вашем инструменте и о опыте использования.
3. Это ваше субъективное мнение. Задача читателя - сформировать свое объективное мнение.
4. Напишите также кратко кто вы и чем занимаетесь и откуда. Cвоеобразная реклама авторам в благодарность за потраченное время :)Очень надеюсь что инициатива не заглохнет и документ появится и будет полезен всем.
В своем роде это будет уникальный документ - _практическое_ мнение _разных_ участников.Можно отвечать в форуме, или если удобней - то на мою почту (rss354_собака_rambler_точка_ru) - я обязательно пришлю подверждение о получении письма.
Сам файл-вложение можно взять с http://www.rsdn.ru/File/57981/Comparison.doc
>Можно отвечать в форуме, или если удобней - то на мою почту
>(rss354_собака_rambler_точка_ru) - я обязательно пришлю подверждение о получении письма.
>
>Сам файл-вложение можно взять с http://www.rsdn.ru/File/57981/Comparison.doc
Таблица мягко говоря спорная. ;) Но почин интересный.
Все языки хороши. На каком писать - дело вкуса.
Для задач написания сайта сойдёт любой из них - задача достаточно простая и ничего особо мудрого в ней нет. Пишите на том языке, который вам ближе.Если выбираете на перспективу, то лучше знать все эти языки - проще будет сделать правильное предпочтение. Тем более, что все они достаточно просты. Perl несколько сложнее в первичном восприятии, но в нём тоже нет ничего сложного. Просто у людей, которые работают с текстами, появляется озорная лень писать эти самые тексты - его лаконичность доведена до идеала, что сложно бывает в восприятии неподготовленного человека. Java помешана на масштабируемости и надёжности, что иногда бывает очень приятно в работе. На ней приятно писать что-то большое и мудрёное, но вот простые вещи за 5 минут - иногда муторно. Python достаточно приятен в работе. PHP и ASP специально заточены для написания сайтов.
Хороший программист может писать на любом языке, используя все его преимущества. Как и плохую программу можно написать на чём угодно. Моё личное предпочтение - Perl, но просто из-за того, что сам язык нравится.
http://www.rsdn.ru/File/57981/PlatformChoose.zipПолучилось не так обширно как хотелось, но тем не менее есть информация к размышлению.
Комментарии и исправления приветствуются!Спасибо всем участникам!
Романча Сергей.
Мой e-mail для приватных сообщений - rss354_собака_rambler_точка_ru
nginx - php_fpm - php