LINUX.ORG.RU

Java vs PHP

 ,


1

2

Доброй ночи, лоровцы!

Возник в голове вопрос: «Что лучше: Java или PHP для кастомных, больших проектов?», да всё не отпускает. Всё понятно: статическая типизация vs динамическая. Java - тонна либ, PHP - тонна репов. PHP косит под Java, но сохраняя свою динамичность, добавляя всякие анонимные функции (да, криво, но может в 5.6 от use уйдут), Java сохраняет свою монументальность и верность ООП, посылая нас за ФП в scala, groovy. Под Java есть Spring, офигенный со всех сторон, под PHP есть ZF2, свеженаписанный, доводимый до ума тысячами модуле-создателей. Очевидно, что куча компаний любят PHP и Java, а туча программистов кричат о ненужности обоих языков.

Поделитесь, пожалуйста, историями успеха для больших проектов.
Интересует поддержка и доработка возможностей в течении 5+ лет.
Можно разводить срач, но сначала поделитесь историями.

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

2. Никто не мешает скриптовые языки (мы же про пхп сейчас?) прекомпилять и кешировать.

Но вот зачем такие костыли? Если фейсбуковцев как-то можно понять, то совершенно не понятно — почему кому-то другому использовать php с тем же hiphop'ом, когда можно взять нормальный компилируемый яп?

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

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

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

Но вот зачем такие костыли? Если

мы с удовольствием обсудим вопрос про костыли, когда ты запилишь проект соизмеримый по масштабам с википедией, вк или фейсбуком.
фантазии теоретиков по поводу «питон рулит, пхп сосет» обсуждать нет никакого смысла, совсем.

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

пхп подходит? подходит.

Для контента который редко меняется всё что угодно подходит.

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

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

Для контента который редко меняется всё что угодно подходит.

что насчет фейсбук, вконтакте?

ок, еще прямой вопрос - ты упирался в производительность языка?

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от xtraeft

Так нет же, нет, всё не так. Против php ничего не имею. В большинстве проектов его преимущества неоспоримы и критике не подвергаются. Но мое природное естество не видит его плюсов в проектах любого вышеперечисленного уровня. С тем же рефакторингом беда.

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

Но мое природное естество не видит его плюсов в проектах любого вышеперечисленного уровня.

в реальном мире реальным людям на язык программирования вообще плевать.
о «крутости», «быдлокодерстве» и прочем рассуждают обычно сами кодеры, зачастую из зависти.

С тем же рефакторингом беда.

похвастаешь опытом?


написал тут пару строк о stevejobs, но посчитал это неприличным и стер.

xtraeft ★★☆☆
()
Последнее исправление: xtraeft (всего исправлений: 1)
Ответ на: комментарий от xtraeft

похвастаешь опытом?

Ловко так. Рано мне хвастаться. :)

Ну если только «диванным талантом». :)

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

что насчет фейсбук, вконтакте?

Как видим обе конторы озабочены производительностью php.

ты упирался в производительность языка?

Многие проекты которые я админил упирались в производительность языка.

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

Многие проекты которые я админил упирались в производительность языка.

именно языка, именно php, именно с кешированием опкода?
поделись историей успеха (я бы посоветовал валить с тех проектов, но тебе видней)

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

именно языка, именно php, именно с кешированием опкода?

Госпади, да этот опкод копейки приносит. Исключение - какой-нить битрикс с десятками тысяч файлов в дефолтной установке. Потом он сам по себе создавал (а может и создаёт) нехилые такие баги с внезапными сегфолтами по мере прогрева. Вот у меня примерно такие цифры выходили в среднем на том с чем клиенты приходили: http://jayant7k.blogspot.com/2011/06/opcode-cache-comparison-xcache-versus.html

В редких случаях это спасало проекты. Гораздо больше пользы от рефакторинга, задействования какого-нить memcached. Короче, раздача люлей прогерам помогает гораздо лучше.

поделись историей успеха

В смысле?

я бы посоветовал валить с тех проектов

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

Ну а так самое мощное что было это мобильный портал. Не знаю сколько запросов в секунду было, но acess-лог там на тот момент был 5-8гиг в день. Контент был простенький, скрипты относительно тоже. Пых-пых и база жрали примерно поровну. Это позволило относительно безболезненно разнести их и тем самым удвоить скорость.

Самое скоростное что я видел это другой портал который, по-моему, на Pentium-4 2.4Ghz или недорогом двухъядернике отдавал на access-ло до 12 гиг в сутки. Проблемным местом была база, мускул сегфолт ловил. По коду ничего не скажу.

true_admin ★★★★★
()
Последнее исправление: true_admin (всего исправлений: 1)
Ответ на: комментарий от true_admin

Госпади, да этот опкод копейки приносит.

прекомпиленый код да из памяти? копейки? ок.

В смысле?

в прямом. я вижу вот прямо сейчас: фб, вконтакте, википедию (топы интернета по посещаемости), написанные на пхп. а мне тут аналитики талдычат, что пхп не готов для десктопа продакшна.

Ну а так самое мощное что было это мобильный портал.
Пых-пых и база жрали примерно поровну.

дай угадаю, пыхпых был без кеширования опкода?

Самое скоростное что я видел это другой портал который, по-моему, на Pentium-4 2.4Ghz или недорогом двухъядернике отдавал на access-ло до 12 гиг в сутки. Проблемным местом была база, мускул сегфолт ловил. По коду ничего не скажу.

о чем и речь - в язык упирается разве что фейсбук.

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

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

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

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

о чем и речь - в язык упирается разве что фейсбук.

Вот, собственно, я-то это и пытался донести. А также гугл, твиттер, вк и всё что входит в топ, как минимум — 50, от Алексы.

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

Вот, собственно, я-то это и пытался донести. А также гугл, твиттер, вк и всё что входит в топ, как минимум — 50, от Алексы.

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

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

что пхп не готов для продакшна.

Вы очень однобоко рассуждаете на эту тему. От того что фейсбук использует пых-пых не значит что его теперь надо везде внедрять.

дай угадаю, пыхпых был без кеширования опкода?

С кэшированием. Но ускорение было не особо потому что скрипты были относительно небольшие и время парсинга тоже.

если у тебя мускул сегфолт ловил, то это повод задуматься как минимум о используемом дистрибутиве.

Дистр не имел значения, баги были в самом mysql.

о чем и речь - в язык упирается разве что фейсбук.

То был практически статический сайт. Не надо предполагать что у всех так. Всё зависит от задач.

true_admin ★★★★★
()

Для больших джава, для мелких пхп. Это мое личное мнение, аргументировать и доказывать ничего не буду :) Писал и пишу на обоих языках.

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

Здравствуй, «я сейчас не про тебя именно»!

Естественно, написать толстопроект на php vs написать на java - задачи сходные и «где не спасёт перезапуск - там поможет формат» - кеши на nginx, apc, кластер на nosql, подходящем для данного проекта, спасают по производительности исполнения. Тут интересно: а на сколько проще разрабатывать.

Далеко ходить не надо: ZF2, ныне форсируемый многими, в некоторых ситуациях даёт со своим DI совершенно неперевариваемые тексты ошибок. Если модуле-писатели и пытаются делать логичное api, то как в языке было in_array с третьим необязательным, но _крайне_ полезным параметром, так и есть. Use для реализации лексических областей видимости - редкостный костыль, писать сложные функции высших порядков - зачастую, неоправданный гемор.

Различные функции php требуют приведения типа (какая уж там динамическая типизация).

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

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

миллиард правок в секунду?

Сколько бы не было, связность контента минимальная а кол-во правок в тысячи раз меньше кол-ва просмотров.

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

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

казалось бы причем тут пэхапэ

umren ★★★★★
()
Последнее исправление: umren (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Вылезайте из криокамеры, в spring давно появились аннотации, xml не нужен.

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

инфраструктуру вполне эффективными

Она решает простую задачу — отдавать страницы из кэша. Вот сделать социалочку типа фэйсбука или квонтакте — вот это задача.

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

Кэш на то и кэш чтобы протухать. И не факт что чистится, а не обновляется.

true_admin ★★★★★
()
14 марта 2015 г.
Ответ на: комментарий от stevejobs

Ах как жаль

mongo, redis, rabbitmq

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

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