Pull to refresh

Comments 88

Ох… Сколько люди претерпевают мучений, лишь бы не использовать python…
Вы так говорите, как будто использовать php это что-то плохое!
Не то, чтобы плохо… Но разрабатывать сколь-либо крупный проект на personal home pages… Хм.
PHP как бы уже давно как не «Personal Home Page», а «PHP: Hypertext Preprocessor»
И? И сейчас это полноценный язык. И по сути ничем не уступает, а в чем-то даже превосходит питон и перл.

Я это говорю абсолютно объективно по работе приходилось использовать и перл и питон и пыхпых
не верю, что кто-то, имеющий не поверхностный опыт использования питона или руби, особенно в веб-проектах, мог бы всерьез утверждать, что PHP ничем им не уступает.
Я утверждаю. Сам язык (PHP 5.3) ничем. Python более лаконичный, но PHP столь же мощный, а в некоторых случаях уровень абстракции в PHP и повыше. Посмотрите как в PHP прочитать файл, ftp-адрес или http-адрес. И сравните с тем как это сделать в Python.
Да сколько ж можно уже :)
Facebook и Wikipedia — это маленькие проекты?
Это большие проекты. Но там не только PHP! Например (насколько я помню), в википедии PHP используется в основном для обработки вывода страниц.
Я имею в виду, что помимо, собственно, веб-сервиса им нужно было разрабатывать/дорабатывать вот это.
Ну, тут нет ничего особенного, кроме Apache Lucene, Squid и неких «Image Scalers». И все это нужно лишь для оптимизации и снижения загрузки — при желании ведь можно сделать полную копию Википедии и без подобной инфраструктуры. Так что вполне можно сказать, что вся Wikipedia держится на PHP :)
А если проект написан на языке, отличном от PHP, сложная серверная архитектура не нужна что ли?
конечно, ведь это же Python! Как мы можем не молиться на другие языки? В них же все логично и клево, не то, что в нашей любимой пэхепэшке.
А интерпретируемый питон без JIT — это хорошо?
PHP не только в плане синтаксиса является наследником C++ но и в плане своей живучести, гибкости и многофункциональности. PHP предоставляет значительно больше возможностей чем тот-же Python или Ruby.

Самым главным недостатком PHP являются как раз эти самые большие возможности.:
  1. это снижает производительность
  2. это создает простор для говнокодеров, которые всласть пользуются гибкостью PHP


Кстати, как раз Python и Ruby не являются чистыми веб-языками, в отличии от PHP, а сайты пишутся не на самих языках, а на framework'ах Django и Ruby on Rails.

Не поспоришь — фреймворки просто великолепные, только у PHP тоже есть куча MVC-фреймфорков, в том числе Django-образный Pluf и больше 5 Rails-образных таких как Fuse, CodeIgniter или Kohana…
PHP предоставляет значительно больше возможностей чем тот-же Python или Ruby.

Поясните-ка
Хоть я и люблю PHP, и не люблю холивары — но тут не смог пройти мимо, извините :)
PHP предоставляет значительно больше возможностей чем тот-же Python или Ruby.
С этим не согласен в корне. Динамические возможности PHP (даже версии 5.3) значительно беднее того же Питона. За примерами далеко ходить не надо — в PHP вы просто не сможете написать так:

get_array_of_functions()['function_1']();

Вместо этого приходится писать:

$a = get_array_of_functions();
$a = $a['function_1'];
$a();


Но при всем этом PHP остается хорошим языком — так же, как и Python.
В самом деле, не спорить же о том, что лучше — отвертка или молоток? :)
Извините, наверно неправильно выразился… уточняю: «значительно больше возможностей» означало что у PHP больше фреймворков, которые реализуют разные схемы MVC, PHP предоставляется значительно больше готовых решений. Люди владеющие PHP могут под конкретную задачу использовать наиболее подходящие инструменты, а у Ruby и Puthon такой возможности нет.

На самом деле этот спор действительно лишен смысла потому что немногие из нас хорошо знают все 3 языка, лично я действительно хорошо знаю только PHP, а в остальных я не нашел нужного мне — поэтому и не стал углубляться…
а у Ruby и Puthon такой возможности нет.

Правда? Вы просто плохо искали.

А тот факт, что, к примеру, у рубистов в основном для веб используется Rails(ещё есть sinatra — тоже неплохо для некрупных проектов), говорит только о том, что он устраивает большинство программистов и охватывает очень, очень много областей, потому и обилие программных продуктов не требуется.

Я отлично знаю и php, и ruby(2.5 года назад мигрировал на руби с пыха, до этого 5 лет разрабатывал на php), и хорошо знаю, о чём говорю. Сегодня, когда мне приходится работать с проектами на php, я беру двойную плату, потому что процесс программирования на php ну никак не сравнится с программированием на языках, которые изначально построены не на костыльной системе. А большинство php-программистов, с которыми связывают проекты, высказываются, что php им давно осточертел. В моих глазах php-хороший шаблонизатор.
Хотя современные продукты(Symphony, ZF, CI) хороши. Посмотрим, что будет в php 6.
Т.е. значительно большая популярность PHP говорит о том, «что он устраивает большинство программистов и охватывает очень, очень много областей»… верно?

Вы с 12 лет пишете на PHP?

А Symphony и Zend — не самые лучшие примеры, тем более для разработчика на Рельсах… Вы просто говорите о том, что знаете, но вершина айсберга — это меньшая его часть ;)
Значительно большая популярность пхп говорит о том, что его создатели очень хорошо и грамотно его пропиарили, но по сути решения, за счёт которых пхп набрал популярность — ужасные костыли.

Кстати, есть хорошая статья на эту тему: dklab.ru/chicken/nablas/55.html
Вы мыслите двойными категориями и этим мне напоминаете толи Джорджа Буша младшего, толи Дениску Попова из Нижнего Тагила, вот только он освоил в совершенстве PHP за 3 дня, а не за 5 лет.

Точно также про костыли мы будем размышлять через лет 10 в отношении RoR. Я не любитель таких тупых холиваров, о чем сказал ещё в самом начале — habrahabr.ru/blogs/php/96291/#comment_2946454

Нравится RoR — на здоровье, а я знаю как выполнить туже работу ещё быстрее и не иметь проблем с хостером, заказчиком и людьми, которые копаются в моем коде. Я пишу объектно-ориентировано и использую MVC-схемы, я не испытываю проблем с недоделанными гемами, и недокрученными костылями (такими как TinyMCE для RoR).
То, что вы пошли на оскорбления, говорит о многом. :)

Я только оспаривал факты, которые вы так смело приводили без должного изучения ситуации.
И я тоже не испытываю никаких проблем ни с tinymce, ни с fckeditor.
Извините, про gem для TinyMCE для прикрутки к RoR это вообще бредовый пример, когда всё же TinyMCE это клиентская часть и должна прикручиваться из view. Почему все обленились написать две строчки в шаблоне, первая подключает JS к страничке с редактором, вторая создает объект редактора привязывая к textarea. ВСЁ!
Это делаеясЯ в 2 секунды на любом языке.
Вот именно, это делается за 5 минут на ЛЮБОМ языке, но на RoR должно делаться действительно за 2 секунды, просто вызовом gem'a, но когда я его видел последний раз там вылезала куча косяков при попытке настроить панель, пришлось все таки ставить за 5 минут обычный (перед этим потратив дохера на гем).

> Почему все обленились
Так а сама идея создания RoR никак не связана с ленью?

Кстати, Вы описали способ подключения для ленивых, человек который хочет сделать хорошо — перелопатит половину настроек, особенно расположение элементов на панели инструментов и их набор, потому что каждому клиенту на каждом сайте нужен свой набор функций и свой уровень полномочий, иногда даже для разных уровней вложенности делаю разную панель (кстати, на RoR даже не знаю как можно это реализовать, врядли это очень просто получится)

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

Идея RoR для кого-то может и связана с ленью, как и вообще создание языка PHP, когда надоело писать на PERLе страницы.

А для кого-то RoR это хороший инструмент и вся его прелесть связана с красивым и удобным языком.
Смысл gem'a TinyMCE для RoR в том что сервер сам определяет, когда ему нужно подгружать на страницу JS и CSS для работы с TinyMCE, а когда нет (предусмотрены функции аля insert_if_needed), таким образом снижая нагрузку на клиента.
Это фича, да?

«сервер сам определяет» — новые сервера с телепатическими способностями?
Вы механизм представляете себе вообще?
Всё проще при вызове этого хелпера он просто добавляет к заголовкам которые будут вставлены на страницу между head тэг нужные строки, не более магии.

У меня еще в CodeIgniter обычный helper form_tinymce когда его вызывают добавляет к шаблонизатору $headers нужные заголовки, которые будут потом в теле html теге head отображены, это одна строка (!!!)

Тут на самом деле не надо говорить, что RoR плох тем, что кто-то написал кривой gem и не может эту задачу решить своими 10ю строками. Нужно понимать механизмы прежде чем ругать RoR
Да бросьте, ruby и python имеют больше библиотек (субъективно — значительно больше) под разные нужды, чем php, даже несмотря на то, что на них пишут меньше людей. Зайдите на тот же github и посмотрите сами.

Писал года 4 на php и когда потом перешел в питон, очень удивился и обрадовался тому факту, что, в отличие от php, почти для всего есть готовые решения, которые поддерживаются, обновляются, легко и централизованно устанавливаются.

amarao, понятное дело, троллит тут, но суть-то в том, что для того же питона такие интерактивные консоли как минимум лет 5 уже все используют.
Мне кажется очевидным стадный эффект эмо-php-боев. Вы может быть не закончили школу, не пошли в университет, или даже закончили это все вместе взятое, но вас объединяет однo: вы нихрена не программисты.
Программист не станет цепляться за один язык для простой разработки простых приложений (или что вы там делаете), программировать надо с использованием языка, а не на языке — и надо знать возможности языков.
Вот этот вот интерпретатор пхп — это велосипед с квадратными колесами, а, скажем, используя предложенный amarao python для этих нужд подходит гораздо лучше.

Но ведь еще остается чувство обиды, дескать, кто-то знает питон, а я нет. Значит, и не нужен он, вон я пойду на пхп+джаваскрипт 3д графику сделаю, чем я хуже.

Ну и конечно система «несколько адекватных людей против огромного числа незрелых кодеров» в голосовании добивается превосходства неграмотности
Тише, тише, вас дети читают! :)

Если хотите, лучше научите как правильно. Агрессия не решит ваших проблем. Я не уверен, что она вообще их решает.
Я делаю десктопные приложения на питоне и яве. А раньше ещё много чего было, включая ассемблер для микроконтроллеров.
Но вот в вебе мне нравится PHP. Причём не сказал бы, что знаю этот язык лучше питона.
Я совсем больной?
я знаю, что питон — замечательный язык. но дело в том, что мне не нужен просто язык. мне нужен фреймворк и мои классы, в которых реализована бизнес-логика. сделать запрос, обновить счётчики в связанной таблице, удалить ключи из мемкэша.
используя все эти (уже написанные) классы я сделаю это в одной или в двух строчках.
если же я буду использовать питон, который пусть даже лучше подходит для этой задачи вообще, то мне потребуется писать строчек наверное 20 кода.

поэтому не нужно устраивать зоопарк. если используется php, то и консольные скрипты лучше на php делать, а не на питоне.
UFO just landed and posted this here
Норм, 17 минусов и только -5 к карме. Спасибо, наелся.
Вам не кажется, что сами себе противоречите? Сначала говорите, что не фиг цепляться за один инструент, а потом сами же отливаете серебрянную пулю

У пыха немйспейсы и лямбда появлиалсь в 5.3, зато у питона ордеред хешь будет только в 2.7 хотя 5 сторонних костылей говорит о востребованности, я уж молчу про голандскую логику в логике(извините за тофталогию). Эт минусы для примера, плюсы все равно ни кого не интересуют.
Каждой задаче свой инструмент, вы же вместо того что б показать класс в использование питона начинаете охаивать пых
Весь этот спор мне напоминает спор на тему: «Что лучше Канары или Сейшелы?» при этом Вы бывали только на Канарах, я — только на Сейшелах, а большая часть аудитории вообще только по телику видели и то и другое :)
как там кстати, на Сейшелах?
UFO just landed and posted this here
а ведь в чем-то вы правы. Только дело в том что веб разработчиков количеством больше.
На землю упал метеорит, а под ним еврей лежит. Что же это за напасть — негде камушку упасть… (:
> PS (для тех кому скучно): что выведет строка for ($i='a';$i<='z';$i++) echo $i.' ';?

Ух ты! Не знал про такое :)
UFO just landed and posted this here
php -a
интерактивный режим с дополнением
local ~ # php -a
Interactive mode enabled

var_du <жму tab>

и ничего не происходит. но можно действительно ввести полностью текст программы, начиная от <?, и нажать Ctrl+D, тогда программа выключится и консоль прекратит работу.

как-то мало интерактивности.
ОСь?
версия ПХП?
у меня всё работает
PHP 5.3.2-pl0-gentoo with Suhosin-Patch (cli)
PHP 5.3.2 (cli) (built: Apr 30 2010 01:44:45)
Copyright © 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright © 1998-2010 Zend Technologies
with XCache v1.3.0, Copyright © 2005-2009, by mOo

