LINUX.ORG.RU
ФорумTalks

ненависть: Python, где же ООП, ау?

 , , , ,


1

5

в прошлый раз когда я тут поразбирал тесты курильщика python мне тут несколько адептов хором рассказывали про ООП.

Практически дословная цитата:

Ты, идиот! ООП не знаешь!

Ок, ООП.

Смотрим популярный фреймворк, например flask.

Вот пример кода из его документации:

from flask import request
@app.route('/login', methods=['POST', 'GET'])
def login():
    error = None
    if request.method == 'POST':
        if valid_login(request.form['username'],
                       request.form['password']):
            return log_the_user_in(request.form['username'])
        else:
            error = 'Invalid username/password'
    # the code below is executed if the request method
    # was GET or the credentials were invalid
    return render_template('login.html', error=error)

В каком еще другом языке есть веб-фреймворк с подобным надругательством над ООП?

★★

Последнее исправление: leave (всего исправлений: 1)

Вообще тот факт что существует множество реализаций Питона (есть даже от Microsoft), говорит о том что его синтаксис очень удачный. И этот же факт говорит о том что внутренняя реализация дефолтной реализации (cpython) не очень удачная.

Deleted
()
Последнее исправление: pyroman (всего исправлений: 1)
Ответ на: комментарий от Deleted

И этот же факт говорит о том что внутренняя реализация дефолтной реализации (cpython) не очень удачная.

Ни о чем таком этот факт не говорит. Альтернативные реализации Python сделаны для виртуальных машин, на которых CPython не работает по очевидным причинам. Единственная известная мне альтернативная нативная реализация Python - PyPy, который не совсем Python.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Единственная известная мне альтернативная нативная реализация Python - PyPy, который не совсем Python.

И Cython. Ну и вообще, чувствуется что всем хочется питона или что-то типа питона, но компилируемого в машинный код, или хотя бы близкого по быстродействию.

который не совсем Python.

Питон не питон, однако видно что синтаксис удачный, его хотят.

Deleted
()
Последнее исправление: pyroman (всего исправлений: 1)
Ответ на: комментарий от Deleted

Единственная известная мне альтернативная нативная реализация Python - PyPy, который не совсем Python.

И Cython.

А Cython - это просто не Python.

«The Cython language is a superset of the Python language that additionally supports calling C functions and declaring C types on variables and class attributes».

Питон не питон, однако видно что синтаксис удачный, его хотят.

Хотят не синтаксис, а программистов и библиотеки.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

А Cython - это просто не Python.

Его разновидность, не? Речь об языке в данном случае. Cython is a programming language that aims to be a superset of the Python programming language.

Хотят не синтаксис, а программистов

Ну это само собой, чем менее упоротый и простой язык, тем больше программистов.

Deleted
()
Последнее исправление: pyroman (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Т.е. я этого не говорил. Прекрасно

ты это сказал.

не прямо, но именно это ты и сказал.

еще раз порядок:

  • я сказал что все циклы никто пока не удаляет. таких языков нет.
  • ты стал спорить на тему «открой для себя Python» и еще ёрничал на тему моей дремучести. «Такие языки есть» - твоя фраза?

так что не вертись

WeakRef был бы в Python даже в случае, если бы ограничений на удаляемые циклы не было - как он есть в Java. Для чего он предназначен - см. выше.

кеши на базе weakref - нарушение связности графа программы. если кто-то вздумает так дизайнить приложение, ему надо в школу срочно.

заново учиться

rsync ★★
() автор топика
Ответ на: комментарий от Deleted

Ну это само собой, чем менее упоротый и простой язык, тем больше программистов.

мы же разобрали это выше. количество программистов определяет google.

кинул какашку в массы - и массы забурлили, стали изучать Go, Python итп

папа Гвидо для того чтобы порадовать сынку пролоббировал в google этот недоязычок

rsync ★★
() автор топика
Ответ на: комментарий от rsync

количество программистов определяет google.

Чушь.

кинул какашку в массы - и массы забурлили, стали изучать Go, Python итп

Еще раз где гугл был в 2000 году?

папа Гвидо для того чтобы порадовать сынку пролоббировал в google этот недоязычок

Пруф.

dem ★★
()
Ответ на: комментарий от dem

Чушь

нет. 100500 языков имеется в природе. В том числе позволяющие на уровне языка утилизировать множество CPU.

но все бросились изучать Go когда Google его бросил в массы.

то же самое и с Python.

Папа Гвиды пролоббировал эту каку и в итоге Python стал популярен.

rsync ★★
() автор топика
Ответ на: комментарий от Deleted

А Cython - это просто не Python.

Его разновидность, не?

Нет, пожалуй. Никто же не называет Си++ разновидностью Си.

Кстати, ЕМНИП, Cython (и Nuitka тоже) на самом деле основаны на библиотеках CPython, так что независимыми реализациями не являются.

tailgunner ★★★★★
()
Ответ на: комментарий от rsync

Папа Гвиды пролоббировал эту каку и в итоге Python стал популярен.

Что-то ты постоянно сваливаешься в откровенный бред.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

у тебя есть другое объяснение почему говноязык сдизайненный так что повсюду встречаются херни вроде datetime.datetime.now(), foo.foo.bar() вдруг стал популярен?

rsync ★★
() автор топика
Ответ на: комментарий от rsync

Потому что для веба: 1) был был говном и репутацию ему не исправить; 2) руби без рельсов нинужен, гемы говно, во времена взросления питона он был МЕДЛЕННЫМ; 3) перл write-only в 90% случаев.

Для системы: 1) перл write-only; 2) руби опять медленный и гемы ололо; 3) пых просто ниачом. Все, скриптота закончилась.

leave ★★★★★
()
Ответ на: комментарий от rsync

Ну да, Ларри вот в гугл не взяли и перл сдох. Правда, он был неюзабельным с рождения, но во всем же гугл виноват все равно.

leave ★★★★★
()
Ответ на: комментарий от tailgunner

Кстати, ЕМНИП, Cython (и Nuitka тоже) на самом деле основаны на библиотеках CPython, так что независимыми реализациями не являются.

Ну это разные же вещи. Cython, если ему дать обычный python код, без всяких cython'овских штук, мало что с ним делает, и насколько я понимаю, просто отдаёт его в libpython. В этом случае работа аналогична Nuitka. Другое дело когда там в коде используются всякие cdef.

Deleted
()
Ответ на: комментарий от rsync

Папа Гвиды пролоббировал эту каку и в итоге Python стал популярен.

Что-то ты постоянно сваливаешься в откровенный бред.

у тебя есть другое объяснение почему говноязык

Это не я должен предлагать объяснгения, а ты приводить доказательства, что папа Гвидо такой могущественный чувак, что Python стабильно входит в Топ5 используемых языков.

tailgunner ★★★★★
()
Ответ на: комментарий от rsync

кеши на базе weakref - нарушение связности графа программы

Да пофиг всем на твое ценное мнение. Кэши на Weakref делали, делают, и будут делать.

tailgunner ★★★★★
()
Ответ на: комментарий от Deleted

Кстати, ЕМНИП, Cython (и Nuitka тоже) на самом деле основаны на библиотеках CPython, так что независимыми реализациями не являются.

Ну это разные же вещи.

Почему это разные? Если моя память меня не подводит, эти реализации основаны на CPython, и это 1) как бы свидетельствует в пользу ее высокого качества 2) не дает этим реализациям быть альтернативными.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от leave

руби без рельсов нинужен, гемы говно

для питона они не говно?

перл write-only в 90% случаев

write-only не от языка зависит, а от пишущего.

на питоне write-only писать горраздо легче, ибо вывихи мозга вида

'/'.join(lst)
regexp.search(instring)

располагают именно к write-only.

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

не через разделитель соединяем массив, а к разделителю прикладываем массив итп

rsync ★★
() автор топика
Последнее исправление: rsync (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Это не я должен предлагать объяснгения, а ты приводить доказательства, что папа Гвидо такой могущественный чувак, что Python стабильно входит в Топ5 используемых языков.

у нас есть множество примеров когда могущественный папа нагнул всё человечество чтобы сынку порадовать

папа Билли - банкир - навяливал Дос/Шиндовс в предустановку на новые компы. Кредиты под эту херь давали льготные.

в итоге всё человечество мучается теперь с Шиндовс

то же самое и с Python, просто пользователей Python поменьше чем пользователей Шиндовс. вот и вся разница.

Папочка Гвиды пролоббировал - гугл внедрил.

Папочка Билли пролоббировал - IBM внедрил.

и так всё в современном мире

rsync ★★
() автор топика
Ответ на: комментарий от tailgunner

не делали и не будут делать.

кеши на weakref - именно write only код

rsync ★★
() автор топика
Ответ на: комментарий от tailgunner

Почему это разные? Если моя память меня не подводит, эти реализации основаны на CPython, и это 1) как бы свидетельствует в пользу ее высокого качества 2) не дает этим реализациям быть альтернативными.

Не только основаны, а зависят от cpython, там libpython зависимостях. В случае cython это нужно для совместимости с cpython: дефолтный python код просто передаётся в libpython как есть. Другое дело когда в коде ctypes везде.

Deleted
()
Ответ на: комментарий от rsync

Папочка Гвиды пролоббировал - гугл внедрил.

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

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Ну так каким образом Cython является альтернативной реализацией Python, если у него под капотом тот же CPython?,

Это не альтернатива как бы, хотя в некоторых случаях можно конечно вместо обычного питона писать на нём. Вообще его предназдачение писать компилируемые модули для питона там где нужна высокая производительность.
Там по сути два питона: обычный питонячий код интерпретируется обычным libpython, а вот если код написан на чистомо cython, после компиляции там получается полностью нативный машинный код, если я всё правильно понимаю.

