СШ>Написал ряд сайтиков на Perl и PHP. PHP это какой-то кошмар, а не язык. ... Плюнул и переписал все 15 кб кода на Perl.
Полностью поддерживаю. Я изучал PHP после Перла и когда обнаружил "почти-то-же-самое", но в какой-то бредовой форме, плюнул и остался на Перл.
СШ>Perl куда удобнее. Но перлистов в России не найти днём с огнём, а PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на уродствах типа PHP, а на красивом и понятном Perl нет?
Потому что Перл — это СЛОЖНЫЙ ЯЗЫК для тех, кто ещё вчера изучил HTML. А сайт делать уже надо... Вот и клепают на чём побыстрее (хотя предполагаю, скорее просто юзают готовые куски).
Главное — не вертеть головой и продолжать осваивать Перл — профессионал на Перле ценнее даже сотни ASP-шников.
Здравствуйте, Слава Шевцов, Вы писали:
СШ>Perl куда удобнее. Но перлистов в России не найти днём с огнём, а PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на уродствах типа PHP, а на красивом и понятном Perl нет?
Сам я являюсь жутким поклонником Perl’а. А PHP просто из-за принципа учить (даже смотреть) не хочу. Ибо нет ничего такого, IMO, что можно сделать на PHP и нельзя на Perl.
Perl — в первую очередь язык сисадмина. Но прекрасно подходит и для Веба. Когда как PHP был сделан только для Веба. Вот и цепляються к нему все новички.
Те некоторые вещи, что можно сделать на PHP одной строчкой, а на Perl несколькими — не показатель крутости. Ибо Perl в первую очередь универсальный язык!
Кста, читатель наверняка знает, что первый PHP был «написан» на Perl. Типа такой себе библиотеки или точнее парсера позволяющего вести статистику посещаймости и обратной связи (подробностей не помню, могу ошибаться). А уж потом был переписан полноценный интерпритатор на Си. И Personal Home Page превратился в PHP Hypertext Preproccesor (так вроде, да?)
Началось все достаточно давно.
Когда я впервые пришел на работу, среди VBA кода макросов оказался сайт, который нао было поддерживать. Сначала сайт был на HTML и мне припарило вручную править таблицы. Изучив азы PHP я наклепал простенькую БД и начал ее выводить. Проблем и гемора стало намного меньше. Порадовавшись сему, я начал глубже изучать PHP и JS (для клиентской части) и в результате, через некоторое время, для меня исчезли неразрешимые задачи WEBa. На некоторое время, пока база имела 200 записей.
Потом, мы бросили заниматься фигней, и начали делать ПРОЕКТ. Этот проект заставил меня понять, что PHP — легкое подобие скриптового языка, пригодное только для написания хомяковых сайтов.
Пришел куратор проекта и сказал, что будем использовать ASP.NET (Благо C# я знал на тот момент 1,5 года и неплохо понимал, что есть .NET)
Господа, скажу я вам вот что. Настолько красивого способа манипулирования данными через WEB я не видел. 2 прослойки — для доступа к базе и бизнес прослойка — и создание интерфейса — всего лишь биндинг данных на нужные контролы.
Итог — за 2 месяца написано такое, о чем я на PHP не мог и помыслить!
Резюмирую:
Не буду спорить, что лучше JAVA или ASP.NET, могу сказать только одно
PHP как и Perl используются не для серьезных проектов. PHP более детский, Perl более продвинутый, но они не имеют одной детали, которая существует в .NET — в них нет прокладки, которая позволяет полностью абстрагироваться от HTML кодинга и главное, не позволяет использовать эти контролы, как обычные WinControls.
Даже несмотря на ту тьму темплейтов, модулей, классов, дополнений, которые выпущенны для этих языков они не могут полностью абстрагироваться от HTML.
ASP.NET такую абстракцию дает. Я сейчас занят не вопросом, как реализовать постраничный вывод данных, я просто бросаю на форму DataGrid и начинаю править код логики доступа к данным, или бизнес логики, или БД, не затрачивая кучу времени на вывод.
P.S. Я где-нибудь сказал, что Perl или PHP мертвы? Отнюдь, они и будут оставаться очень популярными, благодаря бесплатности. И простоте использования в небольших проектах.
Здравствуйте, Reist, Вы писали:
R>Потом, мы бросили заниматься фигней, и начали делать ПРОЕКТ. Этот проект заставил меня понять, что PHP — легкое подобие скриптового языка, пригодное только для написания хомяковых сайтов.
Это повидимому был вообще первый ваш ПРОЕКТ...
R>Пришел куратор проекта и сказал, что будем использовать ASP.NET (Благо C# я знал на тот момент 1,5 года и неплохо понимал, что есть .NET)
Денег наверно много...
R>Господа, скажу я вам вот что. Настолько красивого способа манипулирования данными через WEB я не видел. 2 прослойки — для доступа к базе и бизнес прослойка — и создание интерфейса — всего лишь биндинг данных на нужные контролы. R>Итог — за 2 месяца написано такое, о чем я на PHP не мог и помыслить!
Ура! Написаны новости, БД товаров и вывод этой БД в веб с картинками!
Нет? чтоже вы тогда настолько крутое написали?
R>Резюмирую: R>Не буду спорить, что лучше JAVA или ASP.NET, могу сказать только одно R>PHP как и Perl используются не для серьезных проектов.
Ну да. sourceforge наверно тоже на аспе написан
R>PHP более детский, Perl более продвинутый, но они не имеют одной детали, которая существует в .NET — в них нет прокладки, которая позволяет полностью абстрагироваться от HTML кодинга и главное, не позволяет использовать эти контролы, как обычные WinControls.
А почему у меня получилось?
R>Даже несмотря на ту тьму темплейтов, модулей, классов, дополнений, которые выпущенны для этих языков они не могут полностью абстрагироваться от HTML. Дааа....
R>ASP.NET такую абстракцию дает. Я сейчас занят не вопросом, как реализовать постраничный вывод данных, я просто бросаю на форму DataGrid и начинаю править код логики доступа к данным, или бизнес логики, или БД, не затрачивая кучу времени на вывод.
Нуда. В итоге IE only....
R>P.S. Я где-нибудь сказал, что Perl или PHP мертвы? Отнюдь, они и будут оставаться очень популярными, благодаря бесплатности. И простоте использования в небольших проектах.
Не забывай, это ~95% проектов.
[RSDN@Home][1.2.0][alpha][648]
[Дурацкий колпак мозгов не портит. [В. Шекспир]]
Sheridan wrote: > R>Итог — за 2 месяца написано такое, о чем я на PHP не мог и помыслить! > Ура! Написаны новости, БД товаров и вывод этой БД в веб с картинками! > Нет? чтоже вы тогда настолько крутое написали?
Могу свидетельствовать, за пару месяцев с крутыми фреймворками на Java
(Tapestry+Hibernate) или на ASP.NET пишется такое, что на PHP будет
писаться намного дольше. Просто из-за того, что фреймворк берет на себя
большую часть сложности.
> R>Даже несмотря на ту тьму темплейтов, модулей, классов, дополнений, > которые выпущенны для этих языков они не могут полностью > абстрагироваться от HTML. > Дааа....
Не могут. Для PHP/Perl есть попытки сделать MVC-систему, но они пока
далеко не ушли (в основном из-за стиля программирования "а вот ща мы
здесь SQL воткнем и все ОК").
> R>ASP.NET такую абстракцию дает. Я сейчас занят не вопросом, как > реализовать постраничный вывод данных, я просто бросаю на форму DataGrid > и начинаю править код логики доступа к данным, или бизнес логики, или > БД, не затрачивая кучу времени на вывод. > Нуда. В итоге IE only....
Из .NET выходит обычный HTML, и это уже задача программиста контролов,
чтобы он нормально отображался везде.
> R>P.S. Я где-нибудь сказал, что Perl или PHP мертвы? Отнюдь, они и будут > оставаться очень популярными, благодаря бесплатности. И простоте > использования в небольших проектах. > Не забывай, это ~95% проектов.
Ну да, а VB-программистов — 10 миллионов. И что?
Здравствуйте, Cyberax, Вы писали:
C>Могу свидетельствовать, за пару месяцев с крутыми фреймворками на Java C>(Tapestry+Hibernate) или на ASP.NET пишется такое, что на PHP будет C>писаться намного дольше. Просто из-за того, что фреймворк берет на себя C>большую часть сложности. Могу засвидетельствовать — это не суть проекта. Что написали?
C>Не могут. Для PHP/Perl есть попытки сделать MVC-систему, но они пока C>далеко не ушли (в основном из-за стиля программирования "а вот ща мы C>здесь SQL воткнем и все ОК").
Не понял...
C>Из .NET выходит обычный HTML, и это уже задача программиста контролов, C>чтобы он нормально отображался везде.
Из пхп тоже выходит обычный HTML... И тоже можно сделать чтобы контролы зависели от отдельного программера...
>> Не забывай, это ~95% проектов. C>Ну да, а VB-программистов — 10 миллионов. И что? уже намного меньше. Почти все ушли в C#
[RSDN@Home][1.2.0][alpha][648]
[...Узнаешь рожденных от крови! [Овидий]]
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Reist, Вы писали:
R>>Потом, мы бросили заниматься фигней, и начали делать ПРОЕКТ. Этот проект заставил меня понять, что PHP — легкое подобие скриптового языка, пригодное только для написания хомяковых сайтов. S>Это повидимому был вообще первый ваш ПРОЕКТ...
Да, и что?
R>>Пришел куратор проекта и сказал, что будем использовать ASP.NET (Благо C# я знал на тот момент 1,5 года и неплохо понимал, что есть .NET) S>Денег наверно много...
Причем здесь деньги, понять не могу.
R>>Господа, скажу я вам вот что. Настолько красивого способа манипулирования данными через WEB я не видел. 2 прослойки — для доступа к базе и бизнес прослойка — и создание интерфейса — всего лишь биндинг данных на нужные контролы. R>>Итог — за 2 месяца написано такое, о чем я на PHP не мог и помыслить! S>Ура! Написаны новости, БД товаров и вывод этой БД в веб с картинками! S>Нет? чтоже вы тогда настолько крутое написали?
Нет, основная часть работы — прослойка, которая создает объектное отображение БД, и позволяетв коде вообще забыть о том, какая там БД, и как она пашет.
R>>Резюмирую: R>>Не буду спорить, что лучше JAVA или ASP.NET, могу сказать только одно R>>PHP как и Perl используются не для серьезных проектов. S>Ну да. sourceforge наверно тоже на аспе написан
здесь
R>>PHP более детский, Perl более продвинутый, но они не имеют одной детали, которая существует в .NET — в них нет прокладки, которая позволяет полностью абстрагироваться от HTML кодинга и главное, не позволяет использовать эти контролы, как обычные WinControls. S>А почему у меня получилось?
Какой кровью?
R>>Даже несмотря на ту тьму темплейтов, модулей, классов, дополнений, которые выпущенны для этих языков они не могут полностью абстрагироваться от HTML. S> Дааа....
Вот, вот, в этом я с вами полностью соглашусь
R>>ASP.NET такую абстракцию дает. Я сейчас занят не вопросом, как реализовать постраничный вывод данных, я просто бросаю на форму DataGrid и начинаю править код логики доступа к данным, или бизнес логики, или БД, не затрачивая кучу времени на вывод. S>Нуда. В итоге IE only....
И? Контенгент пользователей таков, что 99% называют браузер словом "Интернет"
R>>P.S. Я где-нибудь сказал, что Perl или PHP мертвы? Отнюдь, они и будут оставаться очень популярными, благодаря бесплатности. И простоте использования в небольших проектах. S>Не забывай, это ~95% проектов.
Согласен, в интернете сейчас тенденция к развитию мелких и средних проектов, фактически, любой Вася Пупкин после пары месяцев работы с PHP напишет CMS
Sheridan wrote: > C>Могу свидетельствовать, за пару месяцев с крутыми фреймворками на Java > C>(Tapestry+Hibernate) или на ASP.NET пишется такое, что на PHP будет > C>писаться намного дольше. Просто из-за того, что фреймворк берет на себя > C>большую часть сложности. > *Могу засвидетельствовать* — это не суть проекта. Что написали?
Часть системы документоборота для одной очень крупной нефтяной компании.
Больше сказать не могу — NDA.
На PHP это писалось бы раз в 10 дольше из-за того, что сначала пришлось
бы написать на нем что-то типа Struts, а потом только писать само
приложение. DB mapping layer тоже пришлось бы писать самому...
> C>Не могут. Для PHP/Perl есть попытки сделать MVC-систему, но они пока > C>далеко не ушли (в основном из-за стиля программирования "а вот ща мы > C>здесь SQL воткнем и все ОК"). > Не понял...
SQL в коде шаблонов страниц в Tapestry/JSF/Struts считается плохим
тоном, как и прямая привязка к результатам запросов. А PHP без этого
писать очень сложно.
> C>Из .NET выходит обычный HTML, и это уже задача программиста контролов, > C>чтобы он нормально отображался везде. > Из пхп тоже выходит обычный HTML... И тоже можно сделать чтобы контролы > зависели от отдельного программера...
Наааааамного сложнее. Контролы на PHP делаются на уровне включения в
вывод результатов работы какой-то функции, нет общей модели компонентов
страницы.
Здравствуйте, Reist, Вы писали:
S>>Это повидимому был вообще первый ваш ПРОЕКТ... R>Да, и что?
Да просто столько радости
На самом деле я рад за тебя Когда чтото получается это очень хорошо.
R>>>Пришел куратор проекта и сказал, что будем использовать ASP.NET (Благо C# я знал на тот момент 1,5 года и неплохо понимал, что есть .NET) S>>Денег наверно много... R>Причем здесь деньги, понять не могу.
Софт, рабочее время и железо под асп стоят на порядок дороже.
S>>Нет? чтоже вы тогда настолько крутое написали? R>Нет, основная часть работы — прослойка, которая создает объектное отображение БД, и позволяетв коде вообще забыть о том, какая там БД, и как она пашет.
Я делал подобное на пхп. Ничего сложного. Все зависит от требуемой степени абстракции.
R>>>Резюмирую: R>>>Не буду спорить, что лучше JAVA или ASP.NET, могу сказать только одно R>>>PHP как и Perl используются не для серьезных проектов. S>>Ну да. sourceforge наверно тоже на аспе написан
R>здесь
Янедекс на перле: Apache/1.3.29 (Unix) mod_perl/1.29 mod_deflate/1.0.21 rus/PL30.19 http://www.kde-apps.org/ на пхп http://www.cross-browser.com/ этот сайт ты должен знать — на пхп http://freshmeat.net/ на пхп http://www.nnm.ru/ насколько я помню тоже php http://www.ixbt.com/ тоже как я понял пхп
R>>>PHP более детский, Perl более продвинутый, но они не имеют одной детали, которая существует в .NET — в них нет прокладки, которая позволяет полностью абстрагироваться от HTML кодинга и главное, не позволяет использовать эти контролы, как обычные WinControls. S>>А почему у меня получилось? R>Какой кровью?
Пару часов на базуовую версию + по мере необходимости. Честно говоря абстрагировал только формы, для остального не вижу смысла.
R>И? Контенгент пользователей таков, что 99% называют браузер словом "Интернет"
А ты на них не ориентируйся. Делай как я. Пропускай готовое через tidy
S>>Не забывай, это ~95% проектов. R>Согласен, в интернете сейчас тенденция к развитию мелких и средних проектов, фактически, любой Вася Пупкин после пары месяцев работы с PHP напишет CMS
Угу, а сколько надо асп учить и сколько оно стоит???
[RSDN@Home][1.2.0][alpha][648]
[Доброта лучше красоты. [Г. Гейне]]
>> C>Не могут. Для PHP/Perl есть попытки сделать MVC-систему, но они пока >> C>далеко не ушли (в основном из-за стиля программирования "а вот ща мы >> C>здесь SQL воткнем и все ОК"). >> Не понял... C>SQL в коде шаблонов страниц в Tapestry/JSF/Struts считается плохим C>тоном, как и прямая привязка к результатам запросов. А PHP без этого C>писать очень сложно.
PRADO Smarty
>> C>Из .NET выходит обычный HTML, и это уже задача программиста контролов, >> C>чтобы он нормально отображался везде. >> Из пхп тоже выходит обычный HTML... И тоже можно сделать чтобы контролы >> зависели от отдельного программера... C>Наааааамного сложнее. Контролы на PHP делаются на уровне включения в C>вывод результатов работы какой-то функции, нет общей модели компонентов C>страницы.
Но замечу, что многие замечания в отношении РНР совершенно справедливы. Особенно это касается унифицированного доступа к БД. Хотя и есть, допустим PEAR::MDB2, но это не совсем то
R>>>Резюмирую: R>>>Не буду спорить, что лучше JAVA или ASP.NET, могу сказать только одно R>>>PHP как и Perl используются не для серьезных проектов. S>>Ну да. sourceforge наверно тоже на аспе написан
R>здесь
Здравствуйте, Sheridan, Вы писали:
S>Здравствуйте, Reist, Вы писали:
[cut]
R>>>>Пришел куратор проекта и сказал, что будем использовать ASP.NET (Благо C# я знал на тот момент 1,5 года и неплохо понимал, что есть .NET) S>>>Денег наверно много... R>>Причем здесь деньги, понять не могу. S>Софт, рабочее время и железо под асп стоят на порядок дороже.
Хехе, а еще есть такое понятие, как лицензионный софт на работе 8-) Машинка позволяет, а за софт проплачено не мной, почему бы не заняться?
S>>>Нет? чтоже вы тогда настолько крутое написали? R>>Нет, основная часть работы — прослойка, которая создает объектное отображение БД, и позволяетв коде вообще забыть о том, какая там БД, и как она пашет. S>Я делал подобное на пхп. Ничего сложного. Все зависит от требуемой степени абстракции.
До уровня объектов, инкапсулирующих таблицы, их поля, а так же методы работы с таблицами + Generic классы, для работы со списками элементов сущностей и привязки их к Data* через IEnumerable интерфейсы.
И? Присмотрись все это — CMS различных размеров. Как таковые сущности у них 2 Пользователь и Пост (Но я не говорю, что всего 2 таблицы в базе). Что надо? В различной степени усложнять эту систему. Как показывает практика Линукса и phpbb — усложнить до невероятных размеров можно все, причем это будет очень неплохо работать, вопрос только вот в чем, рано или поздно кто-нибудь осознает, что дальше усложнять абсолютно бессмысленно, лучше переделать.
R>>>>PHP более детский, Perl более продвинутый, но они не имеют одной детали, которая существует в .NET — в них нет прокладки, которая позволяет полностью абстрагироваться от HTML кодинга и главное, не позволяет использовать эти контролы, как обычные WinControls. S>>>А почему у меня получилось? R>>Какой кровью? S>Пару часов на базуовую версию + по мере необходимости. Честно говоря абстрагировал только формы, для остального не вижу смысла.
Ну... Батенька, как показала моя практика, Data* (DataList, DataGrid, DetailsView итп) абстрагируют все необходимые конртолы для работы с данными, причем как с массивами, так и с отдельными элементами. Переделывание этого на PHP заняло бы просто дичайшую тучу времени. Я не буду объяснять детали, просто чтобы понять, надо увидеть этот уровень абстракции и то, как это реализовано.
Кстати, могу сказать, что Вам дико повезло, ибо избавляться Вам пришлось только от форм.
R>>И? Контенгент пользователей таков, что 99% называют браузер словом "Интернет" S>А ты на них не ориентируйся. Делай как я. Пропускай готовое через tidy
Через tidy будет пропущенна внешняя часть. Та часть, в которой понапихана туча .NET элементов — только для внутреннего пользователя, внешняя часть — HTML+XML+XSLT+JS ну и самую малость ASPX.
S>>>Не забывай, это ~95% проектов. R>>Согласен, в интернете сейчас тенденция к развитию мелких и средних проектов, фактически, любой Вася Пупкин после пары месяцев работы с PHP напишет CMS S>Угу, а сколько надо асп учить и сколько оно стоит???
Значица примерно так.
3000$ — 6000$ за SQL и 4000$ за OS на сервере
+ 6000$ — 11000$ за среду разработки.
Mamut wrote: > C>Наааааамного сложнее. Контролы на PHP делаются на уровне включения в > C>вывод результатов работы какой-то функции, нет общей модели компонентов > C>страницы. > PRADO <http://www.xisc.com>
Вот это уже что-то:
The very original inspiration of PRADO came from Apache Tapestry.
During the design and implementation, I borrowed many ideas from Borland
Delphi and Microsoft ASP.NET. The first version of PRADO came out in
June 2004 and was written in PHP 4. Driven by the Zend PHP 5 coding
contest, I rewrote PRADO in PHP 5, which proved to be a wise move,
thanks to the new object model provided by PHP 5.
После быстрого просмотра док — они пока занимаются повторением Tapestry
2.x. Это вполне неплохо, но уже Tapestry 3.0 вышла Ну и на этом пути
им еще предстоит переписать Hibernate, потом открыть возможности IOC и
переписать Spring и т.п.
Правда если такими темпами пойдет дальше, то PHP не будет отличаться от
Java.
> Smarty <http://smarty.php.net>
То же "включение текста в страницу" — то есть абстрагирована только
логика форматирования. Изобретено уже раз 100 в виде Perl::Mason, Apache
Velocity и т.п.
C>Правда если такими темпами пойдет дальше, то PHP не будет отличаться от C>Java.
И, скорее всего, его вытеснит Ruby
Тут по-секрету скажу, что я сам недоволен тем, как РНР развивалось или, вернее, стагнировало после четвертой версии.
РНР5 было полумерой. Ни Юникод, ни прозрачный доступ к базам данных они не встроили, а на одном ООП и mysqli далеко не уедешь. РНР6 когда (если) выйдет, он уже, возможно, никому не нужен будет
Mamut wrote: > C>Правда если такими темпами пойдет дальше, то PHP не будет отличаться от > C>Java. > И, скорее всего, его вытеснит Ruby
Из ниши которую сейчас занимает PHP — вполне может.
Но серьезных разработок для Ruby я что-то не вижу. RoR — это нечто
overhype'нутое, поддерживающее все современные buzzword'ы, но не особо
приспособленое для сложных проектов.
> Тут по-секрету скажу, что я сам недоволен тем, как РНР развивалось или, > вернее, стагнировало после четвертой версии.
Как хорошо, что я даже не притрагиваюсь больше к PHP
> РНР5 было полумерой. Ни Юникод, ни прозрачный доступ к базам данных они > не встроили, а на одном ООП и mysqli далеко не уедешь. РНР6 когда (если) > выйдет, он уже, возможно, никому не нужен будет
Когда выйдет PHP6 уже будет и Perl6
Здравствуйте, Слава Шевцов, Вы писали:
СШ>Написал ряд сайтиков на Perl и PHP. PHP это какой-то кошмар, а не язык. ООП есть, но переменные-атрибуты работают непредсказуемо. Так разобраться и не удалось: потёр все три класса и переписал на функциональном языке. Но оказалось, что передать глобальную переменную в функцию это тоже проблема. Плюнул и переписал все 15 кб кода на Perl.
СШ>Perl куда удобнее. Но перлистов в России не найти днём с огнём, а PHP-шники втрое дешевле. Вот и мучайся, человечище. Почему люди пишут на уродствах типа PHP, а на красивом и понятном Perl нет?
Прошло полтора месяца... Оказалось, что у PHP намного меньше проблем с утечками памяти, чем у Perl: это важно при длительной работе скрипта с большим объёмом разнородных данных. Он может обслужить больше одновременных http-клиентов, чем Perl, за счёт того, что запускаемый скрипт занимает в несколько раз меньше памяти. Есть хорошие библиотеки кеширования страниц и большое количество уже созданных скриптов. Работа с классами организована намного удобнее, чем в Perl. Сообщения об ошибках в логах намного более понятные, чем у Perl. Сообщество программистов велико и велико количество статей по PHP. На Perl уже месяц не писал и подумываю о полном переходе именно на PHP.