Представлена (http://php.net/archive/2013.php#id2013-03-21-1) первая бета-версия новой значительной ветки интерпретатора языка программирования PHP 5.5, в которой добавлены новые языковые конструкции, удалены устаревшие возможности и интегрирован Zend Optimizer+ (https://github.com/zend-dev/ZendOptimizerPlus/). Релиз PHP 5.5 ожидается в течение нескольких месяцев.
Среди новшеств PHP 5.5:
- В состав включена система кэширования и оптимизации байткода Zend Optimizer+ (https://github.com/zend-dev/ZendOptimizerPlus/), ранее поставляемая в составе проприетарного пакета Zend Server, но недавно переведённая (http://www.opennet.me/opennews/art.shtml?num=36115) компанией Zend Technologies в разряд свободных проектов. Zend Optimizer+ предоставляет средства для ускорения выполнения скриптов на языке PHP за счёт использования техники кэширования опкода и применения дополнительных оптимизаций. Предкомпилированный код скриптов кэшируется в разделяемой памяти, что позволяет избежать выполнения стадий чтения с диска, разбора и компиляции исходного кода скриптов при их повторном запуске.Кроме того, Zend Optimizer+ включает дополнительные методы оптимизации при генерации байткода, что позволяет достичь ускорения и за счёт более быстрого выполнения байткода. По сравнению с конкурирующей системой APC, Zend Optimizer+ выигрывает по производительности в среднем на 5-20%, обеспечивает лучшую совместимость с различными ветками и возможностями языка PHP, а также содержит средства для выявления повреждения данных (например, из-за некорректно написанной PHP-функции на языке C).
- Добавлен (https://wiki.php.net/rfc/password_hash) новый API для хэширования паролей, предоставляющий застрахованные от ошибок разработчиков и более простые в использовании высокоуровневые функции для генерации и проверки валидности паролей по хэшам. Основное отличие нового API в том, что он берёт на себя генерацию надёжных хэшей, скрывая от разработчика операции ручного указания salt-а и выбора алгоритма хэширования (по умолчанию используется Bcrypt). Создание хэша сведено к выполнению "$hash = password_hash($password, PASSWORD_DEFAULT);", а проверка к вызову "password_verify($password, $hash)". В качестве причины внедрения нового API называется безалаберное отношение многих разработчиков к генерации salt-ов и повсеместный выбор нестойких к перебору алгоритмов хэширования;
- Поддержка сопрограмм (coroutine) и генераторов (https://wiki.php.net/rfc/generators) (generator), предоставляющих простой и не требующий создания шаблонов способ реализации итераторов;- Поддержка (https://wiki.php.net/rfc/finally) расширяющего возможности блоков исключений try/catch ключевого слова "finally", выполняемого после завершения выполнения блока try, что гарантирует, что заданный в секции finally код будет выполнен в последнюю очередь после всех остальных обработчиков исключений;
- Поддержка (https://wiki.php.net/rfc/foreachlist) указания list() внутри блока foreach (), что позволяет организовать не требующий создания отдельных временных переменных перебор масивов;
- Возможность разыменования констант для строк и массивов;
- Улучшение модуля ext/intl со средствами интернационализации;
- Возможность (https://wiki.php.net/rfc/empty_isset_exprs) использования empty() и isset() над результатом работы функции и произвольными выражениями (например, empty(foo()));- Прекращение поддержки Windows XP и Windows 2003.
- Прекращение поддержки устаревших функций: php_logo_guid(), php_egg_logo_guid(), php_real_logo_guid(),
zend_logo_guid();
- Добавлен метод Generator::throw();
- Реализована серия новых функций в расширении cURL;
- Добавлена поддержка атрибута Max-Age в setcookie();
- Поддержка использования empty() для результатов вызова функций и выражений. Например, empty(foo());- Поддержка системы трассировки Systemtap на платформе Linux;
- Оптимизация доступа к временным и компилированным переменным на уровне VM, что позволило сократить число обращений к памяти на 8%;
- Расширение ext/mysql объявлено устаревшим, вместо него следует использовать MySQLi или PDO_MySQL.
- Добавлена опция php.ini для изменения пути к временной директории PHP;
- Добавлены функции mysqli_begin_transaction()/mysqli::begin_transaction();
- Реализованы все опции mysqli_commit()/mysqli_rollback(), которые могут быть использованы с START TRANSACTION, COMMIT и ROLLBACK в MySQL 5.6;
- Добавлены функции-врапперы recvmsg() и sendmsg() для ext/sockets;
- Добавлена функций array_column (https://wiki.php.net/rfc/array_column), которая возвращает запрошенный столбец из многомерного массива;- Добавлена возможность (https://wiki.php.net/rfc/foreach-non-scalar-keys) использования нескалярных итераторов в качестве ключа в цикле foreach (например, "foreach ($iter as $k => $v)");- Добавлена поддержка (https://wiki.php.net/rfc/cli_process_title) изменения названия процесса через CLI/CLI-Server SAPI функцию cli_set_process_title($title).
URL: http://php.net/archive/2013.php#id2013-03-21-1
Новость: http://www.opennet.me/opennews/art.shtml?num=36475
Xp то с 2к3 выпиливать зачем...
Разряжаются, снимают стресс. У каждого свои методы.
Да, действительно, зачем так слабо, нужно было просто выпилить поддержку windows
> Да, действительно, зачем так слабо, нужно было просто выпилить поддержку windowsПока рановато -- пусть лучше хоть через этот бейсик потихоньку отрываются от M$.
> Пока рановато -- пусть лучше хоть через этот бейсик потихоньку отрываются от M$.Да уж. Благо сервак с пыхом на каком-нибудь лине в 100500 раз проще содержать чем в винде. В винде по-моему вообще все что не от MS - является сплошным геморроем. Да и то что от MS в 90% случаев - тоже.
>> Пока рановато -- пусть лучше хоть через этот бейсик потихоньку отрываются от M$.
> Да уж. Благо сервак с пыхом на каком-нибудь лине в 100500 раз
> проще содержать чем в винде. В винде по-моему вообще все что
> не от MS - является сплошным геморроем. Да и то что
> от MS в 90% случаев - тоже.Наоборот. У меня до сих пор хранится архив на 2 мб с апаче и php, на котором я в win98, живя на нелегальном положении и таясь, писал на php под win98 на pentium 233. И в win98 не было проблем с чмодами, човнами, кейс-сенсивитями и прочими исконно русскими словами. А cp1251 хватало на всех, байты = символам считать было одно удовольствие.
php просто создан для windows и windows-идеологии "за 5 минут сообразим, а весь мир потом пусть мучается".
+1
> Добавлен новый API для хэширования паролей, предоставляющий застрахованные от ошибок разработчиковНу и кто еще верит, что PHP - это не фреймворк?
я верю, пыхпых это шаблонизатор.
_GET, _POST, _COOKIE и _SESSION - это уже не часть шаблонизатора, а всё-таки часть фреймворка.
а где список пасхалок ?
> а где список пасхалок ?В багтрекере. Будет пополняться по мере обнаружения :P.
а с utf когда разберутся?
> а с utf когда разберутся?Наверно, в следующей жизни, Когда я стану кошкой на-на-на-на^U когда на движок Python-а перейдут.
> Python-а перейдут.То-то на питоне не написано ни 1 внятного продукта. Даже рубисты в этом планее меньшие отстойщики. И таки сделали несколько более-менее успешных проектов.
Толсто. Cервисы Яндекса, гугла, инстаграм, дискас, битбакет, вашингтон пост, НАСА — невнятные продукты? Ок.
На руби ничего кроме рельсов никогда не было и не будет.
На пыхпыхе есть фейсбук, вконтакт, куча ужасных высеров и все.
>> То-то на питоне не написано ни 1 внятного продукта.
> Толсто.Угу, мне первым делом trac вспомнился.
> Cервисы Яндекса, гугла, инстаграм, дискас, битбакет, вашингтон пост, НАСА —
> невнятные продукты?Инстаграм могли бы и придержать под прилавком для разнообразия, кстати. :)
> На руби ничего кроме рельсов никогда не было и не будет.
А ещё мог бы первым делом вспомниться redmine.
Но если уж сравнивать тёплое с тёплым, то всё-таки продукты с продуктами, сервисы с сервисами, а фреймворки сравнивать с фреймворками (и питонистам тут похвастаться особо нечем -- свой Zope скорее помер, а потом пошло идейно заимствованное у тех же рельс).
Давайте? :)
> Угу, мне первым делом trac вспомнился.Мне тоже. И я уже столько раз высказывался что я думаю про этот отстой, что уже просто надоело. Галимый и неудобный багтрекер, в котором мучительно оформлять баги, без поллитры не найдешь то что зарепортил, горбатая вика с недописанным синтаксисом, и прочие прелести жизни. А как там кастомно поискать баги по продвинутому критерию - я вообще не врубился. Самый край там есть несколько куцых готовых кверей. А в больших проектах трак еще и просто эпически тормозит при вообще любой мыслимой операции.
Короче с точки зрения багрепортера - сакс. Единственное что там хорошего - ну таймлайн разве что. И то - они IIRС поддержку гита не могли сделать хзсколько. Так что трак обычно соседствует с всяким античным крапом типа SVN, что окончательно убивает какой либо стимул иметь дело с таким проектом. В общем отличная иллюстрация по теме "много и хорошо одновременно не бывает".
> Инстаграм могли бы и придержать под прилавком для разнообразия, кстати. :)
Зачем же, сервисы от хомячков для зомячков - это так трогательно. По синтаксису питона сразу видно на кого ЭТО было рассчитано. На тех кого пинками, в стойло, и только так.
>> На руби ничего кроме рельсов никогда не было и не будет.
> А ещё мог бы первым делом вспомниться redmine.Этот и то не такой ужастик как трак. Хотя и не сильно лучше, но в целом поприятнее в юзеже чутка.
> а фреймворки сравнивать с фреймворками (и питонистам тут похвастаться особо нечем -- свой Zope скорее помер, а потом пошло идейно заимствованное у тех же рельс).Люди, это что ж такое средь бела дня творится!
Это кто идейно заимствован от рельс?
pylons, pyramid и стеки на их основе?
flask и весь стек pocoo?
Или bottle, который вообще - идеал для начинающих, позволяющий делать простые вещи очень просто, и сильно упрощающий создание сложных?
Или низкоуровневые tornado, twisted, cherrypy, и стеки на их основе?
Да даже django, туды его в качель, и то позволяет разобраться на части и использовать нужное - хотя не особо стоит.
Или ещё десятки фреймворков на python? Кто из них идейно заимствованный от рельс?
переходи на python#!/usr/bin/env python
#-*- coding: utf-8 -*-
% cat utf8.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-print u'привет'
% ./utf8.py
привет
% ./utf8.py > /dev/null
Traceback (most recent call last):
File "./utf8.py", line 4, in <module>
print u'привет'
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-5: ordinal not in range(128)
У тебя ошибка - устаревшая версия питона.$ cat utf8.py
#!/usr/bin/env python3
#-*- coding: utf-8 -*-print('привет')
$ ./utf8.py
привет
$ ./utf8.py > /dev/null
$
> У тебя ошибка - устаревшая версия питона.У бидона 100500 версий и хрен разберешься какая там устаревшая. А переписывать все ваши скриптоподелки постоянно - мало кому охота. Такого п-ца как 3 версии интерпретера в системе даже у пыхэпистов не бывает. А с питоном - запросто.
послдняя и есть не-устаревшая
> послдняя и есть не-устаревшаяНу, знаете, мне не очень нравится фачить себе мозг разборками с тремя версиями питона. Поэтому я предпочитаю просто не пользоваться питонятиной. Так меньше мучений. Переписывать половину скриптов на каждую версию питона в которой опять всю совместимость сломали - я как-то совсем не готов.
лучше кататься на erlang, node ?
print u'Привет'.encode('utf-8')
> print u'Привет'.encode('utf-8')Знатоки рекомендуют так каждую строчку перед выводом кодировать?
> print u'Привет'.encode('utf-8')Очень удобный синтаксис, ничего не скажешь... </sarcasm>
>> print u'Привет'.encode('utf-8')
> Очень удобный синтаксис, ничего не скажешь... </sarcasm>Читаю доки по стандартной библиотеке python2. Весело, с выражением, перемешивая матерными анекдотами и историями из тяжёлой жизни php-шников.
50 долларов в час.
Подскажите, как в плане скорости этот Zend Optimizer+ работает по сравнению с последним xcache? А то все почему-то с APC сравнивают, но по мне так xcache получше будет (использую с 2007 года на достаточно нагруженных проектах, в том числе и для варкэша)
Это же каким лохом нужно быть что бы за 6 лет не понять ущербность пхп.
сейчас не об этом ;)
> Это же каким лохом нужно быть что бы за 6 лет не
> понять ущербность пхп.Ваши варианты, с-ЭЭ-р!?
Сколько раз не пытался скрипты питона или руби запустить все время они в ошибки вываливались, то им расширений не хватает, то версия не та, то в струкруре переменная какая удалилась/добавилась/переименовалась с пхп такого не было никогда.
> с пхп такого не было никогда.Да, там можно игнорировать ошибки. PHP разъело твой мозг?
> Сколько раз не пытался скрипты питона или руби запустить все время они
> в ошибки вываливались, то им расширений не хватает, то версия не
> та, то в струкруре переменная какая удалилась/добавилась/переименовалась с пхп такого
> не было никогда."Никогда" - это сколько лет? А то я вот припоминаю, что не один раз уже что-то становилось deprecated, а потом отваливалось. HTTP_GET_VARS, например со всей своей компанией. register_globals.
> со всей своей компанией. register_globals.И тем не менее, с пыхопэшниками не надо по три версии интерпретера в системе содержать. А вот питонятины которая например не работает ни на чем кроме питона 2.4 (которого в современных системах фиг найдешь днем с огнем) - у меня есть. И такая же фигня и с более новыми минорными версиями была. Не говоря уж про третью, которая вообще ни с чем не совместима. Поэтому если попался какой-то скрипт на питоне, который вроде бы дельный, но уже не поддерживается автором - с вероятностью 90% он не заработает в современной системе вообще никак.
>> со всей своей компанией. register_globals.
> И тем не менее, с пыхопэшниками не надо по три версии интерпретера
> в системе содержать. А вот питонятины которая например не работает ни
> на чем кроме питона 2.4 (которого в современных системах фиг найдешь
> днем с огнем) - у меня есть. И такая же фигня
> и с более новыми минорными версиями была. Не говоря уж про
> третью, которая вообще ни с чем не совместима. Поэтому если попался
> какой-то скрипт на питоне, который вроде бы дельный, но уже не
> поддерживается автором - с вероятностью 90% он не заработает в современной
> системе вообще никак.ну-ну, то то форумы поддержки хостинг-провайдеров, пестрят проблемами совместимости PHP различных версий.
> ну-ну, то то форумы поддержки хостинг-провайдеров, пестрят проблемами совместимости PHP
> различных версий.а питона не пистрят, идиотов везде хватает.
>> со всей своей компанией. register_globals.
> И тем не менее, с пыхопэшниками не надо по три версии интерпретера
> в системе содержать. А вот питонятины которая например не работает ни
> на чем кроме питона 2.4 (которого в современных системах фиг найдешь
> днем с огнем) - у меня есть.Этого быть не может. Вообще, у любого нормального python-проекта есть рек... реку... рекв... короче, список зависимостей, который устанавливается одним движением. Есть virtualenv, вообще чудесная штука.
А веток у python (не версий, а веток) - две. Вторая и третья. Обе живые, и обе - разные. Вторая - python, простой язык, даже для школьников. А третья - присутствует какой-то уклон в ruby, желание угодить программистам с определёнными привычками и любителям ООП, чтобы их всех волки съели. "Правильный", но уже не такой простой. Поэтому многие проекты живут на python2 и в ус не дуют. :)
c 2005 года работаю с пхп, пару недель назад со старой работы звонили, 5 лет как уволился от туда, база с вэбмордой отвалилась, приехал посмотрел, не стал разбираться обновился с альт линукс сервер 4.0 до центос 6.3 и ни единого ворнинга не вылезло, и все чудно заработало.
> c 2005 года работаю с пхп, пару недель назад со старой работы
> звонили, 5 лет как уволился от туда, база с вэбмордой отвалилась,
> приехал посмотрел, не стал разбираться обновился с альт линукс сервер 4.0
> до центос 6.3 и ни единого ворнинга не вылезло, и все
> чудно заработало.В php есть 4 команды, на которых я писал 11 лет. И они совместимы с любой версией. Только это огромная груда лапши, и это нереально поддерживать.
php это "не думаю, но пишу, клац-клац". python это 90% времени думаешь, и только 10% - пишешь, и в результате получается только несколько строк кода, которые делают нужное, и которые потом легко разобрать, и связи между модулями очевидны - если разработчик, конечно, подумал. Если писать "сначала пишем, потом думаем, что написали", не планировать, не проектировать, не рисовать стрелочек - тогда да. А если делать по уму с php (ну, бывают такие странные люди), то можно почувствовать заметную разницу между php 5.2 и php 5.3.
> то можно почувствовать заметную разницу
> между php 5.2 и php 5.3.думать о том как написать в пару строк, ну-ну, я предпочитаю писать максимально просто - в ограниченном наборе стандартных фукций, с соблюдением типизации переменных и возвращаемых значений, чему еще на Си научился, а подключать библиотеку только ради 1-2 действий, это не кашерно, ИМХО.
> думать о том как написать в пару строк, ну-ну, я предпочитаю писать
> максимально просто - в ограниченном наборе стандартных фукций, с соблюдением типизации
> переменных и возвращаемых значений, чему еще на Си научился, а подключать
> библиотеку только ради 1-2 действий, это не кашерно, ИМХО.В мире ориентации на информационные технологии, в мире открытых исходников, в мире сложных проектов с прогнозируемыми сроками основным козырём является поддерживаемость и читаемость кода другими людьми.
А думать полезно всегда. Чтобы уметь оценивать целое, чтобы уметь разбивать на детали. И проектирование должно быть до написания кода, а не во время. Потому что жадный алгоритм даёт лучшие варианты в начале, но почти всегда - худшие в конце.
> А думать полезно всегда. Чтобы уметь оценивать целое, чтобы уметь разбивать на
> детали. И проектирование должно быть до написания кода, а не во
> время. Потому что жадный алгоритм даёт лучшие варианты в начале, но
> почти всегда - худшие в конце.Вспомнился дем - "о параллельной вселенной", мало кто пишет сейчас с нуля, скорее покупают полумертвый проект и пилят, и бизнесу пох..у как оно работает, они бабло вложили и хотят максимально быстрой отдачи - программерам говорят реализовать то-то и то-то в максимально короткий срок, получается каша в итоге. Олдскульные проекты, там да, чистота и порядок, а новомодные примочки, хрен знает, сегодня они ориентируются на одно завтра на другое, когда их оптимизировать-то.
Сейчас кстате ставил на серв софтинку замелил вот такое - \xd0\x92\xd1\x80\xd0\xb5\xd0\xbc\xd1\x8f \xd0\xbe\xd0\xb6\xd0\xb8\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f \xd1\x81\xd0\xbe\xd0\xb5\xd0\xb4\xd0\xb8\xd0\xbd\xd0\xb5\xd0\xbd\xd0\xb8\xd1\x8f \xd0\xb8\xd1\x81\xd1\x82\xd0\xb5\xd0\xba\xd0\xbb\xd0\xbe, охрененая поддержка utf в питоне.
> Сейчас кстате ставил на серв софтинку замелил вот такое - \xd0\x92\xd1\x80\xd0\xb5\xd0\xbc\xd1\x8f
> \xd0\xbe\xd0\xb6\xd0\xb8\xd0\xb4\xd0\xb0\xd0\xbd\xd0\xb8\xd1\x8f \xd1\x81\xd0\xbe\xd0\xb5\xd0\xb4\xd0\xb8\xd0\xbd\xd0\xb5\xd0\xbd\xd0\xb8\xd1\x8f
> \xd0\xb8\xd1\x81\xd1\x82\xd0\xb5\xd0\xba\xd0\xbb\xd0\xbe, охрененая поддержка utf
> в питоне.И? Это unicode. Вывод которого зависит от многих вещей, а не от "нам всё равно, куда выводить и всё равно, что там с другой стороны". От представления содержимое и работа с ним не меняется, а проблем устроить представление - нет.
Если вы не понимаете, как это работает - это не значит, что оно не работает.
> мало кто пишет сейчас с нуля, скорее покупают полумертвый проект и пилят, и бизнесу пох..у как оно работает, они бабло вложили и хотят максимально быстрой отдачи - программерам говорят реализовать то-то и то-то в максимально короткий срок, получается каша в итоге.это не бизнес. это проект поедания зёрен, предназначенных на посадку. в бизнесе любого размера при адекватном подходе обычно всё нормально. но когда программеры решают, что они ниибаца менеджеры, и думают, что понимают нюансы - тогда да, такая лажа получается. и главное, эти программеры недоумевают, ПОЧЕМУ?
> Если вы не понимаете, как это работает - это не значит, что
> оно не работает.Нет уж, если дистрибутиво строители так сделали я не собираюсь yum ковырять, это косяк отчасти их, а отчасти питона, то, что мне лень это исправлять не значит ничего.
> это не бизнес. это проект поедания зёрен, предназначенных на посадку. в бизнесе
> любого размера при адекватном подходе обычно всё нормально. но когда программеры
> решают, что они ниибаца менеджеры, и думают, что понимают нюансы -
> тогда да, такая лажа получается. и главное, эти программеры недоумевают, ПОЧЕМУ?Пфф, ну да, царь хороший, да бояре сволочи; менеджеры только о России и думаю, о народе, бизнес изначально нацелен на прибыль, а средства это детали. И менеджеры и правительства - управленцы любого уровня балансируют между двумя крайностями - довести администрируемый объект до абсурда, когда на каждую написанную строчку придется 50 справок согласования, одобрений и разрешей, и полным пох..м, когда все на самотек.. Самотек побеждает.
Вы наверное считаете существующая система идеальна или близка к этому, на бумаге-то оно может и так, только на практике все через жопу. Посмотрите новости центрального канала, биржа то, биржа се, биржа инструмет распределения ресурсов ее колбасит который год, ясен пень то там то тут будут кризисы. Потопы, ураганы, а то 15 век на дворе никто не может этого спрогнозировать и построить дома которые не смоет и не сдует. Куда бабло утекает, на науку для более точного прогнозирования, да фиг два, упал метеорит и что, недельку ля-ля-ля и забыли.
Нормальных специалистов в своих областях по пальцам пересчитать, и где заведения которые их готовят, где вложения бизнеса в свои будущие кадры, а потом эти манагеры носятся с выпученными глазами, ой Вася увольняется, гдеж нам взять ему замену, другие пытаются решать проблему на ином уровне, разрабатывать системы управлять которыми способна обезьяна, только чем более тупого юзера требует система, тем тупее они становятся.
>[оверквотинг удален]
> кризисы. Потопы, ураганы, а то 15 век на дворе никто не
> может этого спрогнозировать и построить дома которые не смоет и не
> сдует. Куда бабло утекает, на науку для более точного прогнозирования, да
> фиг два, упал метеорит и что, недельку ля-ля-ля и забыли.
> Нормальных специалистов в своих областях по пальцам пересчитать, и где заведения которые
> их готовят, где вложения бизнеса в свои будущие кадры, а потом
> эти манагеры носятся с выпученными глазами, ой Вася увольняется, гдеж нам
> взять ему замену, другие пытаются решать проблему на ином уровне, разрабатывать
> системы управлять которыми способна обезьяна, только чем более тупого юзера требует
> система, тем тупее они становятся.Довёл страну проклятый python!
А если отбросить абсурд, и взять факты, то у нас есть и успешные проекты, и красиво-грамотные проекты, написанные нормальным образом и нормально управляемые. И на python, и не на python. python просто удобнее, по двум причинам: его легче читать и ему легче научиться.
Чем пхп то сложен? Я в свое время прочитал вводную по обозначению переменных, констант и общему синтаксису, открыл на одном рабочем столе блокнот на другом справочник функций и погнал писать, через два часа все работало. До этого на перле что-то там делал, но после пхп перл показался УГ, сейчас пишу на нем все подряд от пятисточников - рассортировать список какой-нить, да вывести в формате конфига какой-нить софтины, до систем многопоточного опроса сотен единиц оборудования с записью результатов в бд и алертами в аську или по смс, и этот же пхп формирует вэбморду всей этой кухни, и я хоть и не проверял, но уверен, что заработает это и на 4-ой версии, если выпилят mysql_* в 6=ой перепешу 1 класс, красота же.
> Чем пхп то сложен? Я в свое время прочитал вводную по обозначению
> переменных, констант и общему синтаксису, открыл на одном рабочем столе блокнот
> на другом справочник функций и погнал писать, через два часа все
> работало.Во-первых, если php простой, то не значит, что python не может быть проще - особенно для разных интересных вещей.
Во-вторых, речь о поддерживаемости.
В-третьих, речь и о различных способах сделать очень удобно, где php требует 72 строки, а python - одну. php вообще многословен, там так и тянет делать лапшу. И приправлять её { скобочками; }
Опять же, отладка/проверка (а ну-ка, выплюнь мне консоль ipython на ровном месте для php?).
Но главное - это опять же, философия. Именно это и влияет на то, что на php тянет сразу реализовать какую-то возможность, чтобы было, а потом при случае придётся всё переписывать, а на python ты просто не будешь делать уродливо, если ты понял его суть. Там каждая строчка будет кричать "ты делаешь криво!". Хотя, конечно, php-шник так и будет, клац-клац, функции, лишь бы работало. А потом в этом разбираться - нереально, научить этому кого-то - куча проблем, использовать это в других проектах - только copy-paste с переписыванием большинства кусков под новые реалии. В python есть такие ограничения, которые сначала после php напрягают, а потом ходишь и радуешься "хорошо, что мама в детстве била за это по рукам".
Так что вещи несравнимые. php - это быстро накодить здесь и сейчас, а потом всю жизнь мучиться.
вооот, ))), лапшу можно и не делать, это с годами приходить:
можно написать
if(chto_to_tam($param1, $param_pam_pam) && chto_tam_2($param2, $param_pam_pam) && chto_to_nam_tyda($param3, $param_pam_pam) && chtoto_nam_suda())
zzz();а можно
do {
if(!chto_to_tam($param1, $param_pam_pam))
break;if(!chto_tam_2($param2, $param_pam_pam))
break;if(!chto_to_nam_tyda($param3, $param_pam_pam))
break;if(!chtoto_nam_suda())
break;zzz();
} while(0);многословен, может быть, но множество языковых конструкций не признак продвинутости и простоты, а скорее наоборот, потому, что чем их меньше тем проще.
Ну так просветите же
> Ну так просветите жеЦитируя Вас: "с годами приходить".
К примеру, для читаемости, без конкретной привязки к языку, куда удобнее "левых" циклов:if (
chto_to_tam($param1, $param_pam_pam) \
&& chto_tam_2($param2, $param_pam_pam) \
&& chto_to_nam_tyda($param3, $param_pam_pam) \
&& chtoto_nam_suda()
) { zzz(); }ну или так (Perl):
my $var = chto_to_tam($param1, $param_pam_pam);
$var = chto_tam_2($param2, $param_pam_pam) if $var == 1; // comment
$var = chto_to_nam_tyda($param3, $param_pam_pam) if $var == 1; // comment
$var = chtoto_nam_suda() if $var == 1; // also
zzz () if $var == 1;
>[оверквотинг удален]
> && chto_tam_2($param2, $param_pam_pam) \
> && chto_to_nam_tyda($param3, $param_pam_pam) \
> && chtoto_nam_suda()
> ) { zzz(); }
> ну или так (Perl):
> my $var = chto_to_tam($param1, $param_pam_pam);
> $var = chto_tam_2($param2, $param_pam_pam) if $var == 1; // comment
> $var = chto_to_nam_tyda($param3, $param_pam_pam) if $var == 1; // comment
> $var = chtoto_nam_suda() if $var == 1; // also
> zzz () if $var == 1;Крайне не согласен, если понадобится добавить строку вывода отладочной информации, о результатах работы одной из вызываемых функций, ваш код придется переделывать, и в первом случае весьма основательно, второй кстате в пхп тоже заработает, только в случае с блоком while оно нагляднее, вы можете со мной не согласится, но в обоих случаях я вижу кашу, а в каше легко не заметить пропущенную букву или что типа того, на вайтспейсах экономить себе дороже.
> можно написать
> а можноЧестно говоря, я даже не знаю, что из них хуже. Я даже не понял, что хотелось там сделать.
>> можно написать
>> а можно
> Честно говоря, я даже не знаю, что из них хуже. Я даже
> не понял, что хотелось там сделать.Ога, вот по-этому лесом зверьков, потому что это код с минимальными извенениями я перенесу, хоть в Си, хоть js, хоть в awk.
linux-3.8/media/dvb-frontends/tda18271c2dd.c
строки 299, 325, 501, 578, 679, 702, 738, 897, 915, 977, 1102, 1175и это только один файл изобилующий примерами такой конструкции, если это вам не показатель,
то вас только могила исправит, а мне лично глубоко по барабану на чем написано, лишь бы я открыл посмотрел и сразу понял, мне не нужны лaконичные, но мутные конструкцииwhile 1:
constraints = []for i in range(len(chains)):
l = chains[i]
for b in l:
for c in b.get_children():
if index[c] < i:
forward_p = 0
for inst in b.insts:
if inst[0] == 'JUMP_FORWARD':
if inst[1] == c:
forward_p = 1
if not forward_p:
continue
constraints.append((index[c], i))это просто шедевр
for i in range(len(chains)):
l = chains[i]эээээ...
чем не угодило for l in chains: ?
и, практически всегда, если отступов больше трёх - то уже делается что-то не так. это повод сесть и подумать, а не фигачить вот такую лесницу, не зная даже самых основ.
> for i in range(len(chains)):
> l = chains[i]
> эээээ...
> чем не угодило for l in chains: ?
> и, практически всегда, если отступов больше трёх - то уже делается что-то
> не так. это повод сесть и подумать, а не фигачить вот
> такую лесницу, не зная даже самых основ.это кусок из стандартной библиотеки питона, если сами разрабы себе такое позволяют, то что уж говорить о простых программерах, и это пример того, что писать криво можно хоть на чем, я не отрицаю недостатков пхп, но питон ему уж точно не замена.
> это кусок из стандартной библиотеки питона,Ссылку.
> что писать криво можно хоть на чем, я не отрицаю недостатков
> пхп, но питон ему уж точно не замена.python - очень элегантный язык. но для тех, кто мыслит категориями C, кто привык ими мыслить - тот всегда и будет так делать. Я уже не говорю, что большинство ваших конструкций - это неправильно в принципе, это просто поленились банально в тетрадке стрелочки прочертить, как приложение будет работать, и что там потенциально может быть ещё.
Нельзя на python писать в стиле c и php. На python даже нельзя думать в стиле php или c, потому что вот эти конструкции от недостатка средств - от большинства их вообще можно избавиться с помощью словарей и одного декоратора, вместо расписывания конструкций. Вместо бездны условий есть for in или if in. Это всё простые, базовые средства, которые легко учатся и осваиваются, и приложение уже проектируется с учётом таких упрощений. Чтобы это было легко поддерживать.
Потому что единый стиль (и речь не только о pep-8, а вообще, на форумах при обсуждении какого-нибудь кода новички могут написать "да, я понимаю, что это не по-питоновски", и обычно все согласны). Потому что на C или PHP обычно пишут, кто во что горазд, каждый по-своему, а в python для одинакового алгоритма большая вероятность, что несколько людей независимо придут к одному и тому же решению.
/usr/lib/python2.6/compiler/pyassem.py:162> ...
И опять же, о том и речь, зная си я пойму пхп, а питон учить, ради чего?, ради питона. И что я с этого буду иметь? много вы знаете сайтов на питоне? спорим на каждый ваш сайт я назову 10 на пхп, меня не волнует его элегантность, меня волнует, чтобы мой код работал максимально долго, пусть он будет тупым, зато понятным, зато мне не будут звонить и спрашивать,а что за хрень я написал, зато через 5-7 лет я не буду спрашивать себя, что за хрень я написал, а 4-5 языковых конструкции, да 10 стандартных функций я помню лучше таблицы умножения, в Вас говорит молодость, поработаете лет 10 поймете; я в юнности тоже был горячим, и даже свой язык/интерпретатор пилил, и он даже работал, вот только он был как две капли js, а потом забросил, и его, и собственную файловую систему, и много других начинаний, потому что хороший или плохой, все равно очередной велосипед. Но приобретенный опыт бесценен; не расчитываю вас в чем-то убедить, но всеже, попробуйте другой язык, любой другой; уверен найдете много интересного чего в питоне нет.
> И опять же, о том и речь, зная си я пойму пхп,
> а питон учить, ради чего?, ради питона. И что я с
> этого буду иметь? много вы знаете сайтов на питоне?много
> спорим на каждый ваш сайт я назову 10 на пхп,
И на 1 академика назовёте 10 пацанов с раёна, не сомневаюсь.
> меня не волнует его элегантность, меня волнует, чтобы мой код работал максимально
> долго,У меня при обновлении php 5.2 до 5.3 всё, что у меня крутилось, начиная с sugarcrm, отмерло как по заказу. :)
> пусть он будет тупым, зато понятным, зато мне не будут звонить и
> спрашивать,а что за хрень я написал, зато через 5-7 лет я
> не буду спрашивать себя, что за хрень я написал,Я предлагаю начать вам поразвивать его совместно с кем-нибудь.
> а 4-5 языковых конструкции, да 10 стандартных функций я помню лучше таблицы умножения,mov, jmp и nop - вот мои документы. Точнее, аргументы. :)
> в Вас говорит молодость, поработаете лет 10 поймете; я в юнностиЯ 10 лет писал на php. Сколько ещё нужно, чтобы понять?
> тоже был горячим, и даже свой язык/интерпретатор пилил, и он даже
> работал, вот только он был как две капли js, а потом
> забросил, и его, и собственную файловую систему, и много других начинаний,
> потому что хороший или плохой, все равно очередной велосипед.Опять повторюсь - речь идёт о поддерживаемости. Вот, что главное. Чтобы это можно было нормально развивать, и чтобы при улучшении не вылезали все костыли.
> Но приобретенный опыт бесценен; не расчитываю вас в чем-то убедить, но всеже, попробуйте
> другой язык, любой другой; уверен найдете много интересного чего в питоне нет.Я более-менее имею представление и о php, и о ruby (и при желании напишу hello world 2007 second edition на c) , и примерно знаю, что в них есть, что в python-е нет. Но я в любом случае лучше пойму, когда там 70 строчек, 10 декораторов и разбиение на модули, чем стандартная лапша на 500 строчек, потому что ИМЕННО ТАК НА PHP УДОБНЕЕ. У меня решение задач на python занимает намного меньше строчек (и времени и концентрации внимания), чем на php, и они действительно понятны - я людям в трамвае могу это показывать, и они поймут, что там делается.
Я так понимаю, вы и фреймворки с "нормальными" (в php нет нормальных) роутами не используете? При этом наглядность сильно страдает.
>> меня не волнует его элегантностьЗря.
>> меня волнует, чтобы мой код работал максимально долго
Это взаимосвязанные вещи.
> У меня при обновлении php 5.2 до 5.3 всё, что у меня
> крутилось, начиная с sugarcrm, отмерло как по заказу. :)Неприлично вообще-то упоминать питон, чьи проблемы именно в этой части ничем не лучше проблем php. Да, я понимаю, что лично у Вас всё работает, но [здесь можно перекроить портянку про кучи жалоб на обновление php по интернетам].
> Неприлично вообще-то упоминать питон, чьи проблемы именно в этой части ничем не
> лучше проблем php.В Европе и лучших домах Филадельфии проект живёт в своём virtualenv. А ещё лучше - на pypi. :) И соблюдает свои реквайрментс.
Как сделать подобное в php, я даже не представляю.
> Как сделать подобное в php, я даже не представляю.VPS
>> Как сделать подобное в php, я даже не представляю.
> VPSА если это уже крутится внутри vps?
>>> Как сделать подобное в php, я даже не представляю.
>> VPS
> А если это уже крутится внутри vps?Ещё один VPS рядом, поскольку чруты менее управляемы. :)
(сейчас придут хостеры и расскажут, как php4 и php5 почти мирно жили почти бок о бок, но я в такое не играю) PS: ...как и в virtualenv.
> Ещё один VPS рядом, поскольку чруты менее управляемы. :)
> (сейчас придут хостеры и расскажут, как php4 и php5 почти мирно жили
> почти бок о бок, но я в такое не играю) PS:
> ...как и в virtualenv.virtualenv не для изоляции, разные репозитории и редмайны я всё равно ставлю в chroot/контейнеры, дабы навсякий если сломают.
virtualenv - я могу в opt собрать версий python, собранных по разному, и использовать их. И если одному проекту требуется строго хрень версии 1, а другому - версии 2, они свободно могут жить.
и разворачивать в venv намного быстрее, чем делать новые виртуалки, а потом ещё в них делать нужную схему.
virtualenv rc
. rc/bin/activate
pip install hg+http http://bitbucket.org/гдетотам/rhodecode
> virtualenv не для изоляцииКак раз для изоляции, только между API. :)
>> virtualenv не для изоляции
> Как раз для изоляции, только между API. :)Переопределить переменные "где живут модули" и "откуда стартовать python" можно и без virtualenv. Это не изоляция, а стандартное удобство. Переопределение PATH и LD_LIBRARY_PATH - это тоже не изоляция.
> /usr/lib/python2.6/compiler/pyassem.py:162Есть такое. Возможно, это совместимость с каким-нибудь python 2.2, или ещё чем-то, или это просто хак для производительности. Я просто не вижу смысла так делать, да и все рекомендации python против этого.
В любом случае, в пользовательских проектах, ориентированных на поддерживаемость, так писать нельзя. :)
фреймворки мне без надобности, в большенстве случаев моя задача найти косяк в чужом коде, если что и пишу, то скорее для себя, маленькое и аккуратненькое, ну редко что-то более 60к, и то 60 уже до..я.> У меня при обновлении php 5.2 до 5.3 всё, что у меня крутилось, начиная с sugarcrm, отмерло как по заказу. :)
даже не знаю что это, но по опыту предпочитаю не связываться с крупными проектами, написанными на чем-то отличном от си или с++, для меня переход(ы) с 4 версии без проишествий, самое крупное, что пользую класс на пхп для работы с xmpp, он сам по себе года 2006, отлично работает, ну ясен красен допилил я его, смс слать научил, но это косметика чистой воды.
> чем на php, и они действительно понятны - я людям в трамвае могу это показывать, и они поймут, что там делается.
а без вас поймут? вы всем желающим будите объяснять? или пока они будут это сами постигать, перепишите и им придется опять погружаться в мир сверхвысоких языков и оссобеностей очередной версии питона.
> И на 1 академика назовёте 10 пацанов с раёна, не сомневаюсь.
А чтож ваши академики родить то ничего не могут, чтобы пацаны с района поняли и оценили, а если так какие они нафиг академики, поди в переходе купили документы.
> Я 10 лет писал на php. Сколько ещё нужно, чтобы понять?
значит не судьба, только речь не шла о языке в чистом виде, а о пректе, возможности интегрировать расширение, в питон можно вкомпилировать нужный код на си , чтобы легко и не принужденно использовать его в скриптах, я не в курсе.
> Опять повторюсь - речь идёт о поддерживаемости. Вот, что главное. Чтобы это можно было нормально развивать, и чтобы при улучшении не вылезали все костыли.
поддерживаемости бывает две, первая когда фиксят косяки, а вторая когда добавляют функционал, нормальный проект на пхп или питоне... бред, удел скриптов сайты, а тут все иначе, поставил и забыл, нормальному движку программист не нужен, а уж сколько этот сайт просуществует и решится ли его держатель через 5 лет на координальное обновление, еще вопрос, а если решиться то перенос бд задача не тривиальная, множество движков появлялось и исчезало, множество меняли структуру бд так, что проще было по новой вбить, язык тут впринципе не причем, еженедельные обновления с исправлениями косяков, это отдельный разговор, и признак криворукости разрабов.
> mov, jmp и nop - вот мои документы. Точнее, аргументы. :)
совершенно верно, востребованность заданной последовательности предопределенных команд обратно пропорциональ ее размеру, можно написать трилион встроенных функций и языковых конструкций, задача программера сведется к многочасовому изучению доков и написании 1 строки (никогда китайский изучить не хотелось) баланс удел лично каждого, я не хочу зацикливаться на пхп, но из ваших слов следует, что питон куда менее гибок, и вероятнее именно поэтому кол-во его приверженцев мало по сравнению с пхп, а как следствие меньше готовых решений, меньше поддержки со стороны других проектов, а это еще меньше приверженцев и калапс, ну в вашем случае томление в собственном соку, хотя вероятнее вы предпочитаете думать, что вы на несколько шагов впереди, и быдло кодеры пхп просто не постигают всей мудрости вашего питона., я вас огорчу, нам все равно, пусть кода будет больше, зато он будет проще, и может быть, когда-нибудь, из пхп выкинуть всякую хрень, уменьшив размер бинарника и его можно будет использовать как встраеваемое решение, жаль что эту нишу заняла ява, но оракл те еще уроды,.. они не раз еще накосячат.
> совершенно верно, востребованность заданной последовательности предопределенных команд
> обратно пропорциональ ее размеру, можно написать трилион встроенных функций и языковых
> конструкций, задача программера сведется к многочасовому изучению доков и написании 1
> строки (никогда китайский изучить не хотелось) баланс удел лично каждого, я
> не хочу зацикливаться на пхп, но из ваших слов следует, что
> питон куда менее гибок, и вероятнее именно поэтому кол-во его приверженцев
> мало по сравнению с пхп, а как следствие меньше готовых решений,
> меньше поддержки со стороны других проектов, а это еще меньше приверженцевДостаточно посмотреть размеры pypi, сколько там пакетов и расширений. Достаточно посмотреть ipython, чтобы понять, насколько это красиво и удобно. :)
На python - пишут. От десктопов до серверов. На php есть scipy? Вменяемые аналоги tornado, twisted? На python написан launchpad и ещё куча сервисов, включая полубунты, и часто у клиентов и серверов используется общий код.
А для веба одна только возможность запустить и использовать, а не умирать и оживать при каждом чихе - уже не даёт возврата на php.
Кстати, на диске с slackware 4.0 есть python 1.5, но нет php. Думаю, этот аргумент задавит вас своим весом и неопровержимостью.
> Кстати, на диске с slackware 4.0 есть python 1.5, но нет php.
> Думаю, этот аргумент задавит вас своим весом и неопровержимостью.вспомнила бабка как девкою была)), а как начет того, что за это время питон как был зависимостью каких-то там пакетов, так и остался, если бы он был не нужен для кде или чего там, был бы он там? почему именно LAMP(HP), а не LAMP(ython), скажите мне кстате, питон умеет Fast CGI просто ради общего развития.
> вспомнила бабка как девкою была)), а как начет того, что за это
> время питон как был зависимостью каких-то там пакетов, так и остался,
> если бы он был не нужен для кде или чего там,
> был бы он там? почему именно LAMP(HP), а не LAMP(ython), скажите
> мне кстате, питон умеет Fast CGI просто ради общего развития.Зачем python-у fastcgi? Для общего развития. Чем плох wsgi, который может наслаивать прослойки друг на друга?
Популярность - потому что можно было поставить php.exe для апаче, потом закинуть через проводник.exe мышкой файлы по ftp, и оно уже что-то отображало. И, когда делается миллиард домашних страничек, один из них может стать фейсбуком, причём совершенно любой из, зависит от миллиона деталей и случайностей.
Но когда в нашем веке для python есть gae, где вообще об администрировании сервера думать не надо, когда есть более удобные способы деплоя, чем ftp - вот тут-то php и становится менее привлекателен. На php пишут больше по привычке, живя вчерашними реалиями.
> Зачем python-у fastcgi? Для общего развития. Чем плох wsgi, который может наслаивать
> прослойки друг на друга?
> Популярность - потому что можно было поставить php.exe для апаче, потом закинуть
> через проводник.exe мышкой файлы по ftp, и оно уже что-то отображало.
> И, когда делается миллиард домашних страничек, один из них может стать
> фейсбуком, причём совершенно любой из, зависит от миллиона деталей и случайностей.
> Но когда в нашем веке для python есть gae, где вообще об
> администрировании сервера думать не надо, когда есть более удобные способы деплоя,
> чем ftp - вот тут-то php и становится менее привлекателен. На
> php пишут больше по привычке, живя вчерашними реалиями.А что же питон.ехе так плох? речь то шла о Lamp, где Л это линукс, почему же инициализационые скрипты не переписали на питоне? почему поттеринг пилит systemd на с\с++, тем более питон есть в штатной версии слаки аж 4 версии, я хотел и хочу переписать стартовые скрипты на пхп, только лень мне, да и шеловские мои не так плохи - просты и шустры, все не обязательное в бэкграунде грузицо пока пароль вводишь, ведь давно уже возня вокруг скриптов этих. убунта - просто антипоказатель, линукс в исполнении убунты, это Цой в исполнении ранеток, зоопарк и дурдом в одном флаконе.
Мне решительно непонятно о чем думаю разрабы пхп, минимум изминений и могли бы подвинуть яву, могли бы сделать из пхп системный язык на замену шеллу, как шаблонизатор он уже толст, пора бы на другие ниши переползать, всего несколько расширений для управления процессами и .., но нет ползем в сторону питона.
node.js я несколько лет ждал подобного проекта, было их несколько, но как водится выжил самый чмошный, точнее он и появился после всех, мозила как и.., сама в себе, тянет с собой кучу своих зависимостей отстраивая свой собственый мир, сомнительно конечно, может кто-то им противопоставит альтернативную js реализацию, и это бы сделало и питон и пхп бессмыленными, потому как вылизали код многочисленных движков уже весьма основательно, и под множество архитектур, а написать обвязку библиотек, да че уж там если эмуляторы пишут.
А lua, гугл запилил поддержку его в загрузчике syslinux, язычек больше на питона похож, но мультибут на нем можно реализовать прямо любой, с поштучной проверкой процессорных инструкций и параллельным слайд шоу джпегов, блэк джеком, и шлю^U впрочем карточной игрой пожалуй и все.
Ну да, судя по вашим словам, вы перечислили очень крутые разработки, только вот жил я без них и кушал хлеб, и с маслом, и с икрой.
Ладно, спать пора, спс за компанию.
ничё не понял.в debian из 37000 пакетов, примерно 1700 - это секция python.
pythonкручевсех. ой, у perl - почти 3000. :)
> в debian из 37000 пакетов, примерно 1700 - это секция python.
> pythonкручевсех. ой, у perl - почти 3000. :)Не, ну с танками-то рептилиям тягаться априори сложно:
---
The Comprehensive Perl Archive Network (CPAN) currently has 119,645 Perl modules in 27,158 distributions, written by 10,511 authors, mirrored on 268 servers.
--- http://www.cpan.org
> почему именно LAMP(HP), а не LAMP(ython)Вообще-то P в LAMP -- это Perl/Python/PHP.
>> почему именно LAMP(HP), а не LAMP(ython)
> Вообще-то P в LAMP -- это Perl/Python/PHP.вообще-то нет
http://ru.wikipedia.org/wiki/LAMP> Иногда букву P в аббревиатуре расшифровывают как Perl и Python, другие возможные языки веб-разработки.
>>> почему именно LAMP(HP), а не LAMP(ython)
>> Вообще-то P в LAMP -- это Perl/Python/PHP.
> вообще-то нет
> http://ru.wikipedia.org/wiki/LAMP
> Иногда букву P в аббревиатуре расшифровывают как Perl и Python, другие возможные языки веб-разработки.и иногда это не или
>> Вообще-то P в LAMP -- это Perl/Python/PHP.
> вообще-то нетВообще-то да. И хватит уже представлять педивикию сколь-нибудь авторитетным источником, она таковым не является даже по своим представлениям.
>> вообще-то нет
> Вообще-то да. И хватит уже представлять педивикию сколь-нибудь авторитетным источником,
> она таковым не является даже по своим представлениям.Википедия - это концентрат фидошного .DIGEST. Единое централизованное мнение. И это классно. Была бы не на медиавики, цены бы ей не было, я бы себе копий нарезал.
А, речь про педивикию. А, ну в педивикии всё наоборот... наверное.
> А, речь про педивикию. А, ну в педивикии всё наоборот... наверное.ВП:ИСК256
>> А, речь про педивикию. А, ну в педивикии всё наоборот... наверное.
> ВП:ИСК256Ну Писк. Ну 256. И?
>> А, речь про педивикию. А, ну в педивикии всё наоборот... наверное.
> ВП:ИСК256И ещё, Михаил, я ещё раз вам говорю - делайте в рамках Альта своё русскоязычное как-бы-фидо, ставьте его ярлычок на каждый рабочий стол, давайте всю информацию по поддержке в него, собирайте, централизуйте - будет коллекция уникального контента, которая будет "привязывать" пользователей к такому ресурсу - это будет на благо всему альту и его популярности, это позволит собирать весь русскоязычный linux-сегмент, и при грамотной реализации это будет на благо всему сообществу. :)
Если бы у меня был бы дистрибутив с таким количеством русскоязычных пользователей, я бы ни минуты не задумывался, чтобы это сделать. И там бы все играли по нужным правилам. :)
> И ещё, Михаил, я ещё раз вам говорю - делайте в рамках
> Альта своё русскоязычное как-бы-фидоКак "у нас в линуксе" принято говорить -- "тебе надо, ты и делай". А я в фидошники аккурат не попал, разве что дискетками экспорт RU.LINUX почитал от приятеля.
> И там бы все играли по нужным правилам. :)
Это к де Иказе.
>> И ещё, Михаил, я ещё раз вам говорю - делайте в рамках
>> Альта своё русскоязычное как-бы-фидо
> Как "у нас в линуксе" принято говорить -- "тебе надо, ты и делай".Заниматься маркетингом альта и повышать его привлекательность в глазах простых людей? Точно мне надо? :)
> А я в фидошники аккурат не попал, разве что дискетками экспорт RU.LINUX почитал от приятеля.Не нравится фидо - другой пример википедия. Один из самых популярных сайтов. А почему? Потому что, когда людям нужно узнать что-то про АБВ, то они, несмотря на все писки, идут на википедию. Потому что интернета много, а википедия одна. Потому что все остальные тоже идут на википедию. А в интернете это может быть или жёлтая пресса, или сомнительная истерика, или ещё что-то.
А Википедия - это централизация, это то, что стягивает людей. Иначе Вася бы прочитал на одном источнике, написал на другом, на третьем разбил бы все покровы - но другие люди читали бы с чётвёртого, где под видом умной вещи скрывалась явная провокация. И в этом оно сходно с fido - когда человеку нужно узнать что-то по теме X, он идёт в эху X, а не перебирает 1000 аналогичных сайтов. И встречает там знакомых людей, что тоже приятно. Но в фидо можно было не только прочесть и исправить, но и СПРОСИТЬ. А сейчас и спросить-то негде.
А ещё у википедии могли бы быть нормальные архивы... Фидошные архивы - это клазедь мудрости, и поиск по ним, в офлайне, обременял людей ЗНАНИЯМИ. :)
>> И там бы все играли по нужным правилам. :)
> Это к де Иказе.Так это ему писки википедии не нравятся? :)
> Заниматься маркетингом...фидо. :)
> А почему? Потому что, когда людям нужно узнать что-то про АБВ,
> то они, несмотря на все писки, идут на википедию. Потому что
> интернета много, а википедия одна. Потому что все остальные тоже идут
> на википедию. А в интернете это может быть или жёлтая пресса,
> или сомнительная истерика, или ещё что-то.Встречно забанив википедию, заново открыл для себя интернет.
>> Заниматься маркетингом
> ...фидо. :)Причём здесь фидо? Фидо умерло, забудьте об этом. Но некоторых его идей очень не хватает. Они были бы реально удобны и востребованы и простыми домохозяйками, и linux-пользователями. Только нужна стартовая пользовательская масса, которые начнут в граните высекать то, что навечно сохранится в архивах и может быть доступно в офлайн.
>> А почему? Потому что, когда людям нужно узнать что-то про АБВ,
>> то они, несмотря на все писки, идут на википедию. Потому что
>> интернета много, а википедия одна. Потому что все остальные тоже идут
>> на википедию. А в интернете это может быть или жёлтая пресса,
>> или сомнительная истерика, или ещё что-то.
> Встречно забанив википедию, заново открыл для себя интернет.Это всё равно, что сравнивать интернет и репозиторий. В репозитории строго в одном месте и с картинкой. А в интернете - непонятно, варез это, троян, подделка или вымогатель денег. И чтобы визуально это различать - нужен большой опыт. А ещё дублирование, когда часть информации там, часть здесь, а если кто-то сказал что-то умное и актуальное, его услышат только три посетителя форума. :)
Опять же, это основная ценность для самого провайдера. От поддержки, когда можно типовые вопросы пронумеровать и автопосылать ссылкой к нужному msgid, из самых полезных сообщений собирать дайджесты (как технические, так и юмористические, опять же, такие выборки - это ценная и удобная для использования информация), и вообще, упростить себе жизнь.
Если говорить упрощённо:
Простая домохозяйка будет счастлива, когда, поставив альт, сможет сразу пойти читать/писать про кулинарные рецепты (и, что самое ценное, там уже пишут, пишут реальные люди, хочешь - читай, хочешь - пиши) не связываясь с тонкостями интернет-реализаций, регистраций, тонны js и рекламы, нестабильной коннецкии и других ужасов для любой уважающей себя утончённой домохозяйки).Будет ассоциативная цепочка - поставил альт, и сразу контент. Не сразу интернет, где миллионы сайтов и у каждого миллионы тонкостей, а поставил альт и сразу контент, сразу общение многих живых и хороших людей, информация по разным темам, и так далее.
но главное даже не это. Главное - это то, с чем я сталкиваюсь ежедневно. Если я когда-то где-то что-то видел в интернете, а потом понадобилось это вернуть - это практически нереально. Прошлый раз, когда я хотел один анекдот пересказать, я полдня мучал поисковики, которые мне выдавали всё, что угодно, только в духе mainstream, а нужное нашлось совсем не то. Сейчас я тоже хотел рассказать один анекдот по теме дискуссии, который читал несколько раз, даже помню, на каком сайте. Вбивал все слова, все похожие слова в поиск - найти нереально. Так и не нашёл. :(А такие ситуации в golded-е у меня разрешались ЭЛЕМЕНТАРНО.
На кой хрен нужен такой контент, если его потребил и забыл, а пользоваться нельзя.
>> не понял, что хотелось там сделать.
> Ога, вот по-этому лесом зверьков, потому что это код с минимальными извенениями
> я перенесу, хоть в Си, хоть js, хоть в awk.как писал классик:
Если крикнет рать святая
Брось ты пых, пиши на C
Я скажу - не надо, Рая
Я и так на нём пишу
Больше всего мне понравилось, что потребуются минимальные извинения.
> Сколько раз не пытался скрипты питона или руби запустить все время они
> в ошибки вываливались, то им расширений не хватает, то версия не
> та, то в струкруре переменная какая удалилась/добавилась/переименовалась с пхп такого
> не было никогда.За руби не скажу, но у питона есть замечательная и подробная документация, и по трейсбэку можно легко найти источник ошибки.
с разных позиций ущербность можно найти в любом языке. пхп справляется отлично со всеми задачами.
> с разных позиций ущербность можно найти в любом языке. пхп справляется отлично
> со всеми задачами.Его проблема только в том, что он не препятствует написанию лютого говнокода из смеси SQL с неэкранированными значениями из _GET, _POST, _COOKIE и _SESSION, javascript'ами, CSS и HTML-тегами, генерируемыми вперемешку то при помощи echo, то при помощи ?><?, инклудами внешних файлов в неожиданных местах.
Если использовать шаблонизатор, не генерируя ни одного HTML-тега (а также CSS-стиля или фрагмента Javascript) из программы, использовать PDO, который не так давно появился, использовать маршруты URL и грамотно делить код на модули, то терпимо, но всё равно далеко от идеала. Но большинство PHP-шников так не пишут.
> Его проблема только в том, что он не препятствует написанию лютого гoвнoкодаДа, на питоне получается красиво оформленный гогнокод. Который лучше работать от этого не стал.
Пример: иду на вики freedesktop. Пытаюсь зарегаться. Питонятина грохается, 503 internal server error. Замечательно.
>>Пример: иду на вики freedesktop. Пытаюсь зарегаться. Питонятина грохается, 503 internal server error. Замечательно.я так полагаю Вы телепатически нашли причину проблемы в питоне!?))
Плюс питона, в том что читаемость кода, для поддержки не сомненный плюс, к этому прививают не только сам интерпретатор но и все возможные стандарты (PEP8 - http://www.python.org/dev/peps/pep-0008/)К сожалению в сорцах различных проектов на PHP, зачастую можно увидеть не понятное месиво.
> Если использовать шаблонизатор, не генерируя ни одного HTML-тега (а также CSS-стиля или
> фрагмента Javascript) из программы, использовать PDO, который не так давно появился,
> использовать маршруты URL и грамотно делить код на модули, то терпимо,
> но всё равно далеко от идеала. Но большинство PHP-шников так не
> пишут.В php нельзя нормально и удобно использовать маршруты, там только иллюзия этого, всё держится на серверо-специфичных фишках.
В php даже консоль "не так давно" появилась. И то, после ipython с его фишками или dreampie это не консоль, а command.com из dos 4.01.
В php ужасный синтаксис. Одно это убивает на корню всё желание. Такой же ужас навевает javascript без cofeescript, где банально нельзя без строгого учёта и выдачи скобочек по талонам сообразить, сколько должно быть } и сколько };
И идеология в php ужасная. В php так и тянет что-то сделать, неважно, насколько это страшно. В python, если это не делается парой элегантных строчек, только php-шник может сделать это уродливо, если есть python-мышление, то это не делается никак и перосмысляется на предмет того, как это сделать элегантно. python - очень элегантный язык, и он просто не располагает к быдло-общению. Как не будешь бандита-наркомана приветствовать фразами "сэр, не подскажете ли".
Хорошо бы еще написали в новости что теперь "Zend Optimizer+" не существует, его переименовали в Zend Opcache (zend_extension=opcache.so)
зендовцы начали джокеры выбрасывать, питон на пятки настуает, гы-гы
А что касается сабжа, то в настоящее время для подавляющего большинства проектов производительность стоит намного дешевле, чем поддерживаемость. Железо дёшево, а программисты, даже ленивые - намного дороже. И возможность разбираться в чужом коде, а значит - его организованность, логичность, понятность и приятность для чтения - вот те фишки, которые позволяют коду ЖИТЬ. Поэтому pypi растёт и ширится, а в php предпочитают писать всё с нуля - ещё раз. И поэтому новое поколение будет выбирать python или coffeescript. :)
когда они эту фигню к LLVM прикрутят? вроде соответствующий сторонний проект дохлый?
И, я не скажу за всю Одессу, я скажу за всю сеть - не трогая системные и глобальные вещи, но для веба Python, на мой взгляд - это лучший язык. И с позиции "писать", и с позиции "развивать написанное", и с позиции "не пораниться об скобочки".Наверное, не зря, CoffeeScript взял за основу python-синтаксис (хотя от Ruby там, по-моему, больше).
задолбали питонщики со своим комплексом неполноценности
> задолбали питонщики со своим комплексом неполноценностине переживай, вырастут
> задолбали питонщики со своим комплексом неполноценностиПочему весь интернет знает, что "пыхер" и "быдлокодер" - это не просто синонимы, это симлинк, а пыхеры делают вид, будто этого просто нет?