LINUX.ORG.RU

Ответ на: комментарий от geekless

Писать и читать v.foo(x).bar(y).baz(z)

просто удобнее, чем baz(bar(foo(v, x), y), z)

Проблема немного надуманная:

(baz z-obj
       (bar y-parameter
             (foo v-function
                    x-arg)))

Читабельность на высоте ;)

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

Назовите Топ5.

- переусложненная работа с метаклассами и резкое снижение читабельности классов их использующих
- объекты старого типа
- методы принадлежат классам (объектам), а не специализируются на них
- без изучения реализации метода невозможно точно сказать, изменяет ли он конкретный объект, у которого вызывается
- принципиальная невозможность запилить свое ооп с интроспекцией по фрейду и рефлексией по хайдеггеру так, чтобы оно не смотрелось чужеродно

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

переусложненная работа с метаклассами

Эзотерика, очень редко нужная; кроме того, где именно работа с метаклассами сделана просто?

методы принадлежат классам (объектам), а не специализируются на них

Щито?

без изучения реализации метода невозможно точно сказать, изменяет ли он конкретный объект, у которого вызывается

Назовите языки, в которых это не так.

объекты старого типа

Совместимость есть совместимость. В Python3 их убрали.

принципиальная невозможность запилить свое ооп

Нафиг не нужно

Короче, список в духе «если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича».

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

В питоне зато ОО-костылей куда больше натыкано.

private/protected

Этого не хватает, да. Но, если этот недостаток на первом месте, я спокоен за Питон %)

миксины, метаклассы

/me бредет по колено в метапрограммистах.

tailgunner ★★★★★
()

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

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

В Руби есть соглашение об именовании константных и неконстантных методов.

Бугага.

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

переусложненная работа с метаклассами

Эзотерика, очень редко нужная;

Не аргумент, если не рассматривать python - как язык для задач, которые решаются часто (и надо понимать, однотипно)

кроме того, где именно работа с метаклассами сделана просто?

Сложность может быть оправдана, но в python работа с метаклассами - уродлива

методы принадлежат классам (объектам), а не специализируются на них

Щито?

multiple dispatch и обобщенные функции уходят лесом + ооп-дилемма «pencil.draw_on_paper() or paper.draw_wit_pencil()

без изучения реализации метода невозможно точно сказать, изменяет ли он конкретный объект, у которого вызывается

Назовите языки, в которых это не так.

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

принципиальная невозможность запилить свое ооп

Нафиг не нужно

Ну, если python использовать как продвинутый бейсик...

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

кроме того, где именно работа с метаклассами сделана просто?

Сложность может быть оправдана, но в python работа с метаклассами - уродлива

Характерно, что ты не ответил.

без изучения реализации метода невозможно точно сказать, изменяет ли он конкретный объект, у которого вызывается

Назовите языки, в которых это не так.

Не знаю ни одного такого

Тогда не понял претензий именно к Питону.

принципиальная невозможность запилить свое ооп

Нафиг не нужно

Ну, если python использовать как продвинутый бейсик...

Снова глубокомысленное надувание щек %)

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

Ах да, и multiple dispatch делается декораторами (разные алгоритмы), подозреваю, что то же относится и к обобщенным функциям.

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

Характерно, что ты не ответил.

Чем характерно? CL, ruby.

Тогда не понял претензий именно к Питону

Я перечислил первые пять пришедших в голову минусов ооп питона, без сравнения с конкретным(и) языком

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

Характерно, что ты не ответил.

Чем характерно?

Тем, что твои претензии, мягко говоря, теоретичны. Для таких претензий конкретные детали не нужны (даже названия языков).

CL, ruby.

Ну да, куда ж без CL... в нем есть всё и даже больше %)

Я перечислил первые пять пришедших в голову минусов ооп питона

И как-то случайно получилось, что твое «методы принадлежат, а не специализируются» явно решается декораторами, а претензия насчет изменения объекта методом применима ко всем известным тебе языкам.

Почти 10 лет использую Питон, ни разу не имел проблем с классами старого стиля и не имел необходимости запилить свое ООП. Наверное, что-то ЯДНТ.

Да, и, если тебе не трудно - что именно делает принципиально невзможным запиливание своего ООП с интроспекцией (и чем именно интроспекция отличается от рефлексии)?

tailgunner ★★★★★
()

Милейший, все просто: руби критически непоследователен, иначе говоря его синтаксис придумал норкоман да еще и с другой планеты. Вот в обычном яп как объявляются переменные?

//обычный язык
var a; 
private var a; //private - любой модификатор доступа
//ruby
a = 0 // это приватная перменная!
//а вот в конструкторе
@a = 1; //публичная!

belous_k_a
()

Я как питнер считаю, что Руби стал гораздо более чем Пайтон.

Но всетаки Пайтон лучше...

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

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

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

Японец ты или кореец, это не повод нести чушь. Иди почитай справочник синтаксиса. Как осилишь, возвращайся.

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

Сударь, пролейте на меня помои знаний, дабы я имел счастие устыдиться и укоряемый погрузиться в пучину мануалов по ruby. А то ваши замечания велико не информативны, надеюсь вы и сами это заметили?

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

Ох. Понимаете... Японцы например не боятся смерти её в их понятии нет. Еще у них совершенно по другому развиты диапазоны. То что вы считаете INT (например день месяца) у них STR.

Толерантнее надо. Руби он как Суси (не суши буквы Ш нет в японском языке. они даже выговорить её как и израилтяне букву ы не могут)

Не критикуйте просто так. Я в 1998 годк у долго выбирал между руби и пайтоном. Пайтон победил, но руби очень хороший язык. С прекрасными штуками.

Отношения программиста к ЯП напоминают отношения к женщине (может потому так сало женщин программистов?). Мы их любим не за что, а вопреки чему!

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

1. Открываешь справочник синтаксиса.
2. Внимательно читаешь, если есть, чем.
3. Осознаешь, что написал бред.
4. ?????
5. Профит!

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

Осознаешь, что написал бред.

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

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

Не критикуйте просто так.

Оу, сударь, я вовсе не просто так, у меня есть некоторый опыт работы с ruby и с python, конечно я не снизошел до профессионального программирования на них, ибо тестирования динамических языков - ад, но их выразительность я ценю, в том числе выразительность ruby, но выразительность у него наркоманская - когда пишешь на сем синтаксисе создается впечатление что придумываешь сценарий галлюциногенного сна.

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

Полностью с вами согласен. Я не профи. И мне пайтон дороже. Но у руби есть паровоз ROR. И этот паровоз убил Python с его Zope.

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

Т.е. ты тоже не понимаешь, что belous_k_a написал бред?

Что вы вообще делаете в треде о Ruby, если даже с его синтаксисом не знакомы?

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

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

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

Что вы вообще делаете в треде о Ruby, если даже с его синтаксисом не знакомы?

Сударь, вы можете научить нас неразумных чему нибудь вообще кроме слова «бред», его мы уже слышали.

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

Читаю. Сейчас 23 часа. Я Руби использовал лет 6 назад. И тут если ты напишешь что там присваивание через := я и готов поверить...

Когда выбирал я выбрал Python. Отступы сначала бесили (в ПУ). Но @ $ % и прочие {} и возможность взорвать мозг в одну строку меня просто вынесли (в РУ). но изредка читая блоги я вижу вполне приятные штуки в Руби.

Мне вообще кажется если не обращать внимания на синтаксис, то даже VB ничего, хотя и буээээээ

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

Тебя учить пользоваться гуглом?

Я сегодня добрый, поэтому дам прямую ссылку: http://en.wikibooks.org/wiki/Ruby_Programming/Syntax/Classes#Instance_Variables (надеюсь, по ссылкам ходить учить не надо, раз ты до ЛОРа как-то сумел добраться)

Просвещайся.

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

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

Читаю.

Нет, сейчас ты пишешь.

Сейчас 23 часа.

У меня 4 утра, и что? Это не повод.

Я Руби использовал лет 6 назад. И тут если ты напишешь что там присваивание через := я и готов поверить...

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

Но @ $ % и прочие {} и возможность взорвать мозг в одну строку меня просто вынесли (в РУ). но изредка читая блоги я вижу вполне приятные штуки в Руби.

Это, видимо, тенденция: у питонистов какое-то нездоровое желание, чтобы их со всех сторон ограничили, загнали в рамки. Не хочешь писать { }, пиши begin end. Не хочешь использовать глобальные переменные, не используй. В чем проблема? Тебя кто-то заставляет?

Мне вообще кажется если не обращать внимания на синтаксис

Задача создания синтаксиса языка, как и любая дизайнерская задача, имеет четкий критерий правильности: хороший синтаксис не замечаешь. О плохой спотыкаешься на каждом шагу. Так вот в Руби синтаксис хороший. В питоне — хуже.

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

В js, тоже кстати есть нелогичности:

В JS вообще пиииииииииииииииииииииииииииииии.....

Это мусорка. Возьми хотяб a = {}; console.log(a.zyz)

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

хороший синтаксис не замечаешь. О плохой спотыкаешься на каждом шагу.

ага ага $ @ % и прочие. На каждом шагу.

Про незнакомые. Ты не путай с не знающие. Я выбрал то, что мне нравится больше.

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

Что не так? Тебя это огорчает? Давай морду набьем друг другу....

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

Я сегодня добрый, поэтому дам прямую ссылку:

Вот и хорошо, милейший, это конструктивная беседа, а ведь скольких усилий стоило то!

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

Не хочешь писать { }, пиши begin end.

А можно вместо «def blah \n end» писать «def blah {}»? Прально, нельзя. А объявление переменных в лямбдах через пайпы |x|, это что за наркотики?

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

ага ага $ @ % и прочие. На каждом шагу.

Не распарсил. Развернуть мысль можно?

Что не так? Тебя это огорчает?

Меня забавляет.

Один чувак заходит в тред: «В руби плохо с переменными!!111 <приводит пример, показывающий полное незнание матчасти>»

Второй чувак заходит в тред: «Да это ничего страшного! <простил наличие несуществующей проблемы, молодец какой>»

В разделе Development веселее, чем в толксах.

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

А к чему эти этические монологи в обсуждении технических вопросов?

Давай морду набьем друг другу....

Спи иди, мордобитель.

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

А можно вместо «def blah \n end» писать «def blah {}»? Прально, нельзя.

Ты опять вещаешь на собственной волне?

А объявление переменных в лямбдах через пайпы |x|, это что за наркотики?

Сенсация! В блоках руби найдены пайпы! Срочно в номер!

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

Ой ты нервничаешь. Без тебя что Руби умрет?

Не распарсил. Развернуть мысль можно?

Перл приколы с скалярами и списками это в Руби хорошо?

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

Ой ты нервничаешь.

Эмпатические способности через интернет?

Перл приколы с скалярами и списками это в Руби хорошо?

В Руби нет перловых приколов со скалярами и списками. Добро пожаловать в реальный мир.

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

Японцы например не боятся смерти её в их понятии нет.

и поэтому строем свалили с фикуса, вместо ликвидации последствий? атлична-атлична, надо занести в толковый словарь, например

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