Re[6]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 10.05.06 11:00
Оценка:
Здравствуйте, anton_t, Вы писали:

S>>Янедекс на перле: Apache/1.3.29 (Unix) mod_perl/1.29 mod_deflate/1.0.21 rus/PL30.19


Все наши основные поисковики с user интерфейсом на перле: aport, rambler, yandex.

ikonboard, yabb — Perl
www.livejournal.com — Perl (сильно распределённая система, более 100 серверов)

S>>http://www.kde-apps.org/ на пхп

S>>http://www.cross-browser.com/ этот сайт ты должен знать — на пхп
S>>http://freshmeat.net/ на пхп
S>>http://www.nnm.ru/ насколько я помню тоже php
S>>http://www.ixbt.com/ тоже как я понял пхп

www.wikipedia.com — PHP (сильно распределённая система, более 100 серверов)
phpbb — PHP

_>nnm.ru то ещё глюкалово.


Это не проблема языка

А вообще есть сильная зависимость: старые проекты на Perl, новые — на PHP.
----------------------------------------------------------------------------------------------
Rentaguru
Re[7]: PHP vs Perl vs ASP.NET
От: Thornik  
Дата: 10.05.06 11:15
Оценка:
СШ>А вообще есть сильная зависимость: старые проекты на Perl, новые — на PHP.

Я бы сказал больше: старые продолжают устойчиво работать на Перле, а новые клепаются "побырому" в пхп.
Re[8]: PHP vs Perl vs ASP.NET
От: ironwit Украина  
Дата: 10.05.06 12:30
Оценка:
Здравствуйте, anton_t, Вы писали:

_>Здравствуйте, ironwit, Вы писали:


I>>Здравствуйте, anton_t, Вы писали:



_>>>nnm.ru то ещё глюкалово.


I>>а это зависит от используемого языка?


_>А что зависит от приведённого списка?

список был просто как пример того что можно хоть чтото сделать, Вы же сразу указали на глюки — ИМХО глюки зависят не от языка а от рук.
... << RSDN@Home 1.2.0 alpha rev. 648>>
Я не умею быть злым, и не хочу быть добрым.
Re[9]: PHP vs Perl vs ASP.NET
От: Слава Шевцов Россия http://www.rentaguru.ru/
Дата: 10.05.06 13:17
Оценка:
Здравствуйте, ironwit, Вы писали:

_>>>>nnm.ru то ещё глюкалово.


I>>>а это зависит от используемого языка?


_>>А что зависит от приведённого списка?


I>список был просто как пример того что можно хоть чтото сделать, Вы же сразу указали на глюки — ИМХО глюки зависят не от языка а от рук.


И от языка тоже зависят. Например, неужели кто-то будет обрабатывать очень большие объёмы данных на Perl? Тот просто упадёт от утечек памяти. И никакими руками это не выправить. PHP обработает раз в сто больше данных и тоже упадёт.

Другой вариант: Perl не является обратно совместимым языком. Не факт, что скрипт для Perl 5.005 будет работать на более современных версиях так же. Не факт, что он вообще будет работать. Ошибки могут и отсюда проистекать.
----------------------------------------------------------------------------------------------
Rentaguru
Re[6]: PHP vs Perl vs ASP.NET
От: jtraub  
Дата: 11.05.06 07:36
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>На PHP это писалось бы раз в 10 дольше из-за того, что сначала пришлось

