![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
albertn |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 1 Всего: 34 |
Еще если на сервере нехватает какой-либо библиотеки, то её уже никак не воткнешь в PHP, а на питоне эту библиотеку можно просто скопировать в папку на сервере.
В питоне все исходники проходят предварительную компиляцию (точно незнаю как это называется), что существенно сказывается на скорости выполнения. Слабая модульность. К примеру если я в PHP инклудю какой-нить файл, а он затрет какую-нить переменную или функцию мне это не понравится. Гораздо проще разбираться в чужих исходниках и фреймворках из-за строго синтаксиса. В Python очень порадовали безлимитные инты (именно int), с которым можно без проблем производить все бинарные операции без искожений. Наличие функционального программирования у Python существенно упрощает обработку списков и последовательностей. Ну все то сразу не перечислишь, так может по ходу дела и вылезет. Если интересно то вот ссылочка: Python GD module А про юникод это собсно его основная локаль. Pyhon изначально разрабатывался как кросплатформенный язык с различными локалями. И все возможности по смене локали и кодировки изначально встроенны в язык.
Объясняю еще раз. Программа получает в параметре через форму на сайте строковую переменную, в которой точно (практически) должно содержаться число. Программа предварительно его передает в подпрограмму, которая использует эту строку в арифметических выражениях и что-то делает с результатом. Далее основная прогамма продолжает работать с исходной непреобразованной строкой и записывает ее в базу. В PHP все пройдет успешно, но ведь это неправильно, т.к. фактически со строкой могут передать и что-то другое, даже возможно попытаются сломать базу, а подпрограмма будет работать уже с другим значением, а именно с тем, к какому числу преобразовалась строка. Если программа изначально была записана правильно, то ничего менять нигде не надо будет
![]() Особенно функциональное замыкание. Правда я врятли смогу освоиться с тем, что в каком-либо языке кроме LISP можно делать функциональное замыкание ![]() |
||||||
|
|||||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
но для СЭДО сомо то! ![]() Добавлено @ 15:38 как я понял это ты про графику? так вот в питоне есть и 2D, и 3D, и пакетов уйма - выберай - не хочу ![]() |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 10 Всего: 259 |
Ну что ж, тогда имхо отличный язык.
Пойду дальше программить проект на жутко неудобном PHP, но теперь вместо удовольствия буду мучаться от фич, которых в нем нет... о горе мне ;) |
|||
|
||||
S.A.P. |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 1 Всего: 71 |
потому - что ты питонист ![]() exception - не выход из положения, а проверка на тип - мало чем различается. в PHP оно явно лишнее. Добавлено @ 16:12
![]() |
||||||||
|
|||||||||
albertn |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 1 Всего: 34 |
В этом то и фишка
Я конечно извеняюсь, но я никогда не слышал, что PHP сам компилил исходники при открытии их после каких-либо изменений. Если не секрет, то расскажи как это включить.
Я питонистом стал позже чем пхпшником ![]()
Да его туда и тяжело будет вставить, т.к. отсутствуют элементарные списки |
||||
|
|||||
pythonwin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
в питоне это называется байто-код! ![]() Добавлено @ 16:29
не питонист, а пионист ![]() |
||||
|
|||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 1 Всего: 71 |
прошу прощения, а как тогда нативные модули ставятся для питона? возможно мы говорим о разных вещах, но я имел ввиду предварительную компиляцию в байт - код. Она есть всегда. Также есть Zend optimizer, но он вроде работатет с файлами закодированными Zend guard ом, который к сожалению платный. Есть и бесплатные аналоги, но я ими не интересовался.
|
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
а в питоне байто-код создается по умолчанию + это встроеная функция + абсолютно бесплатно + можно переделывать в *.pyd (сам не пробовал, но говорят, что переделать из байто-кода в код питона это большая проблема, а вот из pyd в py - намного легче самому написать) |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 1 Всего: 71 |
pythonwin, посыпаю пеплом голову и ухожу, вслед за smartov.
![]() |
|||
|
||||
skyboy |
|
||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
pythonwin, читай внимательно ;) Добавлено @ 17:43 пойду-ка и я. кодить. на PHP.чувствую, мне будут сегодня ночью сниться кошамры про недопроверенные параметры и недобайтовый байт-код. ![]() |
||||
|
|||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 10 Всего: 259 |
skyboy,
Я честно говоря не уверен что в PHP сохраняется единожды скомпиленный байт код. Для этого насколько я знаю нужен Zend Optimizer (free). Он работает и с незакодированными файлами (необязательно кодировать) выполняя именно функцию сохранения байткода, чтобы если файл не менялся то его не перекомпиливать. То есть в общем то фича тоже бесплатная. |
|||
|
||||
albertn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 1 Всего: 34 |
||||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
pythonwin, да, извини. должно было быть так:
Так нормально? я имел в виду, что нечего ПРОТИВОпоставлять Питон ПХП по возможностям, которые есть у обоих. зы Я просто когда делал цитату, выделил цитату S.A.P. в твоей посте - вот и получилось "не то". |
|||
|
||||
albertn |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 368 Регистрация: 17.7.2006 Где: г. Ставрополь Репутация: 1 Всего: 34 |
В пхп байт-код компилится единовременно (на сколько я знаю), а в Python автоматом при каждом обращении к файлу, если его содержимое было изменено. Причем это происходит по умолчанию без дополнительных установок. |
|||
|
||||
![]() ![]() ![]() |
Правила ведения Религиозных войн | |
|
1. Уважайте собеседника 2. Собеседник != враг 3. Старайтесь воздерживаться от тем вида "Windows Rulez" или "Linux Rulez" С уважением, Smartov. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Религиозные войны | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |