@oop_ru

Страница 630 из 785
Mykola
01.05.2018
20:38:59
ну можно почитать, но смысл то в чем?

Sergey
01.05.2018
20:39:34
ну там чуть-чуть про зараждение наследования

Mykola
01.05.2018
20:39:53
ага, я вижу уже

Sergey
01.05.2018
20:41:03
> Hoare published a paper on record handling [8], where he proposed classes and subclasses of records

Google
Sergey
01.05.2018
20:41:22
> but in a scheme where a class and all its subclasses were described in one closed syntactic unit

Mykola
01.05.2018
20:44:59
ну в статье все правильно написано, но выводов нет

ну типа "сделали сабкласы, потому что некоторые записи были похожи между собой, а некоторые отличались"

andretshurotshka?❄️кде
01.05.2018
20:46:37
Mykola
01.05.2018
20:46:47
надо хоара чиать

чтоб понять что они там себе думали

8. C.A.R. Hoare. Record handling. Algol Bulletin No. 21, November 1965.

Sergey
01.05.2018
20:49:01
http://archive.computerhistory.org/resources/text/algol/algol_bulletin/A21/P36.HTM

Mykola
01.05.2018
20:57:17
до конца не дочитал, но хоар явно не писал о типах, он подходил с чисто практической точки зрения

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

все

никакой теории

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

Google
Mykola
01.05.2018
21:05:32
@fes0r , когда ты там где-то в наших крях окажешься? я тебе могу на пальцах обьяснить концепцию, но в чатике сложно очень и долго

Mykola
01.05.2018
21:09:18
окей, пни меня заранее)

можем сделать микромитапчик отдельный чисто по нашей тематике, если хочешь

Mykola
01.05.2018
21:11:45
Киев, имеется ввиду

Алексей
01.05.2018
21:37:37
В июне
Таки на fwdays?

Sergey
01.05.2018
21:51:33
Не факт

Nik
02.05.2018
04:44:50
Киев, имеется ввиду
с удовольствием присоединюсь

Pavel
02.05.2018
15:48:46
А в чем проблема классов в ооп? Иметь декларацию того с чем будем работать, мешает чем-то?

Aleh
02.05.2018
15:53:08
Помогают стрелять в ноги

Like
02.05.2018
15:53:51
#Классы_не_нужны

Pavel
02.05.2018
15:55:59
А в чем проигрывают тайпклассам? И почему смещают акцент? Создают какие-то ограничения?

Aleh
02.05.2018
15:58:21
А в чем проигрывают тайпклассам? И почему смещают акцент? Создают какие-то ограничения?
Такой пример явного проигрыша: для списка, элементы которого сравнимы, определить метод unique()

А для списка, элементы которого можно сравнивать больше они или меньше друг друга, определить sort()

Pavel
02.05.2018
16:01:36
Я понял, что в первую очередь понять что за тайп классы :) (В первый раз слышу) https://wiki.haskell.org/OOP_vs_type_classes читануть это для ликбеза подойдет?

Aleh
02.05.2018
16:03:09
Haskell wiki можно читать, да

Mykola
02.05.2018
16:31:31
я же так понял, что это типа для рантайма? если у тебя в списке оказываются внезапно сравнимые все элементы, то unique определён, а если есть несравнимые, то он не определён? это ж в каком хаскеле такое возможно? :)

Google
Aleh
02.05.2018
16:38:00
Не в рантайме

Ну т.е. в рантайме оно тоже только для нужных случаев определено будет)

Mykola
02.05.2018
16:38:48
тогда это и на классах можно сделать легко не в рантайме, или пример не совсем удачный

Aleh
02.05.2018
16:41:02
а как определить, что элементы сравнимы?
условно есть у тебя interface Comparable и interface Orderable

и есть interface List<E>, но при этом если E это Comparable, то надо определить unique, а если E Orderable, то надо определить sort

Mykola
02.05.2018
16:43:35
во, другой разговор

Aleh
02.05.2018
16:43:50
необязательно пользоваться такой структурой типов, но как вариант

Mykola
02.05.2018
16:45:13
ну теперь просто понятно, когда речь зашла о generic

Aleh
02.05.2018
16:45:55
хорошо, если понятнее)

Mykola
02.05.2018
16:47:10
@fes0r , кстате, обрати внимание

это довольно интересная штука, которую хрен сделаешь на чистых классах

правда, как и женерики...

Mykola
02.05.2018
16:51:11
ну женерики - это ж уже не ооп

Aleh
02.05.2018
16:51:19
чеее

Mykola
02.05.2018
16:51:24
это из той же оперы, что и тайпклассы

Aleh
02.05.2018
16:51:35
мммммммммммммммммммммммммммммм

Mykola
02.05.2018
16:52:01
шо не?

типа если оно есть в жаве, то оно ооп? :)

Google
Adel
02.05.2018
16:52:59
какой смысл пытаться строго определить границы того, что называть ООП?

Mykola
02.05.2018
16:53:34
чтоб можно было отвечать на вопросы "а чем проблема классов в ооп"

Aleh
02.05.2018
16:53:58
шо не?
классы это не ооп, если мы про какое-то чистое ооп

а там где есть классы, как способ описания типа, то параметризация типа идет прям рядом

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

Mykola
02.05.2018
16:54:45
вчера мы тут копали в происхождение ооп

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

ну и докопались до Хоара

где он определяет классы рекордов, сабклассы и вот это всё

и если люди обращаются с вопросом "чем плохо ооп", то они скорее всего имеют ввиду именно это понимание

Aleh
02.05.2018
16:58:48
т.е. руби, жс, пайтон и смолток это все не ооп?

Mykola
02.05.2018
16:59:19
кое-где ооп, а кое-где магия поверх него

Aleh
02.05.2018
16:59:27
с чего вдруг так?)

Mykola
02.05.2018
16:59:37
с того, что хоар - тоже человек)

Aleh
02.05.2018
16:59:39
скорее жава это какие-то костыли около ооп

Sergey
02.05.2018
17:00:03
чтоб можно было отвечать на вопросы "а чем проблема классов в ооп"
просто убери из вопроса "ооп" и все становится весьма просто

кое-где ооп, а кое-где магия поверх него
дай четкое определение "магии"

Mykola
02.05.2018
17:01:01
ну началось с симулы, там если чиать статью, то видно, что человек подходит к языку чисто практически, без вот этих всех теорий типов, просто как инжинер

Sergey
02.05.2018
17:01:07
и если люди обращаются с вопросом "чем плохо ооп", то они скорее всего имеют ввиду именно это понимание
ну как бы да, и отсюда мы можем придти к проблемам классов, и вывести что классы это один из способов делать ооп

Google
Mykola
02.05.2018
17:02:27
типа есть записи (record), у записи есть класс, типа там "кот" или "стол", класс определяет набор полей, а чтоб реюзать поля, то введем сабклассы

вот

Sergey
02.05.2018
17:02:51
или прототипы

или еще куча всего

Mykola
02.05.2018
17:03:11
ну если б с тайпклассов все началось, то было бы другое дело

Sergey
02.05.2018
17:03:29
там же схожие штуки были примерно в то же время

Mykola
02.05.2018
17:03:43
а хер его знает, там скобочки)

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

но да, надо читнуть статью

вчера очень продуктивно получилось

Sergey
02.05.2018
17:05:33
блин я все хочу сделать граф связей

между разными публикациями и т.д.

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

и кто на что влиял

Mykola
02.05.2018
17:06:00
может уже есть?

Sergey
02.05.2018
17:06:19
я искал но чет пока не очень, есть просто схроны публикаций на тему истории языков программирования

Страница 630 из 785