C>бы написать на нем что-то типа Struts, а потом только писать само
C>приложение. DB mapping layer тоже пришлось бы писать самому...
CakePHP(http://cakephp.org)
Symfony(http://symfony-project.com)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[7]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 11.05.06 09:22
Оценка:
jtraub wrote:
> C>На PHP это писалось бы раз в 10 дольше из-за того, что сначала пришлось
> C>бы написать на нем что-то типа Struts, а потом только писать само
> C>приложение. DB mapping layer тоже пришлось бы писать самому...
> CakePHP(http://cakephp.org)
> Symfony(http://symfony-project.com)
Уже начали изобретать Hibernate? Что же, слегка недооценил PHP...
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[8]: PHP vs Perl vs ASP.NET
От: ironwit Украина  
Дата: 11.05.06 10:52
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Уже начали изобретать Hibernate? Что же, слегка недооценил PHP...

а что это такое? только в двух словах и не в инет, а то у меня его нет
... << RSDN@Home 1.2.0 alpha rev. 648>>
Я не умею быть злым, и не хочу быть добрым.
Re[9]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 11.05.06 11:31
Оценка:
ironwit wrote:
> C>Уже начали изобретать *Hibernate*? Что же, слегка недооценил PHP...
> а что это такое? только в двух словах и не в инет, а то у меня его нет
OR-mapper для Java. Причем ОЧЕНЬ мощный.

Позволяет отображать объектную модель на базу данных. Простой и красивый
пример сейчас лень искать, вот из документации:
Cat cat = new DomesticCat();
Cat kitten = new DomesticCat();

Set kittens = new HashSet();
kittens.add(kitten);
cat.setKittens(kittens);

session.persist(cat); //Здесь в базу будет добавлена кошечка и котенок
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[10]: PHP vs Perl vs ASP.NET
От: ironwit Украина  
Дата: 11.05.06 11:47
Оценка: :)
Здравствуйте, Cyberax, Вы писали:

C>ironwit wrote:

>> C>Уже начали изобретать *Hibernate*? Что же, слегка недооценил PHP...
>> а что это такое? только в двух словах и не в инет, а то у меня его нет
C>OR-mapper для Java. Причем ОЧЕНЬ мощный.
спасибо. интересно. Даже очень. Интересно — есть ли аналог для Delphi
... << RSDN@Home 1.2.0 alpha rev. 648>>
Я не умею быть злым, и не хочу быть добрым.
Re[10]: PHP vs Perl vs ASP.NET
От: jtraub  
Дата: 12.05.06 03:07
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Позволяет отображать объектную модель на базу данных. Простой и красивый

C>пример сейчас лень искать, вот из документации:
C>
C>Cat cat = new DomesticCat();
C>Cat kitten = new DomesticCat();

C>Set kittens = new HashSet();
C>kittens.add(kitten);
C>cat.setKittens(kittens);

C>session.persist(cat); //Здесь в базу будет добавлена кошечка и котенок
C>


А вот из документации Propel(http://propel.phpdb.org/trac/) кусок кода:
/* initialize Propel, etc. */

// 1) Create an Author (row of 'author' table)

include_once 'bookstore/Author.php';

$author = new Author();
$author->setFirstName("Leo");
$author->setLastName("Tolstoy");
// note: we don't save this yet

// 2) Create a Publisher (row of 'publisher' table)

include_once 'bookstore/Publisher.php';

$pub = new Publisher();
$pub->setName("Viking Press");
// note: we don't save this yet

// 3) Create a Book (row of 'book' table)

include_once 'bookstore/Book.php';

$book = new Book();
$book->setTitle("War & Peace");
$book->setIsbn("0140444173");
$book->setPublisher($pub);
$book->setAuthor($author);
$book->save(); // saves all 3 objects!


В CakePHP реализован свой ORM-слой, но тем не менее, код выглядит не менее красиво
особенно со всякими $book->findByIsbn
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 12.05.06 07:13
Оценка: :)
jtraub wrote:
> В CakePHP реализован свой ORM-слой, но тем не менее, код выглядит не
> менее красиво особенно со всякими $book->findByIsbn
Сравните объем:
http://propel.phpdb.org/trac/wiki/Users/Documentation/UserGuide
и http://www.hibernate.org/hib_docs/v3/reference/en/html/

Пока проекты на PHP напоминают проекты на Java где-то 2000-2001 года.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[12]: PHP vs Perl vs ASP.NET
От: jtraub  
Дата: 12.05.06 07:37
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Сравните объем:

C>http://propel.phpdb.org/trac/wiki/Users/Documentation/UserGuide
C>и http://www.hibernate.org/hib_docs/v3/reference/en/html/
Объём докуметации не такое уж хорошее свидетельство того, что PHP сильно отстал от Java.
Что же касается непосредственно этих двух ссылок, то следует учитывать Phing-документация также болтается отдельно.
А вообще, я никогда не испытывал трудностей с отсутствием доков.


C>Пока проекты на PHP напоминают проекты на Java где-то 2000-2001 года.

На PHP пишу уже три года. На java не писал ничего(строго говоря, я ее даже в глаза не видел-то ).
Потому судить не могу.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[13]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 12.05.06 08:04
Оценка:
jtraub wrote:
> C>Сравните объем:
> C>http://propel.phpdb.org/trac/wiki/Users/Documentation/UserGuide
> C>и http://www.hibernate.org/hib_docs/v3/reference/en/html/
> Объём докуметации не такое уж хорошее свидетельство того, что PHP сильно
> отстал от Java.
Ну сравните по возможностям mapping'а, хотя бы по количеству типов
отображения.

> C>Пока проекты на PHP напоминают проекты на Java где-то 2000-2001 года.

> На PHP пишу уже три года. На java не писал ничего(строго говоря, я ее
> даже в глаза не видел-то ). Потому судить не могу.
Я на Java пишу с конца 90-х годов и сам видел всю последовательность
развития. Так вот, сейчас PHP в точности проходит всю эту
последовательность.

Через пару лет в PHP мы увидим контейнеры, управляющие транзакциями,
компонентные web-фреймоворки и т.п.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[11]: PHP vs Perl vs ASP.NET
От: jtraub  
Дата: 12.05.06 09:16
Оценка:
Здравствуйте, ironwit, Вы писали:

I>спасибо. интересно. Даже очень. Интересно — есть ли аналог для Delphi

В рамках Дельфи сделать такое проблематично, говорят
Возможности кодогенерации и RTTI оставляют желать лучшего. Потому можно не рассчитывать увидеть многих фишек.
Но отдельного внимания заслуживает InstantObjects (http://www.instantobjects.org/).
Конечно, там будет не так все круто как в Java/PHP, но тем не менее — удобно!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[11]: PHP vs Perl vs ASP.NET
От: jtraub  
Дата: 12.05.06 09:33
Оценка:
Здравствуйте, ironwit, Вы писали:

I>спасибо. интересно. Даже очень. Интересно — есть ли аналог для Delphi


Вспомнил еще про http://www.techinsite.com.au/tiOPF/Default.htm
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[14]: PHP vs Perl vs ASP.NET
От: jtraub  
Дата: 15.05.06 06:46
Оценка:
Здравствуйте, Cyberax, Вы писали:


C>Через пару лет в PHP мы увидим контейнеры, управляющие транзакциями,

C>компонентные web-фреймоворки и т.п.
Что же.. Расскажите, чего ждать в PHP в ближайшей перспективе еще.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[15]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 15.05.06 06:51
Оценка:
jtraub wrote:
> C>Через пару лет в PHP мы увидим контейнеры, управляющие транзакциями,
> C>компонентные web-фреймоворки и т.п.
> Что же.. Расскажите, чего ждать в PHP в ближайшей перспективе еще.
Байт-компиляция, возможно, более строгая система типов и JIT. Особенно
актуальным станет после того, как фреймоворки подрастут в размерах.

Появятся фреймворки с декларативным управлением компонентами (аля
Spring), возможно что-то типа EJB.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[16]: PHP vs Perl vs ASP.NET
От: jtraub  
Дата: 15.05.06 10:06
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>jtraub wrote:

>> C>Через пару лет в PHP мы увидим контейнеры, управляющие транзакциями,
>> C>компонентные web-фреймоворки и т.п.
>> Что же.. Расскажите, чего ждать в PHP в ближайшей перспективе еще.
C>Байт-компиляция, возможно, более строгая система типов и JIT. Особенно
C>актуальным станет после того, как фреймоворки подрастут в размерах.
Ну еще с 4-ой версиии скрипты при запросе комплируются в байт-код.
Насчет JIT compilation не скажу точно, надо подглядеть Zend-овский сайт.

C>Появятся фреймворки с декларативным управлением компонентами (аля

C>Spring), возможно что-то типа EJB.
А можно чуточку подробней?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[17]: PHP vs Perl vs ASP.NET
От: Cyberax Марс  
Дата: 15.05.06 10:32
Оценка:
jtraub wrote:
> C>Байт-компиляция, возможно, более строгая система типов и JIT. Особенно
> C>актуальным станет после того, как фреймоворки подрастут в размерах.
> Ну еще с 4-ой версиии скрипты при запросе комплируются в байт-код.
В том-то и дело, что только при запросе.

> Насчет JIT compilation не скажу точно, надо подглядеть Zend-овский сайт.

Она есть, но пока только за деньги.

> C>Появятся фреймворки с декларативным управлением компонентами (аля

> C>Spring), возможно что-то типа EJB.
> А можно чуточку подробней?
Spring позволяет декларативно задавать окружение для прикладного кода.

В качестве простого примера на псевдокоде:
//Наш код, делающий что-то
void doSomething()
{
    //взять соединение с DB. CONNECTION_STRING нам самим надо
    //прочитать из конфига.
    DatabaseConnection conn=getConnection(CONNECTION_STRING);
    try
    {
        //что-то сделать
        conn.executeSql(...);
        ...
    }finally
    {
        //Обязательно закрыть соединение.
        conn.close();
    }
}


Если мы забудем finally, то получим утечку соединения. Поэтому применяют
шаблон "Инверсия Управления" (IoC — Inversion of Control):
//Этот код находится в глубине контейнера, хорошо отлажен и проверен 
//кучей людей
void database_wrapper(Runnable task)
{
    //Чтением конфига занимается контейнер
    DatabaseConnection conn=getConnection(readConfig("db_string"));
    //В реальности имя берется из конфига
    getThreadContext().addResource("DataBase",conn);
    try
    {
        task.run();
    } finally
    {
        conn.close();
    }
}

//Наш код
class MyTask
{
    void run()
    {
        //Берем соединение из контекста
        DatabaseConnection conn=getResource("DataBase");
        conn.executeSql(...);
        ...
    }
}

//А вот так мы выполняем наш код
database_wrapper(new MyTask);


То есть контейнер обеспечивает "обертку" для прикладного кода,
освобождая его от необходимости следить за DB, конфигурацией,
транзакциями и т.п.
Posted via RSDN NNTP Server 2.0
Sapienti sat!
Re[4]: PHP vs Perl vs ASP.NET
От: anonymous Россия http://denis.ibaev.name/
Дата: 22.05.06 08:07
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Не могут. Для PHP/Perl есть попытки сделать MVC-систему, но они пока

C>далеко не ушли (в основном из-за стиля программирования "а вот ща мы
C>здесь SQL воткнем и все ОК").

http://catalystframework.org/
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.