Обновить
81
Vladimir Chernyshev@VolCh

Software Engineer, Technical Lead

91
Подписчики
Отправить сообщение
Похоже на всем сайте MS хаброэффект :)
последовательности разнотипных элементов стоило бы добваить, только числа, или только строки вполне себе нормально сортирует
Это я все прекрасно понимаю, место пхп в вебе, максимум замена шеллового языка (уж по сравнению с языком cmd он явно мощнее), гуи на php писать следует только при очень серьезных причинах. Но все равно, сравнивать можно и нужно либо языки, либо продукты на них написанные. Говорим мы о веб-разработке. Вот я сейчас дома поставил руби как cgi модуль апача, «hello, world» выел на ruby.localhost, рельсы пока ставить не собираюсь. какие преимущества использования руби (а не рельсов) я получу, если, например, начну сейчас с нуля писать скрипт каталога сайтов и доски объявлений? без фреймворков, кмсок, только стандартные средства языка и библиотеки для работы с http и mysql, если таковых нет встроенных?

Cкажем вкратце описать почему для этого я буду использовать PHP, а не С я могу, хотя у С есть свои плюсы, но есть и минусы, а вот о плюсах и минусах использования чистого Ruby в качестве языка серверных веб-скриптов я не знаю ничего, кроме этой статьи:

* Язык предельно лёгок в изучении в сравнении с другими ЯП
* Полностью объектно-ориентированный
* Нет необходимости писать много кода
* Очень расширяемый
* Open Source
И то, как минимум в двух пунктах я сомневаюсь, насчет много кода (но не знаю относится это к рельсам или к самому руби, потому не считаю), предельной легкости и объектно-ориентированности (есть мнение, что руби объектный изначально, а не сменил ориентацию с процедурной :) )
наколеночные домашние страницы делают вообще на бесплатных хостингах без всякого пхп :)

про бюджет пепси не знаю, привел пример что мир пхп это не только мир домашних страниц, как вы думаете (или делаете вид, что думаете ;) )

Я за 1,5 бакса в месяц даю гарантию, что за последний год аптайм был 99, 98% :) Если я посоветую заказчику какой-нибудь вдс за 10$ в месяц, то мало того, что мне самому все поднимать надо будет (если дебиан-базед, то подниму без проблем скорее всего, иначе гуглить придется, на виртуалку у себя ставить и т. п.), но главное отвечать за безопасность всего сервера. Вдски (и дски) обычно предоставляются как есть, на шаред хостинге я отвечаю только за «дырявость» скрипта, на выделенном мне (а кому еще?) надо будет отвечать и за безопасность ос, апача того же, реагировать, если не дай бог взломать кто-то попытается и т. п.), а бюджет не тот, чтобы я еще и сертификаты администратора *nix шел получать, да и не привлекало никогда администрирование особо, свою машину мучать — это одно, отвечать за чужие совсем другое

А может проектирования? :)
набрал vim, появился «сплэш» с надписями типа
type :help iccf to help children in Uganda
type :help for help
type :q to exit
f1 нажал (и то не сразу, уж очень дети уганды заинтерсовали :) ), в хелп попал, потом долго соображал как выйти из него, потом из редактора (надо еще! в конце поставить), в общем нельзя все-таки такие длинные каникулы делать :))))
оказывается надо двоеточие нажимать, это не знак пунктуации, а часть команды, причем нажимать его с шифтом надо, то есть смотрит не нажатую клавишу, а ascii код, и вообще интерфейс основан на командной строке похоже. В общем сложно вникнуть во что-то абсолютно отличающиеся от того к чему привык за 20 лет, даже в дос в edit, не говоря уж о лексиконе примерно те же принципы интерфейса, что и в каком-нибудь ворде 2007

ну а в самом хелпе надпись что vim online help not installed on this system, оказывается у меня стоял vim-tiny без хелпа, сейчас поставил vim-runtime, но что-то все равно не верится, что даже через неделю исходники скажем на том же php буду набирать и править быстрее чем даже в gedit, не говоря уж о netbeans или eclipse

>Угу. Когда я говорю, что единственная причина — лень, пхп-шники, отчего-то, обижаются :).
Я предпочитаю называть это бритвой Оккама :) А если серьезно, то в свое время убил много времени (да и денег немало) на изучение некоторых языков, например Forth, dBase, Pascal, да и asm тоже just for fun, как потом оказалось. Удели я это время изучению того же PHP — было бы куда рациональней. И как-то юношеский энтузиазм иссяк и изучать что-то, причем довольно непростое, ради самих знаний уже как-то не прельщает.

