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

Поиск:

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


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


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

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



albertn, имхо ты не до конца разобрался в ПХП зато покритиковать его завсегда гаразд.
Это нехорошо, товарищ. Тебе уже не раз обратили внимание что ты чего-то не понял в ПХП потому что по крайней мере не знал пары функций довольно распространенных.
Может хватит спорить просто ради того, что уже начал спорить? Язык надо знать очень хорошо, чтобы критиковать.

nerezus
Цитата(nerezus @  25.10.2006,  07:51 Найти цитируемый пост)
Пардон, а как ты представляешь себе систему без питона?

А в чем трабл то? Легко себе представляю.
PM MAIL   Вверх
S.A.P.
Дата 25.10.2006, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(albertn @  24.10.2006,  12:32 Найти цитируемый пост)
Вопрос стоит об изучении основ языка, а не практические навыки его применения. 

Вопрос стоял о взятии на работу человека не знакомого с языком который якобы асилит его за пару - тройку дней. Какие тут основы? И потом я сомневаюсь, что питон проще изучить чем PHP. Всё - таки человеку знакомому c C или Java с PHP будет попроще ИМХО.

Цитата(nerezus @  25.10.2006,  08:51 Найти цитируемый пост)
Питон есть практически на любой никсе, просто об этом обычно не пишут. Если написано, что есть поддержка CGI - значит наверняка будет и питон ;) 

означает ли это, что в том питоне непременно будут установлены фреймворки, необходимые для веб разработки?

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


Опытный
**


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

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



Цитата(skyboy @  25.10.2006,  09:01 Найти цитируемый пост)
так а как быть с объектами?
А про объекты никто ничего и не говорил. Я в основном говорю про педедачу параметров через форму или подобным образом.

Цитата(skyboy @  25.10.2006,  09:01 Найти цитируемый пост)
Смущает тебя нестрогая типизация - просто проверяй в начале функции не значения после приведения типов, а сами типы.
Я как раз это и имел ввиду. Зачем нужна эта нестрогая типизация, если все-равно приходится проверять параметры?

Цитата(S.A.P. @  25.10.2006,  11:25 Найти цитируемый пост)
Вопрос стоял о взятии на работу человека не знакомого с языком который якобы асилит его за пару - тройку дней. Какие тут основы? И потом я сомневаюсь, что питон проще изучить чем PHP. Всё - таки человеку знакомому c C или Java с PHP будет попроще ИМХО.
А в чем собственно проблема в изучении основ языка. Этож не пролог какой-нибудь. И время затраченное на изучение почти любого языка укладывается в неделю. А практические способности уже приходят с опытом, причем одинаково на всех языках.

Цитата(S.A.P. @  25.10.2006,  11:25 Найти цитируемый пост)
означает ли это, что в том питоне непременно будут установлены фреймворки, необходимые для веб разработки?
А никто не мешает все фреймворки скопировать в папку на сервере, и просто запустить их

Это сообщение отредактировал(а) albertn - 25.10.2006, 12:26
PM WWW ICQ   Вверх
skyboy
Дата 25.10.2006, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(albertn @  25.10.2006,  10:48 Найти цитируемый пост)
Я как раз это и имел ввиду. Зачем нужна эта нестрогая типизация, если все-равно приходится проверять параметры?

ну так проверять типы и проверять значения - не одно и то же. Повторю свой же вопрос:
Цитата(skyboy @  25.10.2006,  08:01 Найти цитируемый пост)
Или ты параметры предпочитаешь не проверять?

Т.е. в языке со строгой типизацией тебе побоку, что 0 вызовет никому не нужный exception, пустая строка с именем файла может вызвать крах системы, зато типы совпадают? или как? а если проверяешь на валидность сами значения, то какая разница, под какими типами пришли "оригиналы"?

Это сообщение отредактировал(а) skyboy - 25.10.2006, 16:06
PM MAIL   Вверх
albertn
Дата 25.10.2006, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(skyboy @  25.10.2006,  16:02 Найти цитируемый пост)
Или ты параметры предпочитаешь не проверять?

Т.е. в языке со строгой типизацией тебе побоку, что 0 вызовет никому не нужный exception, пустая строка с именем файла может вызвать крах системы, зато типы совпадают? или как? а если проверяешь на валидность сами значения, то какая разница, под какими типами пришли "оригиналы"?
Если передается параметр допустим от тега select, в котором находятся только числа, то я просто использую его в каких-нибудь арифметических выражениях (с преобразованием в целый тип), а дальше допустим запихиваю в базу. Если вдруг кто-то преднамеренно передал что-то нехорошее, то естественно вывалится exception, так пусть он и будтет, нефиг сайты ломать.
Про крах системы это ты конечно загнул smile
Возьмем даже другую ситуацию, если юзверь по ошибке передал не "1234", а "123к4", то PHP при преобразовании к целому получит 123, а при заливке в базу 
оригинала получит "123к4". Многозначность выходит. А Python не даст просто так преобразовать "123к4" к числу, и то, что вывалится exception будет вполне уместно.
PM WWW ICQ   Вверх
smartov
Дата 25.10.2006, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



albertn
а питон даст просто так сложить 
Код

"123"+8

Или 
Код

123.456 + 32 + '17.77'
?
PM MAIL   Вверх
skyboy
Дата 25.10.2006, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(albertn @  25.10.2006,  16:13 Найти цитируемый пост)
Про крах системы это ты конечно загнул

конечно. но строгая типизация не освобождает программиста от проверки входных данных.
Цитата(albertn @  25.10.2006,  16:13 Найти цитируемый пост)
А Python не даст просто так преобразовать "123к4" к числу, и то, что вывалится exception будет вполне уместно. 

зато если у тебя сместится смысл этого параметра от числа к строке(например, будет передаваться некий условный код), то при строгой типизации придется менять не только код, но и интерфейс. И все вызовы переписывать. А при нестрогой типизации - только код проверки. Кроме того, проверка по типам - это что-то вроде подспорья, ведь для компа пофиг нет ничего, кроме 0 и 1, потому byte/long/int или is_number(x) && x<255//is_number(x) && x<4294967296 - это все приходящее. 
Цитата(albertn @  25.10.2006,  16:13 Найти цитируемый пост)
то PHP при преобразовании к целому получит 123, а при заливке в базу 
оригинала получит "123к4"

если тебе надо число, и в результате преобразований ты получил число, то зачем заливать оригнинал?
PM MAIL   Вверх
albertn
Дата 25.10.2006, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(smartov @  25.10.2006,  17:39 Найти цитируемый пост)
а питон даст просто так сложить 
У питона строгая типизация. Ему нужно сначала преобразовать к числу. Но при преобразовании к  числу вывалистя exception. Но это нормально, т.к. безсмысленно  дальнейшая работа если один из аргументов задан неверно. Для этих целей можно просто поставить обработчик исключений на всю программу, и в случае ошибки вывести сообщение пользователю, что введенные данные ошибочны

Цитата(skyboy @  25.10.2006,  17:46 Найти цитируемый пост)
конечно. но строгая типизация не освобождает программиста от проверки входных данных.
Но зачастую она происходит при принудительном преобразовании строки к числу. А в строке в любом случае необходимо экранировать специальные символы (если это конечно не Zope)

Цитата(skyboy @  25.10.2006,  17:46 Найти цитируемый пост)
зато если у тебя сместится смысл этого параметра от числа к строке(например, будет передаваться некий условный код), то при строгой типизации придется менять не только код, но и интерфейс. И все вызовы переписывать. А при нестрогой типизации - только код проверки. Кроме того, проверка по типам - это что-то вроде подспорья, ведь для компа пофиг нет ничего, кроме 0 и 1, потому byte/long/int или is_number(x) && x<255//is_number(x) && x<4294967296 - это все приходящее. 
Это уже вопрос правильности программирования. Я неоднократно видел как на Zope в исходниках происходила многозначная проверка параметров, и в зависимости от них выполняются те или иные действия. Но согласен в PHP при смене типов параметров проще. Но это происходит только при смене интерфейса, и изменения будут касаться только вызываемой функции.

Цитата(skyboy @  25.10.2006,  17:46 Найти цитируемый пост)
если тебе надо число, и в результате преобразований ты получил число, то зачем заливать оригнинал? 
Допустим если передавать в подпрограмму оригинальную строку, а в ней уже происходит преобразование к числу.
PM WWW ICQ   Вверх
pythonwin
Дата 26.10.2006, 07:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(smartov @  25.10.2006,  17:31 Найти цитируемый пост)

А в чем трабл то? Легко себе представляю. 


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

означает ли это, что в том питоне непременно будут установлены фреймворки, необходимые для веб разработки?

фреймворки - это пакеты, их очень легко установить или даже 
Цитата(albertn @  25.10.2006,  18:48 Найти цитируемый пост)
А никто не мешает все фреймворки скопировать в папку на сервере, и просто запустить их

даже с ПК с другой ОС

Цитата(smartov @  26.10.2006,  00:39 Найти цитируемый пост)
albertn
а питон даст просто так сложить 

"123"+8

Или 

123.456 + 32 + '17.77'
?



можно конечно:
Код

a=eval("123")+8
b=123.456 + 32 + eval('17.77')


или
Код

a=eval("+".join([str(x) for x in ["123", 8]]))
a=eval("+".join([str(x) for x in [123.456, 32, '17.77']]))


Цитата(albertn @  26.10.2006,  02:07 Найти цитируемый пост)
У питона строгая типизация. Ему нужно сначала преобразовать к числу. Но при преобразовании к  числу вывалистя exception. Но это нормально, т.к. безсмысленно  дальнейшая работа если один из аргументов задан неверно. Для этих целей можно просто поставить обработчик исключений на всю программу, и в случае ошибки вывести сообщение пользователю, что введенные данные ошибочны

exception легко обойти:
Код

s="123"
s1="123.sd54"
if (u''+s).isnumeric(): print int(s)
else: print "'%s' - не число"%s

if (u''+s1).isnumeric(): print int(s1)
else: print "'%s' - не число"%s1

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


Опытный
**


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

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



Цитата(pythonwin @  26.10.2006,  07:52 Найти цитируемый пост)
exception легко обойти:

Его везде легко обойти, а если его не обходить, питон не одобрит попыток передать ошибочную информацию, а пхп даже незаметит.
PM WWW ICQ   Вверх
smartov
Дата 26.10.2006, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(pythonwin @  26.10.2006,  06:52 Найти цитируемый пост)
можно конечно:

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

Заодно вопросы мне интересные по python:
Насколько прозрачно там работать в Сессиями. Естьи ли там gd или аналог. Как дела с unicode?
На счет связок с БД я надеюсь там все ок? (нативно i mean?)

p.s. Синтаксис у него не C-подобный как я понял? То есть никакой короткой записи и прочих приятный мелочей?
PM MAIL   Вверх
skyboy
Дата 26.10.2006, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Цитата(albertn @  25.10.2006,  18:07 Найти цитируемый пост)
Цитата

если тебе надо число, и в результате преобразований ты получил число, то зачем заливать оригнинал? 

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

Не понял, что значит "а в ней уже". ты что, имеешь в виду, что уже при передаче в подпрограмму сразу "124к5" преобразуется в "124" безо всяких вычислений и прочих причин для смены типа? 
Цитата(albertn @  25.10.2006,  18:07 Найти цитируемый пост)
Но это происходит только при смене интерфейса, и изменения будут касаться только вызываемой функции.

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

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


Эксперт
****


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

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



Цитата(smartov @  26.10.2006,  17:49 Найти цитируемый пост)
Заодно вопросы мне интересные по python:

хорошо давай посмотрим:

Цитата(smartov @  26.10.2006,  17:49 Найти цитируемый пост)
Насколько прозрачно там работать в Сессиями.

если ты про сессии в веб, то сессии есть практически во всех фреймворках (Zope, TG, Django). авторизация,  работа с куками, сессии.
Цитата(smartov @  26.10.2006,  17:49 Найти цитируемый пост)
Естьи ли там gd или аналог.

это что такое?
Цитата(smartov @  26.10.2006,  17:49 Найти цитируемый пост)
Как дела с unicode?

с unicode все прекрасно:
Код

s=u'Это юникод'
s1=unicode('Это юникод','utf-8')
s1=unicode('Это виндовозная кириллица','cp1251')
s1=unicode('Это не виндовозная кириллица','koi8-r')

и это не предел.
можно работать с простой строкой, хотя в ней не латиница т.е. 
Код

s='Это юникод'

для этого нужно просто прописать в site.py что кодировка по умолчанию utf-8 или cp1251 или ещё какая-то

Цитата(smartov @  26.10.2006,  17:49 Найти цитируемый пост)
На счет связок с БД я надеюсь там все ок? (нативно i mean?)

с БД проблем нет:
1) есть специальзированные пакеты для каждой СУБД (MySQLdb, psycopg, cx_Oracle и т.д.)
2) есть универсальные типа mx.ODBC или ODBC в PythonWin
3) есть "обёртки" типа SQLObject или sqlalchemy, которые можут работать с любой БД (СУБД), которые поддерживают SQL, а sqlalchemy может работать с ораклом
4) есть Zope, у которого есть своя БД, если именно про это интерестно, то можешь обратиться к albertn, - он спец по Зоп.
Цитата(smartov @  26.10.2006,  17:49 Найти цитируемый пост)
То есть никакой короткой записи и прочих приятный мелочей? 

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

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


Вселенский отказник
****


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

Репутация: 13
Всего: 43



Цитата

Естьи ли там gd или аналог.
 И он есть, и имеджмеджик.


Цитата

Как дела с unicode?
 На порядок лучше, чем в пхп.
Код

# -*- coding: cp1251 -*- 
print u'Hello unicode world!'



--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
pythonwin
Дата 26.10.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(nerezus @  26.10.2006,  20:58 Найти цитируемый пост)
Цитата

Естьи ли там gd или аналог.
 И он есть, и имеджмеджик.


nerezus, пожалуйста, объясни про что это вы? smile
PM WWW GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила ведения Религиозных войн
Smartov
1. Уважайте собеседника
2. Собеседник != враг
3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez"

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

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


 




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


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

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