Deleted
()
Последнее исправление: pyroman (всего исправлений: 1)
Ответ на: комментарий от Deleted

Это не альтернатива как бы

Ты говорил о репализациях Python, независимых от CPython. Так вот, ни Cython, ни Nuitka не являются независимыми. Cython даже трудно назвать реализацией Python - это его надмножество (на деле, я так думаю, не полностью совместимое).

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Ну Nuitka да, там и выигрыш от неё небольшой.

Cython даже трудно назвать реализацией Python - это его надмножество

А в чём разница между реализаций и надмножеством?

Deleted
()
Ответ на: комментарий от Deleted

Ну Nuitka да, там и выигрыш от неё небольшой.

Выигрыш Nuitka в том, что это бинарь без стороннего интерпретатора.

А в чём разница между реализаций и надмножеством?

В том, что программу на надмножестве языка невозможно запустить на реализации основного языка. // К.O.

tailgunner ★★★★★
()
Ответ на: комментарий от leave

ну для того, для чего от создавался - однострочников с регулярочкой в шелле он вполне норм. да и во времена cgi скриптов из альтернатив было писать на си, где работа со строками то еще веселье, так что на нем делали всякие счетчики в основном, да и все почти.

pawnhearts ★★★★★
()
Ответ на: комментарий от rsync

Почему мучается? windows прекрасная система. Большинство проблем у пользователей из-за кривого железа или дров, но ничего не поделаешь, когда его такой зоопарк.

pawnhearts ★★★★★
()
Ответ на: комментарий от pawnhearts

Ты явно противопоставлял себя миллионам мух. По крайней мере, ты не признавал, что сам - просто одна из миллионов мух.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Выигрыш Nuitka в том, что это бинарь без стороннего интерпретатора.

По дефолту результирующий бинарь использует системный libpython, с опцией сборки --standalone оно кладёт libpython рядом в бандл. Во втором случае это всё равно считай сторонний интерпретатор, только идёт в бандле.

В том, что программу на надмножестве языка невозможно запустить на реализации основного языка. // К.O.

Ну если именно в этом смысле...

Deleted
()
Ответ на: комментарий от tailgunner

Есть как минимум несколько языков, в которых явно прослеживается питон в разной степени. nim, coffeescript, boo, swift, kotlin, местами go etc.

Ну и сам питон создавался под влиянием других языков, конечно.

pawnhearts ★★★★★
()
Ответ на: комментарий от pawnhearts

Ну и сам питон создавался под влиянием других языков

Ну и сам питон создавался под влиянием тяжелых наркотиков

fixed

rsync ★★
() автор топика
Ответ на: комментарий от Deleted

Питон не питон, однако видно что синтаксис удачный, его хотят.

Такой фашистский синтаксис могут захотеть только дэффективные менеджеры. И то, гугль например учел все издержки, и в го уже сделали нормальный синтаксис + тулзу для выпрямления рук.

bread
()
Ответ на: комментарий от Deleted

чувствуется что всем хочется питона

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

bread
()
Ответ на: комментарий от rsync

Папик Гвиды пролоббировал эту каку

Как-то так. Понятно, что без тесных отношений с менеджментом гугля не обошлось. Впрочем, там признали ошибку, и выкинули Гвиду на мороз в итоге. А может просто папик уволился или умер.

bread
()
Ответ на: комментарий от leave

перл write-only

Дык и sh не лучше, и вообще весь юникс страшный и негуманный. Зачем вы с ним работаете, шли бы на ламповую шинду, там всё мышкой делается, можно вовсе не учиться читать (и не только перл).

bread
()
Ответ на: комментарий от bread

Ты не мог бы прочитать все мое сообщение ещё раз и осмыслить его, а не отвечать на удобную лично тебе вырванную из контекста фразу?

leave ★★★★★
()
Ответ на: комментарий от leave

Там про то, что неосиляторы перла выбрали игрушечный недоязычок для околосистемной скриптухи? Ну да, такая фигня случилась. В вебе победил более адекватный для предметной области язык внезапно. И это вовсе не питон.

bread
()
Ответ на: комментарий от rsync

Лучше пусть так, чем закладывают руковыпрямитель на уровне синтаксиса. Зло это питон и ему подобные (правда подражателей совсем немного).

bread
()
Ответ на: комментарий от bread

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

Именно таким должен быть современный язык программирования:

запили мне такое-то с такими-то функциями и свойствами
А рутину должен компьютер делать, а не человек.

Deleted
()
Ответ на: комментарий от bread

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

А чем он нормальный? Мне он не понравился, уже не помню чем, но синтаксис Nim показался лучше Go, но не сказал бы что лучше питона.

Deleted
()
Ответ на: комментарий от Deleted

Он нормален уже только тем, что использует видимые разграничители блоков. Дальше можно поспорить, но это вкусовщина. Мне вот сильно не нравится этот го, например. Но всяко лучше питона во всех аспектах.

bread
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.