>Ну да. В том числе и языка. Дизайн языка позволяет расширять возможности языка в довольно широких пределах и рельсы этим активно пользуются.
>Я же писал, что можно, только это не интересно и пхп сильно жалко становится :).
Не пойму я вашей позиции — сравнивать руби с пхп — пхп жалко, а сравнивать рельсы (которые расширяют возможности руби) с тем же пхп — не жалко.

>Нет уж, договаривайте — не в современном мире, а в мире домашних страничек,
Экономические причины они везде одинаковы, и в мире домашних страничек, и в мире транснациональных корпораций, все хотят минимум вложений и максимум дохода. И еще неизвестно каких «страничек» больше — «домашних» на php или «недомашних» на руби или питоне. Особенно если к категории «домашних» относить и, например, pepsi.ru

>Но… Что ж,… тут я, пожалуй, соглашусь — пхп рулит на такой мелочи, где даже рельсу разворачивать лень :).
Кто-то говорил про лень пхпшников? ;) Просто есть экономическая целесообразность и для заказчиков, и для разработчиков. Если у заказчика бюджет на сайт 200$ в год, то предлагать ему вдску даже за 10$ в месяц для разворачивания рельс (причем не давая никаких гарантий работоспособности сервера и его безопасности, т.к. на администрирование этого бюджета уже не хватит) для разработчика означает работать бесплатно, т. к. еще за дизайн надо заплатить из этих денег.

Не буду спорить, но точно помню свои впечателния от первых взглядов на два аналогичных (функционально, вроде валидация формы и запись ее БД) листинга на php и perl. PHP — да это ж си практически, только $ ставить перед переменными и function писать (потом, конечно, больше различий нашел), Perl — хм… а это с какого конца читать вообще надо
Я тут присутствую :) Самой простой пример такого скрипта — по крону запускается раз в сутки и обходит ФС на предмет удаления всяких резервных и временных файлов, старше недели. Изучать для этого питон, руби или еще что-то мне кажется излишним
Ну вот я знаю ассемблер (правда забыл уже почти, но вспомню если что надеюсь быстро), С/С++, VB немного, ну и PHP :). Про веб-приложения просто — использовать эти языки на «моих» хостингах очень затруднительно, потому как шелл-доступа к ним нет, а на том который есть нет доступа к компиляторам, трансляторам, сборщикам и т. п. да и писать CMS, например, на асме для веба как-то слишком долго получится :) а готовых открытых решений не встречал :(
Ну а использование PHP в качестве скриптового языка для личных нужд — кроссплатформенность (windows/linux), бритва Оккама, да и просто лень разбираться в bash и powershell :)

>По-моему, исключительно количественные.
Ну у нас разные понятия о количестве и качестве просто. Для меня введение ООП даже в 4-ке было качественным измением.

>Руби — язык общего назначения.
What is PHP? PHP is a widely-used general-purpose scripting language… php.net/
И я его активно использую как язык общего назначения. Единственное, что php-gtk пока не пробовал, cli хватает для ежедневных задач вполне. Да, можно изучить язык bash например, но зачем, если и все так работает?

>Вы в рельсы заглядывали? А загляните!
Заглядывал, ничего не понял, потому-то эти топики и читаю :)

>Сравнивать пхп с руби я не вижу смысла (из жалости к пхп).… Это же вы отказываете мне в праве сравнения вполне сравнимых вещей, а я-то — отнюдь нет.

Я вот чисто логически не пойму, почему нельзя сравнивать один язык и язык (по вашему мнению) на первом написанный? Или можно сравнивать руби с рельсами? если нельзя то почему, рельсы ограничивают функциональность руби, запрещают (на физическом, а не идеологическом) уровне использовать все его возможности? Или непонятным для меня образом расширяют его возможности? Когда я говорю «возможности» я имею в виду принципиальную осуществимость, а не количество написанного кода. Можно что-то написать на чистом руби, чего нельзя написать на нем же в рельсах? Могут рельсы сделать что-то, что не может чистый руби? Если возможности руби и рельс равны, значит они равны, как языки :) и раз можно сравнивать рельсы с пхп, то почему нельзя сравнивать руби с пхп? Или операции сравнения языков не обладает транзитивностью? :)

>Эти пхп-шные фреймворки — всё-таки больше можно назвать «закатом солнца вручную», нежели тем, что получилось из рельс :).
>Ну, например, я не хочу сравнивать пхп-фреймворки с рельсами, потому, что я не знаю хорошо пхп-фреймворков.

