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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Python — не ООП? Или «не ООП» — это Pyton? 
:(
    Опции темы
PyAlexey
Дата 28.9.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Вот такие возникли у меня вопросы после прочтения краткого обсуждения рубиноидов этой статейки. А вы, уважаемые питоноводы, как считаете: ООП или не ООП, Python или Pyton?
PM   Вверх
albertn
Дата 28.9.2006, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



В данной статье скорее всего идет обзор языка + стандартных библиотек. Язык то сам по-себе вполне ООП, но в стандартных библиотеках в лидирующем большенстве случаев не встречаестя этот подход.
Но если бы они взглянули на исходники Zope, тогда и оценили насколько он ООП. Там есть все - Полиморфизм, Инкапсуляция и Наследование, причем в болшом объеме.
PM WWW ICQ   Вверх
J2A
Дата 28.9.2006, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 16
Всего: 18



А на что это влияет? Что называется, хоть пирожком назови, лишь в печь не клади.
--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
ser_gen
Дата 28.9.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата

 В результате чего у Ruby только два конкурента в его категории (Java и C#)...


Мда, а C++ и Delphi(хоть и дрянь порядочная) они в расчет уже не берут?

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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Вообще, Питон — язык разносторонний и многоликий, просто так его не впихнуть таблицу классификации. Не знаю, откуда автор стащил эту таблицу, но как-то странно видеть C++ с Java и Ruby, не говоря уж об ошибке в слове Python.

Раз пошла такая пьянка, то почему в ряду с «Perl, PHP, Pyton, ASP» нет упоминания о BAT-файлах DOS’а?
PM   Вверх
ser_gen
Дата 28.9.2006, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(PyAlexey @  28.9.2006,  18:48 Найти цитируемый пост)
нет упоминания о BAT-файлах DOS’а? 


Или sh сценариев Unix?
PM MAIL   Вверх
Cr@$h
Дата 28.9.2006, 22:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


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

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



Первой ошибкой авторов было то, что они возводят всё в абсолют. Это надо же: язык принадлежит одной парадигме. Более того, под сценарными языками они понимают языки, реализующме чуть ли не все предыдущие парадигмы. Это же не всегда так.
В Common Lisp, Ada, Visual Prolog есть ООП. CL вообще всё практически содержит. Что его, сценарным обзывать? То же касается Fortran. Классификация на уровне середины прошлого века.

Я бы лучше допускал, что язык может поддерживать несколько парадигм.
Сценарность я бы вообще не относил к парадигме программирования, наеврное. для меня есть компилируемые, интерпретируемые и сценарные (последние могут быть обоими). Вот в этом смысле.

Добавлено @ 22:27 
Python считаю императивным языком, допускающим полоценное ООП и поддерживающим функциональный стиль программирования (на сколько я знаю, содержит много функцональных средств, но не имеет чистых процедур, оптимизации хвостовых функций и др.). Читайте и присоединяйтесь к обсуждению в отдельной теме О функциональном программировании на Python.
PM MAIL ICQ   Вверх
umup
Дата 28.9.2006, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



А что обсуждать ? Рассуждения какой-то пупкиной, мягко говоря, далекие от реальности ?

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


Опытный
**


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

Репутация: 18
Всего: 50



Гы-Гы)))
Python - сценарный язык для web-разработки)))))))
Полностью поддерживаю:
Цитата(umup @  28.9.2006,  23:44 Найти цитируемый пост)
А что обсуждать ? Рассуждения какой-то пупкиной, мягко говоря, далекие от реальности ?




--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
albertn
Дата 29.9.2006, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Cr@$h @  28.9.2006,  22:21 Найти цитируемый пост)
Я бы лучше допускал, что язык может поддерживать несколько парадигм.

Вот вот. Такой строгой классификации языки не подлежат. А статья максимум говорит о наиболее частом использовании языков.
PM WWW ICQ   Вверх
PyAlexey
Дата 29.9.2006, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



2All
Как думаете, чего не хватает в питоновском ООП?
PM   Вверх
albertn
Дата 29.9.2006, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(PyAlexey @  29.9.2006,  14:25 Найти цитируемый пост)
Как думаете, чего не хватает в питоновском ООП? 

Для интерпретатора в нем есть практически все что нужно.

Кстати а этот код относится к ООП?
Код

class c:
    a=3
a = c()
a.b = 4
print a.a,a.b

PM WWW ICQ   Вверх
PyAlexey
Дата 29.9.2006, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Цитата(albertn @  29.9.2006,  14:57 Найти цитируемый пост)
Кстати а этот код относится к ООП?

Философский вопрос. Почти что, сколько нужно песчинок песка, чтобы получить кучу.
Думаю, что нет, не ООП. Это просто код с использованием класса.
PM   Вверх
albertn
Дата 29.9.2006, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(PyAlexey @  29.9.2006,  15:22 Найти цитируемый пост)
Философский вопрос. Почти что, сколько нужно песчинок песка, чтобы получить кучу.
Думаю, что нет, не ООП. Это просто код с использованием класса. 

Блин, я не это имел ввиду. Поясню для тех, кто не понял: Не противоречит ли концепции ООП данного рода использование объявления переменных объекта определенного класса?
Если вопрос снова непонятен, то я еще напишу smile
PM WWW ICQ   Вверх
PyAlexey
Дата 29.9.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 19.9.2006
Где: Россия, Нижний Но вгород

Репутация: 6
Всего: 7



Вы о переменной b? Противоречит, противоречит даже самой идеи класса. Я вообще не знал, что так объявлять можно.
PM   Вверх
Cr@$h
Дата 29.9.2006, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


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

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



Про основы ООП в Python можно посмотреть и в нашем старом месте: Объектно-ориентированное программирование.
PM MAIL ICQ   Вверх
FunnyFalcon
Дата 1.10.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

Репутация: 4
Всего: 7



В Питоне просто своя объектная модель: объект - это почти что HESH таблица, но ее элементы могут искаться и в "родительских" :-)

Чем проигрывает Python тому же Ruby - нет возможности легко изменять класс: возможность работы в стиле макросов в Ruby 
(через class_eval/module_eval  и included) сильно сокращает объём кода. Я пробовал переписать pyExcelerator на Ruby - вместо 
объявления сотен свойств (разных типов - с десяток не больше) - два десятка строчек с их перечислениями - ощутимая выгода. И не 
надо про скорость - написал C расширения для ускоренного перевода строки в число и обратно, отнаследовался от String - и скорость 
на уровне Python-овского варианта.
Жаль не довел еще до ума (не по Ruby-евски выглядит, да и названия методов неудачно выбрал - одни и те же и для перевода строки
в число, и обратно) - доведу, выложу.

Если бы Van Rossum отступился чуть чуть и реализовал подобную возможность - Python бы только выиграл.
И не надо про метаклассы. Да, SqlObject и Django их очень удачно использует. Но метаклассы работают только при создании класса
 и работают они с Dictionary - т.е. порядок объявлений теряется.
PM MAIL   Вверх
J2A
Дата 4.10.2006, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

Репутация: 16
Всего: 18



На c.l.py на инсинуацию "Ruby -- ОО, а Python -- нет" ответили примерно так:
Цитата

Bertrand Ballis писал:
Цитата

Я слышал многие из Ruby-сообщества отзываются о Python (и о Perl) как о скриптовом языке, к которому потом добавили объекты, и сделано это не так хорошо как в Ruby, объекто-ориентированном изначально

Чушь ("многие .. отзываются", "Python не ОО"). объектная система в Python ближе к C++, а в Ruby - к SmallTalk; но они оба ОО (т.е. всё - объект), и поддерживают все ОО свойства (т.е. инкапсуляцию, абстрагирование и т.д.) - только потому что язык не реализует ОО в точности как другой не означает что он не ОО - это лишь означает, что это другой язык. Вообще, похоже что ты услышал это от Ruby-фанов, которые не знают о чем идет речь

--------------------
Be easy, stay cool
PM MAIL WWW Jabber   Вверх
Cr@$h
Дата 5.10.2006, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


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

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



Кстати сама обсуждаемая статья, похоже, написана сторонникаим Python.
PM MAIL ICQ   Вверх
pythonwin
Дата 5.10.2006, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Cr@$h @  5.10.2006,  08:19 Найти цитируемый пост)
Кстати сама обсуждаемая статья, похоже, написана сторонникаим Python. 

почему так думаешь? smile
PM WWW GTalk Jabber   Вверх
Cr@$h
Дата 6.10.2006, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


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

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



Цитата(pythonwin @  5.10.2006,  09:14 Найти цитируемый пост)
почему так думаешь? 

По-моему, они возхвалают "скриптовый подход" и считают, что это новое -- лучшее. Я не буду это оспаривать ли наоборот, просто статья показалась мне именно в этом ключе.
PM MAIL ICQ   Вверх
pythonwin
Дата 9.10.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Cr@$h @  7.10.2006,  05:16 Найти цитируемый пост)

По-моему, они возхвалают "скриптовый подход" и считают, что это новое -- лучшее. Я не буду это оспаривать ли наоборот, просто статья показалась мне именно в этом ключе.

Нет я подумал, что знаешь авторов статьи. smile
PM WWW GTalk Jabber   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




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


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

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