Zephir

hell0w0rd

Продвинутый новичок
У php главная фича - по умолчанию веб-ориентирован. На сколько я знаю без дополнительных модулей или знаний вот так не напишешь на python/ruby
PHP:
<?php
if (preg_match('/(\w+)\.json/', $_SERVER['REQUEST_URI'], $matches) === 0) {
    header(400);
    exit;
}
$modelName = $matches[1];

$pdo = new PDO('mysql:dbname=api;', 'root', null);

header('Content-type: application/json');

switch($_SERVER['REQUEST_METHOD']){
    case 'GET':
        $limit = isset($_GET['limit']) ? $_GET['limit'] : '1000';
        $result = $pdo->query(sprintf('SELECT * FROM `%s`LIMIT %s', $modelName, $limit))->fetchAll(PDO::FETCH_ASSOC);
        break;
    case 'POST':
        $data = $_POST;
        $result = $pdo->query(sprintf('INSERT INTO `%s`(%s) VALUES(%s)', $modelName, array_keys($data), array_values($data)));
        break;
}

if ($result === false) {
    header(500);
    exit;
}

echo json_encode($result);
Да, код дырявый возможно не рабочий, но мысль ясна - написать простейшее приложение на php гораздо быстрее и эффективнее, чем на каком-то другом языке
 

AmdY

Пью пиво
Команда форума
cDLEON
самое забавно что я прямо вчера плясал с бубнами из-за различий в рельсах 1.9.2 и 1.9.3, тут не до мажорных релизов, так что эти не катящие аргументы прочувствовал на себе.

О фичах, уже сейчас php лидер, продукты на нём лидеры в своих нишах, о каких фичах можно спорить. Java это не язык только потому что нет лямбд? Бред же?
 

keltanas

marty cats
У php главная фича - по умолчанию веб-ориентирован. На сколько я знаю без дополнительных модулей или знаний вот так не напишешь на python/ruby
Тут, чтобы не слукавить, стоит заметить, что в браузере такой код появится тоже по средствам сторонних разработок вроде mod_php или php-fpm. Т.е. эта веб-ориентированность тоже не из коробки берется (исключая встроенный веб-сервер, который не рекомендуется к продакшену).
С дургой стороны, с python из коробки (или ставятся элементарно через pip) уже поставляются компоненты, с помощью которых можно без труда тот же самый код изобразить. А сейчас проекты на php в голом виде никто не делает, для $_SERVER, header или PDO (которая так же отдельный модуль) используют обертки, предоставляемые фреймворками.
Отсюда и получается, что основные преимущества в простоте деплоя простых скриптов (ну и в простоте освоения людьми, вообще далекими от программирования).
Для сложных проектов эта экономия практически не чувствуется, т.к. начинаются другие проблемы, а относительно стоимости проекта, стоимость деплоя и на python и на java не будет существенно выше деплоя проекта на php.

В общем приходим опять к тому же http://phpclub.ru/talk/threads/zephir.76813/#post-691135

PS: Я вообще к чему? Давайте пользоваться теми инструментами, которые лучше подходят для решения конкретных задач. Для создания сайтов php подходит лучше. Для сложных CRM/ERP/всяких сервисов - не факт.
 

Breeze

goshogun
Команда форума
Партнер клуба
ну и в простоте освоения людьми, вообще далекими от программирования
таким людям пофиг на язык, они все-равно ничего не знают
посади с нуля писать на %language%, сначала ересь будет копипастом из книги/мануала

что касается зефира, внешне понравился, что из себя представляет в итоге, посмотрим
 

WMix

герр M:)ller
Партнер клуба
cDLEON
мне казалось преимущества были перечисленны, это дешевизна как в разработке так и в поддержке проекта, широкий выбор готовых решений, большое количество специалистов.
ну и твое любимое, которое я отношу к достоинствам "Зато обратная совместимость, мать её аж на 10 лет назад"
hell0w0rd
да брось ты, это буквально также будет звучать хоть на яве хоть на питоне, ничего особенного
 
Последнее редактирование:

keltanas

marty cats
таким людям пофиг на язык, они все-равно ничего не знают
Нет, не пофиг. Если человек учится программировать, то не пофиг.
А на php часто начинают писать не те, кто учится программировать, а те, кто учится сайты делать. На каких-нибудь wp или joomle. Вот им реально пофиг.
посади с нуля писать на %language%, сначала ересь будет копипастом из книги/мануала
До других языков Попов пока не добрался ;)
 

cDLEON

Онанист РНРСlub
AmdY
Ну... Рельсы я защищать не буду. Это их фейл. В нормальной ситуации АПИ меняют в мажорных релизах. Как говорится - и овцы целы и волки сыты.
Да я, как бы, не о синтаксическом сахаре веду речь... Попробую привести пример. Перечислю всё самое необходимое для разработки. Буду сравнивать с Python. Ибо я на нём сейчас пишу. Сравниваю по функционалу (всякие огрызки вроде Yii Ar не рассматриваю)
Symfony < -- > SQLAlchemy, Django-orm
Null < -- > Threads with gil
phpDaemon < -- > Tornado, Twisted, etc
composer < -- > pip
(Деплой) Null < -- > fabric
Самое первое, что пришло в голову. Нет ни чего, что ПХП бы умел ЛУЧШЕ! А всякие CMS..... Это не то, чем можно хвастать :) Ведь мы же с вами - программисты, а не вебмастера :)))
WMix
мне казалось преимущества были перечисленны, это дешевизна как в разработке так и в поддержке проекта, широкий выбор готовых решений, большое количество специалистов.
ну и твое любимое, которое я отношу к достоинствам "Зато обратная совместимость, мать её аж на 10 лет назад"
Из всех этих преимуществ, соглашусь только с "дешевизна в разработке и поддержке". Да и то только потому, что PHP программист стоит дешевле.
А моя любимая 10-яя обратная совместимость здесь больше недостаток. Непонятное именование стандартных функций (в одном месте такая анотация, во втором - другая), вырвиглазные нэймспэйсы и прочее (лень думать... Как по мне, так одних стандартных функций хватает :)).
 

keltanas

marty cats
Symfony < -- > SQLAlchemy, Django-orm
(Деплой) Null < -- > fabric
Symfony - это совсем не ORM. А то, что инструментов деплоя на php не понаписали, может и к лучшему )))
Самое первое, что пришло в голову. Нет ни чего, что ПХП бы умел ЛУЧШЕ!
ООП в php как-то поприянтнее. В питоне костыли с инкапсулированием и абстрактными классами/интерфейсами попахивают.
Впрочем, для кого-то это может быть и плюсом, т.к. что-то спрингообразное на нем реализовать сложнее, если не невозможно. Паттерноненавистники могут спать спокойно )))
 

Breeze

goshogun
Команда форума
Партнер клуба
как всегда, все сводится к "его рожа мне не нравится" =)
нет инструмента? напишите, не веб-мастера чай
 

cDLEON

Онанист РНРСlub
ООП в php как-то поприянтнее. В питоне костыли с инкапсулированием и абстрактными классами/интерфейсами попахивают.
Лол. А что не так в питоне с инкапсулированием ? А абстрактные классы в питоне есть. Только это обычный класс. И вместо ключевого слова abstract в реализации метода достаточно вставить NotImplemented.
PS. Ну конечно Doctrine.
 

WMix

герр M:)ller
Партнер клуба
питон очень хороший язык, он делает намного больше но он медленнее чем пхп. это отличный автомат данные лопатить
а то что обратно не компатибельный, это просто видать тебя не затронуло, когда время рубить бабло, а приходиться код подгонять, и вместо карибов работа до ночи.
программист это всегда дешево, вне зависимости от языка
анотации это не язык это фишечки
"вырвиглазные нэймспэйсы и прочее" чувствуются размеры проектов, "Как по мне, так одних стандартных функций хватает" точно!
 
Последнее редактирование:

cDLEON

Онанист РНРСlub
он делает намного больше но он медленнее чем пхп.
Мде... Вроде на форум программистом пришёл. http://stackoverflow.com/questions/62333/python-vs-php-python-runs-slower
а то что обратно не компатибельный, это просто видать тебя не затронуло, когда время рубить бабло, а приходиться код подгонять, и вместо карибов работа до ночи.
А можно поинтересоваться как вас это тронуло ? И по какой причине ? Есть ведь virtualenv. Какую хочешь версию python - такую и ставь.
анотации это не язык это фишечки
Да, кстати, а какие у этого языка остались "киллер-фичи" ? По сравнению с другими ?
Мне казалось, что мы это и обсуждаем.
"вырвиглазные нэймспэйсы и прочее" чувствуются размеры проектов, "Как по мне, так одних стандартных функций хватает" точно!
А вы размер груди девушек\женщин тоже по цвету ногтей меряете ?
Ну да, или так http://docs.python.org/2/library/abc.html
Только все равно как-то не по-людски получается. Ну, или не привычно, так скажем.
Ну... Декораторы - это клёво, поверьте :)) Метаклассы - редко где используются (я бы, кстати, не назвал их костылем :) В ПХП же реализация абстрактного класса проверяются всегда принудительно. В Python - на усмотрение программиста. И, кстати, тоже единожды!).... Но к этому проще привыкнуть, чем к PHP нэймспейсам :))
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
cDLEON
но он медленнее чем пхп http://benchmarksgame.alioth.debian.org/u32q/benchmark.php?test=all&lang=python&lang2=php
как вас это тронуло - начиная с виндовс и заканчивая библиотеками и програмульками.
размер груди по виду, программу по капсулам
Мне казалось, что мы это и обсуждаем.
http://de.slideshare.net/rdohms/annotations-in-php-they-exist
открою тебе секрет, в пхп их можно придумывать самому
 
Последнее редактирование:

keltanas

marty cats
Но к этому проще привыкнуть, чем к PHP нэймспейсам :))
Почти тоже самое, что import в питоне (с точки зрения юзабильности). Разница только в разделителе. А когде IDE за тебя генерит заголовок из неймспейсов, о них вообще забываешь и просто пишешь код.
 

cDLEON

Онанист РНРСlub
WMix
во первых - не везде. Во-вторых не факт, что предложенный алгоритм был оптимален. В том топике, кроме этих ссылок есть ещё очень хорошие цитаты людей. Не поленись - почитай. :)
как вас это тронуло - начиная с виндовс и заканчивая библиотеками и програмульками.
Совет - используй ту платформу, которая будет использоваться в продакшене. В PyCharm-е, например, есть даже "удаленные интерпретаторы". Которые позволяют писать код с библиотеками, установленными на сервере, отлаживать и запускать прям из интерфейса. И да.... А как вообще проблемы платформы вдруг стали проблемами обратной совместимости ? :)))
открою тебе секрет, в пхп их можно придумывать самому
Упс. Мой фейл. Имелось ввиду "нотация". Т.е. я имел ввиду бардак в наименовании. array_fill - но current, str_replace - но strchr.
А про "аннотации" - вообще отдельная тема :) НЕВИДАННЫЙ костыль. Которым ещё и авторы "быстрых" фреймворков пользоваться умудряются!!!
Почти тоже самое, что import в питоне (с точки зрения юзабильности). Разница только в разделителе. А когде IDE за тебя генерит заголовок из неймспейсов, о них вообще забываешь и просто пишешь код.
Писать то может и без разницы, но читать не удобно.
 
Последнее редактирование:

hell0w0rd

Продвинутый новичок
Омг) Чем неймспейсы в php то не угодили, в питоне их вообще нет. Не уверен что портянка из import в каждом файле лучше глобальной области видимости в php
В PyCharm-е, например, есть даже "удаленные интерпретаторы".
Это фишка языке, или ide?
 

WMix

герр M:)ller
Партнер клуба
hell0w0rd
Это фишка языке, или ide?
ide типа шторм
cDLEON
во первых - не везде. Во-вторых не факт, что предложенный алгоритм был оптимален.
там предоставлены алгоритмы, если увидешь где забыли турбо поставить, можно поправить.
Писать то может и без разницы, но читать не удобно.
:D
 
Последнее редактирование:

AmdY

Пью пиво
Команда форума
AmdY
Symfony < -- > SQLAlchemy, Django-orm
Null < -- > Threads with gil
phpDaemon < -- > Tornado, Twisted, etc
composer < -- > pip
(Деплой) Null < -- > fabric
Вот думаю на этом можно и заканчивать спор глухого с немым.
https://packagist.org/search/?q=orm
https://packagist.org/search/?q=thread
https://packagist.org/search/?q=daemon
https://packagist.org/search/?q=deploy
На нехватку инструментов в пыхе точно жаловаться не стоит их куча и разного качества и удобства. Я пользуюсь laravel, там более 400 пакетов только под него.
Не хочется спорить о других языках, почти все они хороши и самодостаточны, нужно лишь уметь готовить, проблемы так же есть везде.
 

hell0w0rd

Продвинутый новичок
WMix
это был риторический вопрос:)
Мне кажется тема скатилась в другую сторону начиная с вопроса "зачем такие извращения в php давайте будем подобные задачи решать на ****(мой любимый, более быстрый,чем php, язык)"
Я предлагаю модераторам выделить это в отдельную ветку, а тут оставить обсуждение зефира такого какой он есть и следующих его релизов)
 
Сверху