Как вы можете судить как можно назвать PHP фреймворки если вы их не знаете хорошо? Я вот не берусь называть руби плохим языком или рельсы плохим фремворком лишь потому что с ними пока не знаком. Может быть познакомлюсь поближе и буду плакать и кусать локти делая очередной сайт на пхп-шном фреймворке (причину смотри ниже). А пока только задаю вопросы. почему вы не сравниваете два фреймворка и ничего конретного кроме общих слов об ущербности пхп из-за его происхождения от шаблонизатора не слышу.

>зачем пользоваться пхп при наличии руби или питона?
www.google.ru/search?hl=ru&q=%D1%85%D0%BE%D1%81%D1%82%D0%B8%D0%BD%D0%B3

из 9 хостинг-провайдеров (10-й результат вики) ни одна не поддерживает на виртуальном хостинге руби и толька одна питон, да даже perl не все поддерживают, php+mysql наиболее широко предлагающаяся на рынке окружение для разработки веб-приложений. То есть использовать PHP самая важная причина в современном мире — экономическая :) И. кстати, видимо по ней же до сих пор все не ездят на бентли :)
Не говоря уж о том, что порог вхождения в php традиционно считается низким, да я и сам его выбрал лет 10 назад именно из-за большой схожестью с C/С++, которые на то время были моими основными языками (после русского :) )

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

Некорректная аналогия :) Взрываются иногда как раз всякие лиспы, тут скорее автомобили с контролем концентрации паров алкоголя в салоне (строгая типизация) и без оного (слабая), в инструкции к с ограничителем ясно написано, что как если концентрация превысит н промиле, то машина не тронется, а вот без сограничителя написано, что может быть если сесть за руль пьяному. Выбор за вами, доверяйте или себе, или искусственному ограничителю
Каких возможностей не хватает PHP, по-вашему, чтобы считаться полноценным языком?

Из того, что в голову приходит, только отсутствие реальной многопоточности могу вспомнить. Отсутствие/наличие Си-подобных указателей не считаю достаточным признаком для определения является ли некая сущность языком :)
>Ну и как можно сравнивать пхп с руби? Шаблонизатор с языком? :)
>только пхп создавался, всё-таки не как язык, а как шаблонизатор (если быть точнее — интерпретатор форм)

Вот именно, что создавался, 15 лет назад, однако за это время кое-что изменилось, никогда не слышали о переходе количества в качество? А тут не просто количественные (добавили функций) изменения были.

>в смысле DSL, это, конечно, язык

Все-таки согласны, что PHP язык? А значит сравнивать их можно ;) И не верю, что все сравнения будут в пользу руби, будут свои плюсы, будут свои минусы у каждого, а уж что кому важнее… даже если сравнивать жигули с бентли, то у жигули есть плюсы, иначе бы все давно уже пересели на бентли :)))

>То, что на убогом DSL можно написать не очень убогий DSL, — ну, да, это специфика такая, средствами рельс можно тоже написать ещё более высокоуровневый DSL, просто это пока никому не нужно.

Давайте-таки сравнивать, то что уже написано? Есть руби и пхп, мы уже договорились, что это языки, которые можно сравнивать. Есть рельсы и симфони (кейк, зенд, кодеигнитер, кохана… ). Если можно назвать рельсы языком, то почему не назвать и симфони или кейк языком?

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

php-фреймворки используются для того же, для чего и рельсы, почему вы их не хотите сравнивать?

Если ошибка описана, то это не ошибка, а особенность :)
авторы языка описали работу операторов, чтовы их бездумно использовали — это ваша проблема
Приводит «к взрыву» она если использовать ее бездумно, да и то. это не взрыв, взрыв как раз исключение. А автоматическое приведение типов операндов особенно в случае строк и чисел очень удобно в основной области применения php. Главно знать как оно работает и там где нужно использовать принудительное приведение типов
Вот теперь точно заинтересовал Ruby, последняя моя попытка овладеть объектным языком была попытка году так в 91-м разобраться со Smalltalk по «самиздатовскому» переводу какой-то академической (судя по стилю) монографии
Тут не спорю, за то время, что я пишу на PHP (начинал с php3) чего в него только не добавили, причем часто через одно место :)
пхп — язык, рельсы — фреймворк, сранивать нельзя :) сравнивайте или пхп с руби в какой-либо области (не забывая, что пхп изначально создавался именно как язык для веб-приложений), или рельсы с, например, симфони

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность