PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 11:09
Оценка:
Надеюсь до фанатичного холивора не дойдет, а все ответы будут аргументированы

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

PHP отмели вроде как сразу, потому что дыряв, неспешен и сам принцип языка вызывает подозрения. Лично мне кодить на нем почти не пришлось. Но те моменты, когда я пытался пропатчить форум или понять, почему неправильно работает какая-то фича, оставили очень неприятные воспоминания. Черт ногу сломит. Нельзя нормально проследить, что откуда берется. Возможно сказалось отсутствие опыта, но с тем же Perl было намного проще. Если что, копался не в поделках, а в известных проектах — Joomla, phpbb.

Perl. Один из проектов на Perl переводим на Java. То, что я вижу — это полный п. Хотя в этом языке разобраться проще, равно как и найти концы переменной, метода и т.д. Даже сам немного стал писать, если приходится что-то патчить. Но отсутствие отделения бизнес-логики от представления (проще говоря, отсутствие MVC) просто убивает (хотя думается, что это скорее косяк разработчиков проекта, в котором приходится копаться). Также есть подозрения, что сделать нормальный кластер для perl-проекта затруднительно. ООП в перле принимает несколько извращенный вид.

Java + JSP. Чем я и занимаюсь. Куча библиотек, фреймворков и технологий практически для чего угодно. Можно сделать очень хорошее разделение всех слоев приложения. Единственный минус, который я вижу, — в тело страницы интегрируются команды на "птичьем языке" JSP и есть вероятность, что кто-то из разработчиков начнет запихивать туда логику. В остальном нравится все.

Ruby, Python, ASP.NET — ?

Какую бы технологию выбрали вы, если бы прямо сейчас предложили создать легкий/средний/сложный проект? Что больше подходит для высоконагруженных разработок, что для интернет-магазинов "Компьютеры У Васи"? На чем стоит делать форум, рассчитанный на 5000 участников? На чем портал, аналогичный rsdn.ru?
Re: PHP vs Perl vs Java vs Ruby vs Python
От: DOOM Россия  
Дата: 15.07.09 11:13
Оценка: -1
Здравствуйте, Donz, Вы писали:

D>На чем портал, аналогичный rsdn.ru?

На Drupal'е
ИМХО, если сегодня надо сделать что-то с нуля, то лучше брать готовую платформу — типа того же Drupal'а. Писать целиком самому, опять же ИМХО, есть смысл, если ты создаешь собственную платформу либо что-то невероятно уникальное...
Re: PHP vs Perl vs Java vs Ruby vs Python
От: Mamut Швеция http://dmitriid.com
Дата: 15.07.09 11:54
Оценка: 3 (1)
D> Perl. Один из проектов на Perl переводим на Java... Но отсутствие отделения бизнес-логики от представления (проще говоря, отсутствие MVC) просто убивает (хотя думается, что это скорее косяк разработчиков проекта, в котором приходится копаться).

Именно. MVC не является фичей языка. В том же РНР спокойно делается MVC (Zend Framework, CodeIgniter, CakePHP и т.п.)

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


Также есть подозрения, что сделать нормальный кластер для perl-проекта затруднительно. ООП в перле принимает несколько извращенный вид.

D> Java + JSP. Чем я и занимаюсь. Куча библиотек, фреймворков и технологий практически для чего угодно. Можно сделать очень хорошее разделение всех слоев приложения. Единственный минус, который я вижу, — в тело страницы интегрируются команды на "птичьем языке" JSP и есть вероятность, что кто-то из разработчиков начнет запихивать туда логику. В остальном нравится все.


D> Ruby, Python, ASP.NET — ?


ASP.NET — это не язык, а технология.


D> Какую бы технологию выбрали вы, если бы прямо сейчас предложили создать легкий/средний/сложный проект? Что больше подходит для высоконагруженных разработок, что для интернет-магазинов "Компьютеры У Васи"? На чем стоит делать форум, рассчитанный на 5000 участников? На чем портал, аналогичный rsdn.ru?


Абсолютно без разницы. Википедия и facebook сделаны на РНР. Youtube — на питоне. Microsoft+MSDN вроде уже переведены на ASP.NET. Куски сайта Adobe/Macromedia написаны на Coldfusion. eBay — это в основном Java (если верить).

Брать надо тот иснтрумен, который лучше всего знаешь. Тольо изредка какой-нибудь язык может дать тебе толчок в производительности тебя, как программиста, и совсем уж редко — в производительности собственно сайта.
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[2]: PHP vs Perl vs Java vs Ruby vs Python
От: Курилка Россия http://kirya.narod.ru/
Дата: 15.07.09 12:08
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Также есть подозрения, что сделать нормальный кластер для perl-проекта затруднительно. ООП в перле принимает несколько извращенный вид.


Про кластер можешь развернуть мысль?
В чём принципиальная разница перловки и там руби, перла?
Ставишь 10 вебсерверов в ферму, а спереди perlbal, ну и базу пошустрей...
В чём перл-то провинился?
Re: PHP vs Perl vs Java vs Ruby vs Python
От: mazurkin http://mazurkin.info
Дата: 15.07.09 12:22
Оценка: +1
Donz wrote:

> Единственный минус, который я вижу, — в тело страницы интегрируются команды на "птичьем языке" JSP и есть вероятность, что кто-то из разработчиков начнет запихивать туда логику. В остальном нравится все.


Не совсем понятно, что вы имеете в виду под "птичьим языком" — это всего
лишь тэги которые делают только то, под что запрограммированы.

Отучить писать логику в страницах не просто, а очень просто — для этого
в web.xml прописываете соответствующую команду и программирование в
видах становится невозможным в принципе

    <jsp-config>
        <jsp-property-group>
            <scripting-invalid>true</scripting-invalid>
        </jsp-property-group>
    </jsp-config>


Кроме того есть Velocity, FreeMaker, XSLT...

В остальном по теме топика смахивает на разжигание холивара — на каждой
платформе без проблем можно соорудить нечто уродливое.
Posted via RSDN NNTP Server 2.1 beta
Re: vs Erlang vs Scheme
От: Mr.Cat  
Дата: 15.07.09 12:31
Оценка:
Я вот по мелочи сабжевые языки юзал — вполне сносно.
Re: PHP vs Perl vs Java vs Ruby vs Python
От: anonymous Россия http://denis.ibaev.name/
Дата: 15.07.09 12:45
Оценка:
Здравствуйте, Donz, Вы писали:

D>Perl. Но отсутствие отделения бизнес-логики от представления (проще говоря, отсутствие MVC) просто убивает (хотя думается, что это скорее косяк разработчиков проекта, в котором приходится копаться).


Это не относится в языку.

D>Также есть подозрения, что сделать нормальный кластер для perl-проекта затруднительно. ООП в перле принимает несколько извращенный вид.


Есть куча облегчающих работу библиотек. Из последнего очень интересна Moose.
perl mvc moose
Re: PHP vs Perl vs Java vs Ruby vs Python
От: Аноним  
Дата: 15.07.09 13:20
Оценка:
4 года пишу на Java, до этого 2 на C#, до этого... ну не суть важно. так вот, скажу по секрету, что приходилось сталкиваться с чудовищной кашей в проектах и на том и на другом языке... с год назад познакомился с prototype.js и RichFaces... так я удивился, что и на javascript-е можно писать аккуратно и грамотно. так что дело не в языке, а в грамотности разработчика.
Re[3]: PHP vs Perl vs Java vs Ruby vs Python
От: Mamut Швеция http://dmitriid.com
Дата: 15.07.09 13:37
Оценка:
К> M>Также есть подозрения, что сделать нормальный кластер для perl-проекта затруднительно. ООП в перле принимает несколько извращенный вид.

К> Про кластер можешь развернуть мысль?

К> В чём принципиальная разница перловки и там руби, перла?
К> Ставишь 10 вебсерверов в ферму, а спереди perlbal, ну и базу пошустрей...
К> В чём перл-то провинился?

Не это у меня знак цитаты слетел Это текст автора поста
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[2]: PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 14:54
Оценка: +2
M>ASP.NET — это не язык, а технология.
Да, речь идет о технологиях, который обычно завязаны на конкретный язык.

M>Абсолютно без разницы. Википедия и facebook сделаны на РНР. Youtube — на питоне. Microsoft+MSDN вроде уже переведены на ASP.NET. Куски сайта Adobe/Macromedia написаны на Coldfusion. eBay — это в основном Java (если верить).

M>Брать надо тот иснтрумен, который лучше всего знаешь. Тольо изредка какой-нибудь язык может дать тебе толчок в производительности тебя, как программиста, и совсем уж редко — в производительности собственно сайта.

То есть, создатели Ruby, Python и прочая просто изобретают нафиг никому ненужные велосипеды? Что-то сомневаюсь. Тот же Микрософт переписывает на ASP.NET. Просто для пиара, мол у нас все на самой лучше технологии?
Как минимум тот или иной язык подталкивает к типовому его использованию. На одном написать спагетти-код, в котором никому не разобраться, сложнее, на другом проще. Один уже предоставляет удобные инструменты для X, другой для Y, а третий очень прост для программирования.
Грамотно можно писать и на ассемблере, но ни один вменяемый разработчик не станет созавать на нем веб-портал.
Re[2]: PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 14:56
Оценка:
Здравствуйте, anonymous, Вы писали:

D>>Также есть подозрения, что сделать нормальный кластер для perl-проекта затруднительно. ООП в перле принимает несколько извращенный вид.


A>Есть куча облегчающих работу библиотек. Из последнего очень интересна Moose.


То есть, все-таки нужно сделать лишнее телодвижение для того, чтобы получить фичу, уже сразу присутствующих в некоторых других языках/платформах?
Re[2]: PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 15:01
Оценка:
Здравствуйте, mazurkin, Вы писали:

M>Не совсем понятно, что вы имеете в виду под "птичьим языком" — это всего

M>лишь тэги которые делают только то, под что запрограммированы.
M>Кроме того есть Velocity, FreeMaker, XSLT...
Ну вот собственно их и называю птичьими языками. Дополнительные языки разметки, не являющиеся стандартами (хотя JSP можно назвать стандартом).

M>В остальном по теме топика смахивает на разжигание холивара — на каждой

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

Чтобы не было холивора, можно просто аргументированно ответить на заданные вопросы. Если есть желание, конечно.

Какую бы технологию выбрали вы, если бы прямо сейчас предложили создать легкий/средний/сложный проект? Что больше подходит для высоконагруженных разработок, что для интернет-магазинов "Компьютеры У Васи"? На чем стоит делать форум, рассчитанный на 5000 участников? На чем портал, аналогичный rsdn.ru?
Re[3]: PHP vs Perl vs Java vs Ruby vs Python
От: anonymous Россия http://denis.ibaev.name/
Дата: 15.07.09 15:36
Оценка:
Здравствуйте, Donz, Вы писали:

D>То есть, все-таки нужно сделать лишнее телодвижение для того, чтобы получить фичу, уже сразу присутствующих в некоторых других языках/платформах?


Какую, например, фичу?
Re[3]: PHP vs Perl vs Java vs Ruby vs Python
От: anonymous Россия http://denis.ibaev.name/
Дата: 15.07.09 15:37
Оценка: +1
Здравствуйте, Donz, Вы писали:

D>Какую бы технологию выбрали вы, если бы прямо сейчас предложили создать легкий/средний/сложный проект? Что больше подходит для высоконагруженных разработок, что для интернет-магазинов "Компьютеры У Васи"? На чем стоит делать форум, рассчитанный на 5000 участников? На чем портал, аналогичный rsdn.ru?


Естественно, на том, что хорошо знаешь.
Re[3]: PHP vs Perl vs Java vs Ruby vs Python
От: anonymous Россия http://denis.ibaev.name/
Дата: 15.07.09 15:43
Оценка:
Здравствуйте, Donz, Вы писали:

M>>ASP.NET — это не язык, а технология.

D>Да, речь идет о технологиях, который обычно завязаны на конкретный язык.

Но тогда вопрос поставлен не верно. Не «PHP vs. Perl vs. Java vs. Ruby vs. Python», а, скажем, «Smarty vs. Catalyst vs. (что там в Java?) vs. RoR vs. Django».
Re[3]: PHP vs Perl vs Java vs Ruby vs Python
От: DOOM Россия  
Дата: 15.07.09 16:10
Оценка: +1
Здравствуйте, Donz, Вы писали:

D>Чтобы не было холивора, можно просто аргументированно ответить на заданные вопросы. Если есть желание, конечно.


Сразу видно, что в КСВ ты не ходок
Вот ты можешь перечислить все критерии по которым надо вести сравнение? Нет, конечно. И при этом каждый может назвать 10-к другой параметров, по которым его язык/технология лучше других — вот тогдаааа и начинается священная война — люди начинают взвешивать эти параметры, приводить примеры и т.п.
На самом деле процесс увлекательный.
Re[4]: PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 16:18
Оценка:
Здравствуйте, DOOM, Вы писали:

DOO>Сразу видно, что в КСВ ты не ходок

Угу, я сам там неместный...

DOO>Вот ты можешь перечислить все критерии по которым надо вести сравнение? Нет, конечно. И при этом каждый может назвать 10-к другой параметров, по которым его язык/технология лучше других — вот тогдаааа и начинается священная война — люди начинают взвешивать эти параметры, приводить примеры и т.п.

DOO>На самом деле процесс увлекательный.

Ну так назови хотя бы те параметры, что важны тебе.
ИМХО, основные и общепринятые: стоимость разработки, скорость разработки, простота поддержки, масштабируемость (нужно далеко не для всех проектов). Из простоты поддержки следует простота модификации и гибкость языка/платформы.
Re[4]: PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 16:18
Оценка:
Здравствуйте, anonymous, Вы писали:

D>>То есть, все-таки нужно сделать лишнее телодвижение для того, чтобы получить фичу, уже сразу присутствующих в некоторых других языках/платформах?


A>Какую, например, фичу?


Я так понимаю, Moose библиотеку надо прикручивать для нормальной работы с объектами? Если так, то фичу под названием "нормальный ООП".
Re[2]: PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 16:21
Оценка:
Здравствуйте, Mamut, Вы писали:

M>Абсолютно без разницы. Википедия и facebook сделаны на РНР.


То есть ты, если бы знал PHP, начал лабать высоконагруженный проект на нем?
Re[4]: PHP vs Perl vs Java vs Ruby vs Python
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 16:24
Оценка:
Здравствуйте, anonymous, Вы писали:

A>Но тогда вопрос поставлен не верно. Не «PHP vs. Perl vs. Java vs. Ruby vs. Python», а, скажем, «Smarty vs. Catalyst vs. (что там в Java?) vs. RoR vs. Django».


Подразумевается, что каждая технология завязана на один (в большинстве случаев) язык. Выбираешь технологию — автоматом выбираешь язык. К тому же, язык может быть одним, а фреймворков использоваться несколько.
Под ASP.NET можете понимать C#
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.