Comments: |
Smalltalk не сушествует!
А вообще -- это не проблема ООП, это "проблема" отсутствия типизацыи. Да, у нас нет никаких ограничений на свойства a -- соответственно, a priori мы не можэм утверждать, что какая-то операцыя с a (дажэ и ==) выдаст какой-то вменяемый результат (в языках с исключениями -- не кинет исключение). Апологеты статической типизацыи утверждают, что это критический недостаток языков с типизацыей динамической, их оппоненты -- что всякие исключения у них возникают только от кривого кода, когда хрен знает что проникает куда-то внутрь программы, а статическая типизацыя даёт только иллющию защищнности поскольку ровно те жэ проблемы могут вылезать по совершэнно разным поводам, и решать их всё равно надо другими методами.
From: | silly_sad |
Date: | October 20th, 2010 - 09:09 am |
---|
| | оба хуже. | (Link) |
|
оппоненты хуёвые вам попались. это не от кривого кода, а от принципиальной философской несовместимости ПЕРЕГРУЖЕНЫХ ОПЕРАТОРОВ с отсутсвием типизации.
Умные люди это поняли ещё 30 лет назад. и поэтому в нормальных безтиповых языках просто нет перегрузки и всё. -- проблемы нет.
Не понять эту очевидную вещь не может даже ребёнок (если он не ООПэшник).
P.S. но вообще перегрузка это не заебись всегда, даже в очень строгих языках.
Нормально оно совместимо, не вижу никакой вообще проблемы. То есть совсем никаких дополнительных проблем от полиморфизма кроме самого полиморфизма-то и нет.
И да, Вы опять рассказываете что Smalltalk не существует.
From: | silly_sad |
Date: | October 20th, 2010 - 09:14 am |
---|
| | Re: оба хуже. | (Link) |
|
информацию о типе аргументов надо откуда-то брать. есть типизация -- есть перегруженые операторы. нет типизации -- информация о типах аргументов возникает из самого оператора.
что может быть более очевидным? наличие у дедушки хуя?
>информацию о типе аргументов надо откуда-то брать.
В смысле -- о типе аргументов? Фактической информацыей о типе аргументов обладают сами аргументы. То есть если тебе надо (где-то) отличить float от стиха Пушкина -- то ты по факту проверяешь, это float или стих Пушкина, никаких проблем. Безо всякой статической типизацыи.
>нет типизации -- информация о типах аргументов возникает из > самого оператора.
Чо?
та ладно! могу повторить. ИНФОРМАЦИЮ о типах аргументов надо откудато БРАТЬ! если её нет в самих аргументах, она должна быть в записи оператора.
третьего не дано. брать её из метеосводок из Буркина-Фасо чревато созданием говно-Яваскрипта2
Информацыя о типе аргументов (включая, например, поведение при данном операторе) замечательно берётся из аргумента. Никаких проблем. При динамической типизацыи -- эта информацыя берётся в рантайме.
Да, я, кстати, не помню (не знаю) как в джаваскрипте с операторами -- но с функцыями в нём именно так. А в смоллтоке и операторы ничем не отличаются.
конечно с точки зрения ООП-обезьянок слово "в рантайме" здорово отвечает на вопрос "ОТКУДА?".
Если Вам такие детали непонятны -- то поясняю, что вопрос о типе (классе) arg1 хранится внутри arg1. Это именно так в Javascript, Smalltalk, Lisp, Perl, Python и куче других ОО-языков с динамической типизацыей.
PS Да, кстати, перечитал -- возможно, что мне просто непонятно что такое "жёсткая" типизацыя. Но в любом случае Вашы философские претэнзии к Javascript откровенно надуманны -- он есть и вызовы функцый в нём нормально работают.
конечно с точки зрения ООПэшников "хранится внутри arg1" отвечает на вопрос "ОТКУДА?".
Это вполне приемлемо отвечает на вопрос откуда с точки зрения любого незашоренного человека. Например, откуда колбаса -- из магазина; откуда тепло -- от солнца и т.д.
Если нужно ещё что-то знать -- спрашывайте, не стесняйтесь.
From: | silly_sad |
Date: | October 21st, 2010 - 08:17 am |
---|
| | Слава подсознательному! | (Link) |
|
оно таки вылезло: "откуда колбаса? из магазина".
хлеб, из магазина, молоко из магазина -- это точное и достаточное знание для ООПэшника.
это квинтессенция всего ООП!
| | Re: Слава подсознательному! | (Link) |
|
Ну да, именно так. И меня колбаса из магазины устраивает (а когда не устраивает -- я меняю магазин, а не начинаю докапываться как коптить колбасы).
я вчера играл в игру Mass Effect охуительно поучительная игра. противопоказана фанатам ООП. -- может привести к потере смысла жизни.
Мда... Разговор человека, читавшего Дейта, с человеком его не читавшим.
From: | silly_sad |
Date: | October 21st, 2010 - 07:20 am |
---|
| | Re: Слив з0считан | (Link) |
|
продолжайте следить за коментами.
local VectorMt = {}
function VectorMt.__mul (a,b) return a.x*b.x + a.y*b.y end
local function Vector(x,y) return setmetatable({x=x,y=y}, VectorMt) end
print(Vector(1,2)*Vector(2,-1))
From: | silly_sad |
Date: | October 21st, 2010 - 03:12 pm |
---|
| | Re: оба хуже. | (Link) |
|
хороший способ письма длинных программ. | |