Size: a a a

Software Design/Architecture/Zen

2020 October 19

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
как по мне - я не вышел за пределы структурного императивного программирования) какое ооп)
источник

JS

Jerzy Syrowiecki in Software Design/Architecture/Zen
Алексей Гевондян
а какие они, пределы ооп? если я пишу лямбды - я вышел за пределы ооп?
из ООП не вышел, но вошёл в ФП
источник

Egor Гуща in Software Design/Architecture/Zen
ООП вышел из чата
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
т.о. юзаешь функции array_filter, array_map, sort-ы всякие - и все. ты фп-шник. круто же)
источник

Egor Гуща in Software Design/Architecture/Zen
Алексей Гевондян
т.о. юзаешь функции array_filter, array_map, sort-ы всякие - и все. ты фп-шник. круто же)
От языка же зависит
источник

JS

Jerzy Syrowiecki in Software Design/Architecture/Zen
Алексей Гевондян
т.о. юзаешь функции array_filter, array_map, sort-ы всякие - и все. ты фп-шник. круто же)
только если иммутабельно. ФПшник на час, да
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
ну да, не array_walk, а array_map
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Sergey Protko
ты определись сначала что такое ООП а потом уже размышляй на тему его пределов.
чем больше ты знаешь, тем четче ты понимаешь, что нихрена не знаешь ты вообще. раньше я думал - на плюсах когда писал - фигачу классы. ооп юзаю. а сейчас уже так не думаю) хотя да, одни классы фигачу)
источник

JS

Jerzy Syrowiecki in Software Design/Architecture/Zen
Алексей Гевондян
ну да, не array_walk, а array_map
в этом чате не все похапэшники, я подозреваю
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
Jerzy Syrowiecki
в этом чате не все похапэшники, я подозреваю
ну да, да это так... просто, не вгружайся
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
функция по переделке одного массива в другой. а другая - про изменение массива путем применения функции преобразования к каждому его члену.
источник

JS

Jerzy Syrowiecki in Software Design/Architecture/Zen
да, иммутабельные структуры данных и ФВП — это элементы стиля ФП
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
а о чем вообще спор?
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
иммутабельность в тренде. принцип наименьшего удивления
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
atcq (Алексей)
а о чем вообще спор?
а нужен спор обязательно?) вроде так, просто общаемся)
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
Алексей Гевондян
а нужен спор обязательно?) вроде так, просто общаемся)
текста много, а мысль никуда не развивается, но не суть
источник

АГ

Алексей Гевондян... in Software Design/Architecture/Zen
atcq (Алексей)
текста много, а мысль никуда не развивается, но не суть
опиши, на твой взгляд, границы ооп.
источник

SP

Sergey Protko in Software Design/Architecture/Zen
Вот цепочка:

- были челы которые хотели "удобно" моделирова процессы (например ядерный взрыв просчитывать). Для этого им показалось удобно запихнуть каждый отдельный процесс (субрутину) в отдельную сущность языковую. Так появился язык Симула (от слова симуляции). Объекты были и до этого, как и классы (классы Хоар ввел). Это больше походило не на инстансы классов как в плюсах или джаве а на замыкания в js.
- другие челы курили травку в кампусе с челами которые пилили ArpaNet и в целом распределенными вычислениями занимались. Один из этих челов так сложилось что был микробиолог и ему понравилась идея масштабирования систем как биологических клеток. Когда его в 68-ом спросили че он такое мутит он на тот момент не оч понимал и сам потому сказал "это ООП, отъебись".
- потом Джобс и Гейц повзаимоствовали наработки Ксерокс (которая платила за банкет Алана Кея). Все кроме смолтака им отдали (потому что даже ксерокс понимал коммерческий профит от смолтака). Джобсу это все так понравилось что он спиздил это и сделал objective-c. А другой перец фапал на симулу и сделал C with classes что бы хоть чуть чуть модули нормально в си делать. Потом это переименовали в плюсы.
- где-то между всем этим появился такой чел как Карл Хьюит который помог Алану разобраться что самое крутое в его языке это сообщения - мол до этого тоже были схожие идеи но Карл это дело сформулировал как модель вычислений (actor model).
- Потом была коммерческая версия smaltalk которая была популярна но которой преподавали как фортрану
- потом Sun поняли что продавать железо удобнее и выгоднее когда ты продаешь еще и платформу. Они попытались с ксероксом смолтак продвинуть но ксерокс настаивала на платной лицензии на компилятор. Это шло в разрез с планами и быстро накидали джаву на базе другого языка. Так джава начала доминировать на рынке.

В итоге имеем - бесполезную аббривиатуру ООП (потому что можно показать пальцем на Си и объекты компиляции и в целом с натяжкой сказать что там ООП). И появились более интересные идеи Алана на тему "большие объект как независимые процессы и обмен сообщениями". Тут ценность была именно в рантайме а не в самом языке (синтаксис языка был вдохновлен лиспом изначально, что бы быть максимально простым и проповедовал emergence. Условия там тоже были отправкой сообщений)). Есть еще истории о том что некоторые компании решили внедрять ООП под соусом "сначала процедурно попишите а потом научитесь" а когда научились то уже было столько всего написано что в целом бесполезно было что-то с этим делать. Ну и дальше количество программистов увеличивается в двое раз в 5 лет потому каждый момент времени у половины разработчиков не хватает опыта понять развитие идей. Обезьянка видит обезьянка повторяет. Потому и принципы и подходы переизобретаются раз в 10-15 лет.
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
Алексей Гевондян
опиши, на твой взгляд, границы ооп.
для этого нужно понимать ооп чуть глубже конструкции class, это не ко мне, это к фесору
источник

DT

Dmitriy Tkachenko in Software Design/Architecture/Zen
Зирэкс же
источник