Модераторы: LSD

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP Vs. Python, (Zope) 
:(
    Опции темы
albertn
Дата 26.10.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 1
Всего: 34



Цитата(smartov @  26.10.2006,  10:49 Найти цитируемый пост)
Кроме типизации что-то есть?
Еще если на сервере нехватает какой-либо библиотеки, то её уже никак не воткнешь в PHP, а на питоне эту библиотеку можно просто скопировать в папку на сервере.
В питоне все исходники проходят предварительную компиляцию (точно незнаю как это называется), что существенно сказывается на скорости выполнения.
Слабая модульность. К примеру если я в PHP инклудю какой-нить файл, а он затрет какую-нить переменную или функцию мне это не понравится.
Гораздо проще разбираться в чужих исходниках и фреймворках из-за строго синтаксиса.
В Python очень порадовали безлимитные инты (именно int), с которым можно без проблем производить все бинарные операции без искожений.
Наличие функционального программирования у Python существенно упрощает обработку списков и последовательностей.
Ну все то сразу не перечислишь, так может по ходу дела и вылезет.

Цитата(smartov @  26.10.2006,  10:49 Найти цитируемый пост)
Естьи ли там gd или аналог. Как дела с unicode?

Если интересно то вот ссылочка: Python GD module
А про юникод это собсно его основная локаль. Pyhon изначально разрабатывался как кросплатформенный язык с различными локалями. И все возможности по смене локали и кодировки изначально встроенны в язык.

Цитата(smartov @  26.10.2006,  10:49 Найти цитируемый пост)
p.s. Синтаксис у него не C-подобный как я понял? То есть никакой короткой записи и прочих приятный мелочей? 
А короткая запись подразуменвается запись того-же самого в одну строчку? А в чем кайф? Это специально для ухучшения читабельности? Или на пропущеных переносах строк можно реально уменьшить размер исходника? А вот что серьезно может в продуктивную сторону уменьшить размер программы и увеличить скорость, так это функциональное программирование (одна из основных вещей чем мне понравился питон).

Цитата(skyboy @  26.10.2006,  11:13 Найти цитируемый пост)
Не понял, что значит "а в ней уже". ты что, имеешь в виду, что уже при передаче в подпрограмму сразу "124к5" преобразуется в "124" безо всяких вычислений и прочих причин для смены типа? 
Объясняю еще раз.
Программа получает в параметре через форму на сайте строковую переменную, в которой точно (практически) должно содержаться число. Программа предварительно его передает в подпрограмму, которая использует эту строку в арифметических выражениях и что-то делает с результатом. Далее основная прогамма продолжает работать с исходной непреобразованной строкой и записывает ее в базу. В PHP все пройдет успешно, но ведь это неправильно, т.к. фактически со строкой могут передать и что-то другое, даже возможно попытаются сломать базу, а подпрограмма будет работать уже с другим значением, а именно с тем, к какому числу преобразовалась строка.

Цитата(skyboy @  26.10.2006,  11:13 Найти цитируемый пост)
представь, что интерфейс функции поиска подстроки в строке поменяет аргументы местами. в скольки местах программы придется менять вызов? или создать адаптер с нужным порядком и делать замену по всем файлам?
Если программа изначально была записана правильно, то ничего менять нигде не надо будет
Код

def func(a1=None,a2=None):
    ....
func(a1='123',a2='123456') # работает точно также
func(a2='123456',a1='123') # как и эта строчка


Цитата(pythonwin @  26.10.2006,  11:19 Найти цитируемый пост)
4) есть Zope, у которого есть своя БД, если именно про это интерестно, то можешь обратиться к albertn, - он спец по Зоп.
ZODB лучше не трогать, т.к. такого любителям PHP даже не снилось smile . Но это иерархическая ДБ, с историей изменений, и не подходит для классических задач для ДБ.

Цитата(pythonwin @  26.10.2006,  11:19 Найти цитируемый пост)
много приемов функционального программирования (говорят, что взяли из лиспа) + в Python2.5 появилось много новых приемов (можно очень большой код, без потери эффективности записать в меньшее кол-во строк)
Особенно функциональное замыкание. Правда я врятли смогу освоиться с тем, что в каком-либо языке кроме LISP можно делать функциональное замыкание  smile 
PM WWW ICQ   Вверх
pythonwin
Дата 26.10.2006, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(albertn @  26.10.2006,  21:54 Найти цитируемый пост)
ZODB лучше не трогать, т.к. такого любителям PHP даже не снилось smile . Но это иерархическая ДБ, с историей изменений, и не подходит для классических задач для ДБ.

но для СЭДО сомо то! smile

Добавлено @ 15:38 
Цитата(smartov @  26.10.2006,  17:49 Найти цитируемый пост)
Естьи ли там gd или аналог

как я понял это ты про графику?
так вот в питоне есть и 2D, и 3D, и пакетов уйма - выберай - не хочу smile
PM WWW GTalk Jabber   Вверх
smartov
Дата 26.10.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 10
Всего: 259



Ну что ж, тогда имхо отличный язык. 

Пойду дальше программить проект на жутко неудобном PHP, но теперь вместо удовольствия буду мучаться от фич, которых в нем нет... о горе мне ;)

PM MAIL   Вверх
S.A.P.
Дата 26.10.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 1
Всего: 71



Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
Еще если на сервере нехватает какой-либо библиотеки, то её уже никак не воткнешь в PHP
 чёрт возьми, откуда такая уверенность?! PEAR спокойно находится через include_path, а PECL - нативные модули, они по определению не копируются в 
Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
в папку на сервере.


Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
В питоне все исходники проходят предварительную компиляцию (точно незнаю как это называется), что существенно сказывается на скорости выполнения.
 чем PHP также не обделён.

Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
Слабая модульность. К примеру если я в PHP инклудю какой-нить файл, а он затрет какую-нить переменную или функцию мне это не понравится.
 если ты попытаешься редифайнить функцию, то получишь сообщение об ошибке.  Хочешь модульности - используй статические классы.
Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
мне это не понравится.
потому - что ты питонист  smile .

Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
Программа получает в параметре через форму на сайте строковую переменную, в которой точно (практически) должно содержаться число. Программа предварительно его передает в подпрограмму, которая использует эту строку в арифметических выражениях и что-то делает с результатом. Далее основная прогамма продолжает работать с исходной непреобразованной строкой и записывает ее в базу. В PHP все пройдет успешно, но ведь это неправильно, т.к. фактически со строкой могут передать и что-то другое, даже возможно попытаются сломать базу, а подпрограмма будет работать уже с другим значением, а именно с тем, к какому числу преобразовалась строка.
exception - не выход из положения, а проверка на тип - мало чем различается.

Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
Особенно функциональное замыкание
 в PHP оно явно лишнее.

Добавлено @ 16:12 
Цитата(smartov @  26.10.2006,  15:45 Найти цитируемый пост)
Пойду дальше программить проект на жутко неудобном PHP, но теперь вместо удовольствия буду мучаться от фич, которых в нем нет... о горе мне ;) 
 smile 
PM MAIL   Вверх
albertn
Дата 26.10.2006, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 1
Всего: 34



Цитата(S.A.P. @  26.10.2006,  16:11 Найти цитируемый пост)
PECL - нативные модули, они по определению не копируются
В этом то и фишка

Цитата(S.A.P. @  26.10.2006,  16:11 Найти цитируемый пост)
Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
В питоне все исходники проходят предварительную компиляцию (точно незнаю как это называется), что существенно сказывается на скорости выполнения.
 чем PHP также не обделён.
Я конечно извеняюсь, но я никогда не слышал, что PHP сам компилил исходники при открытии их после каких-либо изменений. Если не секрет, то расскажи как это включить.

Цитата(S.A.P. @  26.10.2006,  16:11 Найти цитируемый пост)
 если ты попытаешься редифайнить функцию, то получишь сообщение об ошибке.  Хочешь модульности - используй статические классы.
Это далеко не всегда удобно.

Цитата(S.A.P. @  26.10.2006,  16:11 Найти цитируемый пост)
потому - что ты питонист  smile .
Я питонистом стал позже чем пхпшником smile

Цитата(S.A.P. @  26.10.2006,  16:11 Найти цитируемый пост)
exception - не выход из положения, а проверка на тип - мало чем различается.
Лучше пусть загрузка пойдет к чертовой бабушке, чем будут противоречивые данные или пройдет попытка взлома

Цитата(S.A.P. @  26.10.2006,  16:11 Найти цитируемый пост)
 в PHP оно явно лишнее.
Да его туда и тяжело будет вставить, т.к. отсутствуют элементарные списки
PM WWW ICQ   Вверх
pythonwin
Дата 26.10.2006, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(albertn @  26.10.2006,  21:54 Найти цитируемый пост)

В питоне все исходники проходят предварительную компиляцию (точно незнаю как это называется), что существенно сказывается на скорости выполнения.


Цитата(albertn @  26.10.2006,  23:22 Найти цитируемый пост)
Я конечно извеняюсь, но я никогда не слышал, что PHP сам компилил исходники при открытии их после каких-либо изменений. Если не секрет, то расскажи как это включить.


в питоне это называется байто-код! smile

Добавлено @ 16:29 
Цитата(S.A.P. @  26.10.2006,  23:11 Найти цитируемый пост)

Цитата(albertn @  26.10.2006,  14:54 Найти цитируемый пост)
мне это не понравится.
потому - что ты питонист  smile .

не питонист, а пионист smile
PM WWW GTalk Jabber   Вверх
S.A.P.
Дата 26.10.2006, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 1
Всего: 71



Цитата(albertn @  26.10.2006,  16:22 Найти цитируемый пост)
В этом то и фишка

прошу прощения, а как тогда нативные модули ставятся для питона?

Цитата(albertn @  26.10.2006,  16:22 Найти цитируемый пост)
Я конечно извеняюсь, но я никогда не слышал, что PHP сам компилил исходники при открытии их после каких-либо изменений. Если не секрет, то расскажи как это включить.