gentoo
я прям не знаю чем вам помочь, у меня работает
USE=«apache2 berkdb bzip2 cgi cli crypt ctype curl curlwrappers exif filter ftp gd gdbm iconv json ldap mysql mysqli nls readline session simplexml spell sqlite sqlite3 ssl suhosin threads truetype unicode xml xmlreader xmlrpc xmlwriter zip zlib»
ставил из
git://github.com/GiDiS/gentoo-php-rewrite.git
хотя и из основного дерева тоже работало
я ставил из src, fpm на момент установки ещё не было в php и он скачивался отдельно. с другой стороны, в windows/php5.1-то у меня php -a точно так же работает, и в fedora/php5.2 тоже.

за ссылку на этот git спасибо!
Бля, ну ты бы хоть в layman заглянул бы, гентовод! Есть же легальный способ не компилить все из исходников путем make && make install и не захламлять систему. Эх, молодежь…
PHP 5.2.13-pl0-gentoo (cli) (built: Mar 30 2010 22:57:19)
Copyright © 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright © 1998-2010 Zend Technologies

USE=«cli readline spell» остальные вряд ли относятся к проблеме
классная штука. особенно забавно, что эта реализация интерактивной PHP консоли написана на Питоне =)
>PS (для тех кому скучно): что выведет строка for ($i='a';$i<='z';$i++) echo $i.є )
прикол )
for ($i='a';$i<='z';$i++) echo $i.' ';?


Вбивать в интерпретатор лень, выведет алфавит?
Это еще с Си пошло, что char интерпретируется и как символ и как число?
второй вопросительный знак лишний был)
вернее, 2 тоже нет. просто определена операция ++
действительно, в пхп оно сравнивает это как строки, а не как числа. i fail :)
Мануал PHP, оказывается, содержит в себе много «потайных» мест. Вот что там написано по этому поводу:

PHP follows Perl's convention when dealing with arithmetic operations on character variables and not C's. For example, in Perl 'Z'+1 turns into 'AA', while in C 'Z'+1 turns into '[' ( ord('Z') == 90, ord('[') == 91 ). Note that character variables can be incremented but not decremented and even so only plain ASCII characters (a-z and A-Z) are supported.
Я с кпк, и сгораю от любопытства чё она выведет…
покажите плиз
a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar as at au av aw ax ay az ba bb bc… yw yx yy yz
Прикольная вещь!
Для отладки или быстро какой-нибудь финт опробовать.

Для многих, даже весьма продвинутых, программистов на PHP,
окзаывается открытием, что интерпретатор PHP пригоден для
написания unix shell скриптов.

На пример, часто требуется производить некие манипуляции с
базой данных веб-приложения раз в день. Велосипед, оказывается,
изобретать не нужно — скрипт на привычном php может быть
запущен посредством cron.
Мы на php пишем всё — от простеньких интерфейсов к базам данным до erp, от crm до cronjobs :)
php -a юзайте, ага. А чтоб работало собирайте php с readline.
собрал. не помогло.

Configure Command => '../configure' '--with-ttf' '--with-imagick' '--with-fpm' '--with-libevent' '--with-gd' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-mbstring' '--enable-zend-multibyte' '--enable-sockets' '--with-curl' '--enable-bcmath' '--enable-fpm' '--with-readline'
видел подобную задачу но в еще менее интуитивном варианте:

for ($i='z';$i<='z';$i++) echo $i.' ';
Забавно, довольно долго использую irb в Ruby, а вот для PHP аналог поискать в голову не приходило.

Спасибо
Правильно зачем изобретать велосипед, когда есть Interactive mode встроенный начиная с 4-ой версии PHP.
если нет — то у меня она установилась по команде «emerge libedit»
А по какой команде она установится у меня? Почему каждый норовит указать, какой командой он установил ту или иную программу/библиотеку? «apt-get install», «emerge»,… Почему нельзя сказать «она находится в зависимостях пакета libedit» или «эта библиотека находится в пакете libedit»? Почему читатель должен задумываться над фразой, которую Вы написали? Бр.
потому что лично мне фраза «она находится в зависимостях пакета libedit» ни о чём не говорит, а если мне кто-то скажет, что «я установил эту библиотеку такой-то командой», то я сразу же обо всём догадаюсь.
Нужно, как минимум, отформатировать код. Заменить короткие теги, добавить интерактивную справку.

А сама идея очень интересная :)
Для того, что б esc-последовательности работали под win* есть утилита ansicon.
UFO just landed and posted this here
python идеи переносим в пхп. =)
мне кажется, что штука полезная. переходя на пито удивлялся почему нет такой консоли для пхп
Sign up to leave a comment.

Articles