PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 12:12
Оценка: :)))
Написал ряд сайтиков на Perl и PHP. PHP это какой-то кошмар, а не язык. ООП есть, но переменные-атрибуты работают непредсказуемо. Так разобраться и не удалось: потёр все три класса и переписал на функциональном языке. Но оказалось, что передать глобальную переменную в функцию это тоже проблема. Плюнул и переписал все 15 кб кода на Perl.

Perl куда удобнее. Но перлистов в России не найти днём с огнём, а PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на уродствах типа PHP, а на красивом и понятном Perl нет?

15.03.06 16:58: Перенесено модератором из 'Священные войны' — Kupaev
----------------------------------------------------------------------------------------------
Rentaguru
Re: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 15.03.06 12:21
Оценка: 1 (1) +2
Слава Шевцов wrote:
> Perl куда удобнее. Но перлистов в России не найти днём с огнём, а
> PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на
> уродствах типа PHP, а на красивом и понятном Perl нет?
На Java сайты писать надо...
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[2]: PHP vs Perl vs ASP.NET
От: Horror_Infinity Россия  
Дата: 15.03.06 12:26
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Слава Шевцов wrote:

>> Perl куда удобнее. Но перлистов в России не найти днём с огнём, а
>> PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на
>> уродствах типа PHP, а на красивом и понятном Perl нет?
C>На Java сайты писать надо...

Можно еще написать маленький шлюз на чем-нибудь. Например, на том же С++, а всю обработку делать хранимками в базе данных. Как-то раз пришлось принимать участие в подобном проекте...
... << RSDN@Home 1.2.0 alpha rev. 648>>
Re[3]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 15.03.06 12:55
Оценка:
Horror_Infinity wrote:
>> > Perl куда удобнее. Но перлистов в России не найти днём с огнём, а
>> > PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на
>> > уродствах типа PHP, а на красивом и понятном Perl нет?
> C>На Java сайты писать надо...
> Можно еще написать маленький шлюз на чем-нибудь. Например, на том же
> С++, а всю обработку делать хранимками в базе данных. Как-то раз
> пришлось принимать участие в подобном проекте...
Ага, а еще можно писать CGI на ассемблере. По поддерживаемости будет
примерно одинаково.

Серьезно, связка Hibernate+Spring+Tapestry/JSF в Java позволяет писать
сайты так, что никакому RubyOnRails не снилось. В качестве одного из
лучших примеров — можно посмотреть Confluence
(http://atlassian.com/software/confluence/) и Jira
(http://atlassian.com/software/jira/).
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[2]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 13:33
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

>> Perl куда удобнее. Но перлистов в России не найти днём с огнём, а

>> PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на
>> уродствах типа PHP, а на красивом и понятном Perl нет?
C>На Java сайты писать надо...

Java для этого слишком многословен, как и С++. Кроме того, мне не очень нравится непредсказуемость с выделением Java памяти. Это не считая того, что Java-программисты самые высокооплачиваемые в России. А для больших и сложных гетерогенных сайтов Java может быть хорошим решением.
----------------------------------------------------------------------------------------------
Rentaguru
Re: PHP vs Perl vs ASP.NET
От: vitaly_spb Россия  
Дата: 15.03.06 13:37
Оценка: +3
СШ>Написал ряд сайтиков на Perl и PHP. PHP это какой-то кошмар, а не язык. ООП есть, но переменные-атрибуты работают непредсказуемо. Так разобраться и не удалось: потёр все три класса и переписал на функциональном языке. Но оказалось, что передать глобальную переменную в функцию это тоже проблема. Плюнул и переписал все 15 кб кода на Perl.

А help не пробовали читать? Я писал на PHP, проблем не возникало. Единственное что — он на мой взгляд рассчитан на небольшие проекты типа "сделал-забыл".
...Ei incumbit probatio, qui dicit, non qui negat...
Re[2]: PHP vs Perl vs ASP.NET
От: vitaly_spb Россия  
Дата: 15.03.06 13:37
Оценка: +1
_>А help не пробовали читать? Я писал на PHP, проблем не возникало. Единственное что — он на мой взгляд рассчитан на небольшие проекты типа "сделал-забыл".

Да, и кстати большой плюс PHP — очень легко во всем разобраться
...Ei incumbit probatio, qui dicit, non qui negat...
Re[4]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 13:41
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Серьезно, связка Hibernate+Spring+Tapestry/JSF в Java позволяет писать

C>сайты так, что никакому RubyOnRails не снилось. В качестве одного из
C>лучших примеров — можно посмотреть Confluence

Согласен. Но обычно есть несколько "но". Сайт сначала должен быть создан автором. И только потом, когда концепция реализована и основные вектора развития сайта заданы, он может передаваться на поддержку наёмным программистам. Увы, но иначе не получается. И здесь Java с Asp.Net значительно уступают Perl с PHP.

Почему с Java это реализовать труднее, чем c Perl? Во-первых, Java далеко не простой язык. Во-вторых, программисты слишком дорогие. В-третьих, скорость разработки значительно ниже Perl. Я бы брал для сложных проектов Asp.Net. И програмисты более дешёвые, и платформа очень хорошая, и скорость разработки намного выше, чем Java.
----------------------------------------------------------------------------------------------
Rentaguru
Re[2]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 13:45
Оценка:
Здравствуйте, vitaly_spb, Вы писали:

СШ>>Написал ряд сайтиков на Perl и PHP. PHP это какой-то кошмар, а не язык. ООП есть, но переменные-атрибуты работают непредсказуемо. Так разобраться и не удалось: потёр все три класса и переписал на функциональном языке. Но оказалось, что передать глобальную переменную в функцию это тоже проблема. Плюнул и переписал все 15 кб кода на Perl.


_>А help не пробовали читать?


Есть класная книжка "Разработка Web-приложений с помощью PHP и MySQL".

_>Я писал на PHP, проблем не возникало. Единственное что — он на мой взгляд рассчитан на небольшие проекты типа "сделал-забыл".


Раньше — да. Сейчас там есть ООП, но какое-то жутко непривычное и странное (я С++-шник) Он позволяет делать достаточно гибкие и хорошо поддерживаемые сайты. Но врубиться в него трудно. С Perl намного легче шло изучение.
----------------------------------------------------------------------------------------------
Rentaguru
Re[3]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 15.03.06 13:49
Оценка: +1
Слава Шевцов wrote:
>> > Perl куда удобнее. Но перлистов в России не найти днём с огнём, а
>> > PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на
>> > уродствах типа PHP, а на красивом и понятном Perl нет?
> C>На Java сайты писать надо...
> Java для этого слишком многословен, как и С++.
А вы пишете программы для IOC (International Obfuscated Contest)? В той
же IDEA код будет писаться за счет умного autocomplete'а в разы быстрее,
чем на Перле.

> Кроме того, мне не очень нравится непредсказуемость с выделением Java памяти.

Ага, а вы попробуйте посоздавать циклические ссылки на объекты а Перле

А вообще, в серверах с памятью проблем обычно нет. Можно выделить
мегабайт 100 и не мучаться.

> Это не считая того, что Java-программисты самые высокооплачиваемые в России.

Сами же жалуетесь, что PHP — язык для школьников-вебмастеров.

> А для больших и сложных гетерогенных сайтов Java может быть хорошим

> решением.
Просто Java-технологии неплохо масштабируются. Но простой сайт с их
помощью тоже писать будет проще.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[3]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 13:55
Оценка: -1
Здравствуйте, vitaly_spb, Вы писали:

_>>А help не пробовали читать? Я писал на PHP, проблем не возникало. Единственное что — он на мой взгляд рассчитан на небольшие проекты типа "сделал-забыл".


_>Да, и кстати большой плюс PHP — очень легко во всем разобраться


Поможешь? Писал на PHP-классах такую штуку:

class ArchiveDatabase
{
var $m_db;    // MySql база

var $m_userid;        // Номер сайта-каталога
var $m_path;        // Путь к файлам
var $m_template;    // Кешированный шаблон
var $m_templatename;    // Наименование закешированного шаблона

function ArchiveDatabase($path, $userid)
{
    $this->$m_db = mysql_connect("localhost", "что-то", "что-то");

    if ($this->$m_db === false)
    {
        echo "Не могу соединиться с базой 'что-то'!<br>"; 
        echo mysql_error(); 
        exit; 
    } 

    mysql_select_db("что-то") or die(mysql_error()); 
    $this->$m_path        = $path;
    $this->$m_userid    = $userid;
}

function LoadTemplate($templatename)
{
    if ($templatename != $this->$m_templatename)
    {
        $this->$m_template = file($this->$m_path."/template/ar_$templatename.html");
        $this->$m_templatename = $templatename;
    }

    return $this->$m_template;
}
}

Так он мне во все переменные класса

var $m_db;    // MySql база

var $m_userid;        // Номер сайта-каталога
var $m_path;        // Путь к файлам
var $m_template;    // Кешированный шаблон
var $m_templatename;    // Наименование закешированного шаблона

загнал $userid. То есть при любом вызове $this->$m_template === $this->$m_userid. Вот тебе и ООП от PHP. Таких трюков в нём прилично.
----------------------------------------------------------------------------------------------
Rentaguru
Re[5]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 15.03.06 13:57
Оценка:
Слава Шевцов wrote:
> C>Серьезно, связка Hibernate+Spring+Tapestry/JSF в Java позволяет писать
> C>сайты так, что никакому RubyOnRails не снилось. В качестве одного из
> C>лучших примеров — можно посмотреть Confluence
> Согласен. Но обычно есть несколько "но". Сайт сначала должен быть создан
> автором. И только потом, когда концепция реализована и основные вектора
> развития сайта заданы, он может передаваться на поддержку наёмным
> программистам. Увы, но иначе не получается. И здесь Java с Asp.Net
> значительно уступают Perl с PHP.
Нет. Java будет уступать только если сам автор не знает Java.

Стек Hibernate+Spring+Tapestry специально предназначен для создания
масштабируемых приложений. Есть все средства для этого, начиная с
компонентной модели web-страниц, и заканчивая инструментами для
автоматической миграции схемы БД при изменении объектной модели.

> Почему с Java это реализовать труднее, чем c Perl? Во-первых, Java

> далеко не простой язык. Во-вторых, программисты слишком дорогие.
А вы думаете, что на простом (хотя Perl намного сложнее Java) языке
проще делать сложные вещи?

> В-третьих, скорость разработки значительно ниже Perl. Я бы брал для

> сложных проектов Asp.Net. И програмисты более дешёвые, и платформа очень
> хорошая, и скорость разработки намного выше, чем Java.
Tapestry — это и есть прямой аналог ASP.NET (похожая компонентная
идеология, но с более правильной архитектурой). Hibernate — это
инструмент для OR-mapping'а. Spring — это инструмент для связывания
всего этого вместе.

И скорость разработки на Java, кстати, получается быстрее чем в ASP.NET.
Так как Tapestry ориентирован не на VB6-developers.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[4]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 14:06
Оценка:
Здравствуйте, Cyberax, Вы писали:

>>> > Perl куда удобнее. Но перлистов в России не найти днём с огнём, а

>>> > PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на
>>> > уродствах типа PHP, а на красивом и понятном Perl нет?
>> C>На Java сайты писать надо...
>> Java для этого слишком многословен, как и С++.
C>А вы пишете программы для IOC (International Obfuscated Contest)? В той
C>же IDEA код будет писаться за счет умного autocomplete'а в разы быстрее,
C>чем на Перле.

Я пишу программы для людей

>> Кроме того, мне не очень нравится непредсказуемость с выделением Java памяти.

C>Ага, а вы попробуйте посоздавать циклические ссылки на объекты а Перле

Хорошо

C>А вообще, в серверах с памятью проблем обычно нет. Можно выделить

C>мегабайт 100 и не мучаться.

Не всегда можно поставить выделенные сервер. Обычно есть либо стандартный хостинг, либо дешёвый надёжный VDS типа моего любимого FirstVDS. Сервер это уже $100 в месяц + администрирование.

>> Это не считая того, что Java-программисты самые высокооплачиваемые в России.

C>Сами же жалуетесь, что PHP — язык для школьников-вебмастеров.

Почему жалуюсь? Радуюсь. Это же дешёвая рабочая сила. В отличие от Java-разработчиков.

>> А для больших и сложных гетерогенных сайтов Java может быть хорошим

>> решением.
C>Просто Java-технологии неплохо масштабируются. Но простой сайт с их
C>помощью тоже писать будет проще.

Ничуть. Книги по Java пишут такие Гуру, что я когда-то дня три бился над простой вещью: как запустить написанную Java программу на выполнение. Все авторы считали это настолько очевидным, что никто и нигде этого не написал!
----------------------------------------------------------------------------------------------
Rentaguru
Re[6]: PHP vs Perl vs ASP.NET
От: anton_t Россия  
Дата: 15.03.06 16:11
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>И скорость разработки на Java, кстати, получается быстрее чем в ASP.NET.

C>Так как Tapestry ориентирован не на VB6-developers.

Это почему? В Java объекты что ли обектно-ориентированней?
Re[4]: PHP vs Perl vs ASP.NET
От: __MasteR__ Россия  
Дата: 15.03.06 20:40
Оценка: +1
Здравствуйте, Слава Шевцов, Вы писали:

СШ>Здравствуйте, vitaly_spb, Вы писали:


_>>>А help не пробовали читать? Я писал на PHP, проблем не возникало. Единственное что — он на мой взгляд рассчитан на небольшие проекты типа "сделал-забыл".


_>>Да, и кстати большой плюс PHP — очень легко во всем разобраться


СШ>Поможешь? Писал на PHP-классах такую штуку:


СШ>
СШ>class ArchiveDatabase
СШ>{
[...]
СШ>

СШ>загнал $userid. То есть при любом вызове $this->$m_template === $this->$m_userid. Вот тебе и ООП от PHP. Таких трюков в нём прилично.

Никогда такого не встречал. Хотя программировал на php не мало. И еще я всегда писал что-то вроде
$this->m_userid

вместо
$this->$m_userid

даже не знаю, можно ли так как у тебя...
Re[5]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 22:45
Оценка:
Здравствуйте, __MasteR__, Вы писали:

_>>>Да, и кстати большой плюс PHP — очень легко во всем разобраться


СШ>>Поможешь? Писал на PHP-классах такую штуку:


СШ>>
СШ>>class ArchiveDatabase
СШ>>{
__M>[...]
СШ>>

СШ>>загнал $userid. То есть при любом вызове $this->$m_template === $this->$m_userid. Вот тебе и ООП от PHP. Таких трюков в нём прилично.

__M>Никогда такого не встречал. Хотя программировал на php не мало.


Я про то и говорю: где-то напортачил, а где — фиг его поймёшь. Может на хостинге PHP не так скомпилирован, может версия не та, может $ не нужен, может операционка не нравится, может ещё что. Он же не ругается ни пол словом, только переменные перезаписывает.

__M>даже не знаю, можно ли так как у тебя...


Тоже не знаю. Транслятор компилит, при отладке не ругается. Но явно что-то не то. Кстати, опустить знак $ я бы просто не додумался. Спасибо ты подсказал.
----------------------------------------------------------------------------------------------
Rentaguru
Re[6]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 15.03.06 23:10
Оценка:
Здравствуйте, Cyberax, Вы писали:

>> C>Серьезно, связка Hibernate+Spring+Tapestry/JSF в Java позволяет писать

>> C>сайты так, что никакому RubyOnRails не снилось. В качестве одного из
>> C>лучших примеров — можно посмотреть Confluence
>> Согласен. Но обычно есть несколько "но". Сайт сначала должен быть создан
>> автором. И только потом, когда концепция реализована и основные вектора
>> развития сайта заданы, он может передаваться на поддержку наёмным
>> программистам. Увы, но иначе не получается. И здесь Java с Asp.Net
>> значительно уступают Perl с PHP.
C>Нет. Java будет уступать только если сам автор не знает Java.

Попрошу уточнить: какой именно стаж нужен?

P.S. В приведённом примере автор никогда не знает Java. По определению. Обычно такой человек действует следующим образом: у него появилась идея и он решил её реализовать. Взял первый подходящий язык и написал код. Язык он изначально может не знать.

C>Стек Hibernate+Spring+Tapestry специально предназначен для создания

C>масштабируемых приложений. Есть все средства для этого, начиная с
C>компонентной модели web-страниц, и заканчивая инструментами для
C>автоматической миграции схемы БД при изменении объектной модели.

Это всё здорово. Но это нужно знать и знать глубоко. Заодно иметь практический опыт обхождения узких мест и оптимизации. Например, я понял, что в Asp.Net нужны несколько человек — так разнятся знания для написания ядра сайта, связки с MS SQL и html-интерфейса. И лучше со стажем от 2-х лет, иначе они просто не смогут взглядом охватить архитектуру Asp.Net. Что мы имеем в случае Java?

>> Почему с Java это реализовать труднее, чем c Perl? Во-первых, Java

>> далеко не простой язык. Во-вторых, программисты слишком дорогие.
C>А вы думаете, что на простом (хотя Perl намного сложнее Java) языке
C>проще делать сложные вещи?

На простом языке проще делать простые вещи и сложнее сложные. На сложном языке сложно делать простые вещи и проще сложные. На ассемблере сложно делать любые вещи.

C>Tapestry — это и есть прямой аналог ASP.NET (похожая компонентная

C>идеология, но с более правильной архитектурой). Hibernate — это
C>инструмент для OR-mapping'а. Spring — это инструмент для связывания
C>всего этого вместе.

C>И скорость разработки на Java, кстати, получается быстрее чем в ASP.NET.

C>Так как Tapestry ориентирован не на VB6-developers.

Спорить не буду: не сравнивал и обзоров по сравнению этих языков в глаза не видел.
----------------------------------------------------------------------------------------------
Rentaguru
Re[4]: PHP vs Perl vs ASP.NET
От: ansi  
Дата: 16.03.06 03:31
Оценка: +1
Здравствуйте, Слава Шевцов, Вы писали:

СШ>Поможешь? Писал на PHP-классах такую штуку:


СШ>Так он мне во все переменные класса


СШ>
СШ>var $m_db;    // MySql база

СШ>var $m_userid;        // Номер сайта-каталога
СШ>var $m_path;        // Путь к файлам
СШ>var $m_template;    // Кешированный шаблон
СШ>var $m_templatename;    // Наименование закешированного шаблона
СШ>

СШ>загнал $userid. То есть при любом вызове $this->$m_template === $this->$m_userid. Вот тебе и ООП от PHP. Таких трюков в нём прилично.

Хе-хе:

$a = 'cool';
$b = 'a';

print $$b; // :)



class dummy
{
   var $var1;
   var $var2;

   function dummy()
   {
      $this->var1 = 'cool';
      $this->var2 = 'var1';

      print $this->$var2; // :)
   }
}
Re[7]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 17.03.06 12:09
Оценка: -2 :))
Слава Шевцов wrote:
> C>Нет. Java будет уступать только если сам автор не знает Java.
> Попрошу уточнить: какой именно стаж нужен?
Не знаю, все от программиста зависит. Ну обычно хотя бы пол-года.

> P.S. В приведённом примере автор никогда не знает Java. По определению.

> Обычно такой человек действует следующим образом: у него появилась идея
> и он решил её реализовать. Взял первый подходящий язык и написал код.
> Язык он изначально может не знать.
Ну так кто мешает так делать с Java?

> Это всё здорово. Но это нужно знать и знать глубоко. Заодно иметь

> практический опыт обхождения узких мест и оптимизации. Например, я
> понял, что в Asp.Net нужны несколько человек — так разнятся знания для
> написания ядра сайта, связки с MS SQL и html-интерфейса. И лучше со
> стажем от 2-х лет, иначе они просто не смогут взглядом охватить
> архитектуру Asp.Net. Что мы имеем в случае Java?
Все зависит от конкретного программиста. Например, Hibernate я освоил за
несколько дней и с тех пор отвечаю по нему на вопросы коллег

Tapestry на начальном уровне (набросать страничку и т.п.) освоилась за
пару часов. Но у меня уже был опыт работы со Struts.

> C>А вы думаете, что на простом (хотя Perl намного сложнее Java) языке

> C>проще делать сложные вещи?
> На простом языке проще делать простые вещи и сложнее сложные. На сложном
> языке сложно делать простые вещи и проще сложные. На ассемблере сложно
> делать любые вещи.
Понимаете, на Perl'е вы будете писать что-то типа
print "<html><body>..."

То есть просто выводить текст страницы.

В Tapestry я буду собирать страницу из компонентов — примерно как это
делается в Delphi или других RADах, но с учетом особенностей WWW.
Догадываетесь как будет быстрее делать?

> C>И скорость разработки на Java, кстати, получается быстрее чем в ASP.NET.

> C>Так как Tapestry ориентирован не на VB6-developers.
> Спорить не буду: не сравнивал и обзоров по сравнению этих языков в глаза
> не видел.
Прямых обзоров не видел (написать, что ли?). Есть
JSF vs ASP.NET
http://www.codeguru.com/csharp/.net/net_general/toolsand3rdparty/article.php/c11139/
Tapestry vs JSF
http://www.theserverside.com/articles/article.tss?l=JSFTapestry
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[2]: PHP vs Perl vs ASP.NET
От: dmz Россия  
Дата: 17.03.06 14:18
Оценка:
C>На Java сайты писать надо...
На C++/XML/FastCGI
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.