возможно мы говорим о разных вещах, но я имел ввиду предварительную компиляцию в байт - код. Она есть всегда. Также есть Zend optimizer, но он вроде работатет с файлами закодированными Zend guard ом, который к сожалению платный. Есть и бесплатные аналоги, но я ими не интересовался.

Цитата(albertn @  26.10.2006,  16:22 Найти цитируемый пост)
Лучше пусть загрузка пойдет к чертовой бабушке, чем будут противоречивые данные или пройдет попытка взлома
фиг знает. Всё равно ошибки ввода обрабатывать надо. А с кривыми руками и в питоне в запрос опасные данные пропустить можно.

PM MAIL   Вверх
pythonwin
Дата 26.10.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(S.A.P. @  27.10.2006,  00:08 Найти цитируемый пост)

возможно мы говорим о разных вещах, но я имел ввиду предварительную компиляцию в байт - код. Она есть всегда. Также есть Zend optimizer, но он вроде работатет с файлами закодированными Zend guard ом, который к сожалению платный. Есть и бесплатные аналоги, но я ими не интересовался.

а в питоне байто-код создается по умолчанию + это встроеная функция + абсолютно бесплатно + можно переделывать в *.pyd (сам не пробовал, но говорят, что переделать из байто-кода в код питона это большая проблема, а вот из pyd в py - намного легче самому написать)
PM WWW GTalk Jabber   Вверх
S.A.P.
Дата 26.10.2006, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 1
Всего: 71



pythonwin, посыпаю пеплом голову и ухожу, вслед за smartov.  smile 
PM MAIL   Вверх
skyboy
Дата 26.10.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



Цитата(pythonwin @  26.10.2006,  16:13 Найти цитируемый пост)
я имел ввиду предварительную компиляцию в байт - код. Она есть всегда.

Цитата(pythonwin @  26.10.2006,  16:13 Найти цитируемый пост)
а в питоне байто-код создается по умолчанию + это встроеная функция + абсолютно бесплатно 

pythonwin, читай внимательно ;)

Добавлено @ 17:43 
пойду-ка и я. кодить. на PHP.чувствую, мне будут сегодня ночью сниться кошамры про недопроверенные параметры и недобайтовый байт-код. smile 
PM MAIL   Вверх
smartov
Дата 26.10.2006, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 10
Всего: 259



skyboy
Цитата(skyboy @  26.10.2006,  16:37 Найти цитируемый пост)
я имел ввиду предварительную компиляцию в байт - код. Она есть всегда.

Я честно говоря не уверен что в PHP сохраняется единожды скомпиленный байт код. Для этого насколько я знаю нужен Zend Optimizer (free). Он работает и с незакодированными файлами (необязательно кодировать) выполняя именно функцию сохранения байткода, чтобы если файл не менялся то его не перекомпиливать. То есть в общем то фича тоже бесплатная.
PM MAIL   Вверх
albertn
Дата 27.10.2006, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 1
Всего: 34



Цитата(S.A.P. @  26.10.2006,  17:08 Найти цитируемый пост)
прошу прощения, а как тогда нативные модули ставятся для питона?

По умолчанию в папку со всеми модулями, а при желании можно скопировать куда угодно. У него все модули инклудятся только при обращении.
PM WWW ICQ   Вверх
pythonwin
Дата 27.10.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 1
Всего: 36



Цитата(skyboy @  27.10.2006,  00:37 Найти цитируемый пост)
Цитата(pythonwin @  26.10.2006,  16:13 Найти цитируемый пост)
я имел ввиду предварительную компиляцию в байт - код. Она есть всегда.

Это не моя цитата  smile 



PM WWW GTalk Jabber   Вверх
skyboy
Дата 27.10.2006, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



pythonwin, да, извини. должно было быть так:
Цитата(S.A.P. @  26.10.2006,  16:08 Найти цитируемый пост)
я имел ввиду предварительную компиляцию в байт - код. Она есть всегда.

Цитата(pythonwin @  26.10.2006,  16:13 Найти цитируемый пост)
а в питоне байто-код создается по умолчанию

Так нормально? я имел в виду, что нечего ПРОТИВОпоставлять Питон ПХП по возможностям, которые есть у обоих.
зы Я просто когда делал цитату, выделил цитату S.A.P. в твоей посте - вот и получилось "не то".
PM MAIL   Вверх
albertn
Дата 27.10.2006, 16:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 368
Регистрация: 17.7.2006
Где: г. Ставрополь

Репутация: 1
Всего: 34



Цитата(skyboy @  27.10.2006,  15:12 Найти цитируемый пост)
Так нормально? я имел в виду, что нечего ПРОТИВОпоставлять Питон ПХП по возможностям, которые есть у обоих.
зы Я просто когда делал цитату, выделил цитату S.A.P. в твоей посте - вот и получилось "не то". 
В пхп байт-код компилится единовременно (на сколько я знаю), а в Python автоматом при каждом обращении к файлу, если его содержимое было изменено. Причем это происходит по умолчанию без дополнительных установок.
PM WWW ICQ   Вверх
Страницы: (8) Все « Первая ... 4 5 [6] 7 8 
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

С уважением, Smartov.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Религиозные войны | Следующая тема »


 




[ Время генерации скрипта: 0.1475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.