Sergey
Dreamerinnoise
объясни мне почему процедурное и ооп это одно и тоже
Dreamerinnoise
я хочу послушать
Dreamerinnoise
ВНИКНУТЬ, может меня так же как вас вштырит
Anonymous
Sergey
Sergey
полностью погрузился в бэкэнд
Anonymous
Рынок у вас в Минске гораздо интереснее, решил перебраться
Sergey
Sergey
занятно, у меня знакомый сейчас по причине "в минске не прикольно" в Москву перебирается
Anonymous
По крайней мере интересных вакансий в Минске больше
Sergey
Anonymous
Anonymous
Это нормально для ноута ?
Sergey
Ну нееееееее. Не так. При процедурном подходе поф какие данные, одни и тежи процедуры могут применяться к разным данным. А при ООП данные на первом месте.
Процедурное программирование - это когда у нас есть данные и есть процедуры, которые с этими данными работают. Функциональное программирование можно воспринимать как подвид процедурного программирования с одной оговоркой - полное отсутствие стэйта, все данные имутабельны а от того отслеживать состояние не проблема (поскольку нет стэйта за ним не нужно следить).
У функционального программирования есть значительный минус - система без стэйта не может взаимодействовать с внешним миром, а потому хотя бы на границах системы стэйт все же появится. Сейчас это решается монадами и т.д. Но в былые времена проблема была банальной - память слишком дорогая что бы так ее транжирить, не то что в наши дни. Так что в угоду прагматичности пришлось жить со стэйтом.
Глобальный стэйт - глобальные проблемы, а потому Дэйкстра и друзья еще в 70-х предложил концепцию структурного программирования, лексические скоупы, изоляцию состояния и т.д. Появились языки вроде Симмулы, модулы и т.д.
Идея - разделить стэйт так, что бы он был изолирован и что бы только те процедуры, которым можно, работали с этим стэйтом. Появились концепции управления связанностью и тд.
Далее всякие Аналы Кеи придумали смолтак, где идея была в том, что весь стэйт разрезан на маленькие изолированные куски. Стэйт сам по себе стал деталью реализации и на первый план вышли сообщения между объектами, хранящими стэйт. Данные никогда не должны выходить за пределы объекта. Если у вас появился код, которому нужен кусок какого-то стэйта - вы пихаете этот код в объект где этот стэйт есть (принцип информационный эксперт).
То есть суть ООП сводилась не к данным, а к объектам, обмену сообщениями и late binding.
Sergey
ну а потом случился C++ и люди забыли что такое ООП
Sergey
теперь это то что было в симмуле - процедурное программирование с модулями в виде классов
Anonymous
ок проехали. Дела делать работу работать
Sergey
ну то есть идея "дянные + код" не именилась с 40-ых годов. Изменились подходы по работе со стэйтом, изменились подходы по выражению статической информации, появляются языки с удобными возможностями задания своих типов данных... но общая концепция не поменялась
Sergey
HTT хороший пример более-менее новых (лет 20) идей по работе с типами данных
Sergey
а так... аксиома эскобара
Dreamerinnoise
сохронил пасту
Sergey
хз есть ли смысл во всей этой инфе...
Sergey
пока у меня наблюдание такое - люди не понимают какую сложность несет в себе стэйт
Sergey
ну так люди ж думают что проблема в инструментах а не в них)
Sergey
все норм)
Oleg
Плохо написанный стейт несет много проблем. Но можно писать хороший стейт.
Sergey
Oleg
Нувыпонели
Sergey
короч еще в 70-х была чудная книжка
Sergey
Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
Sergey
вот там все ок
Sergey
и сейчас таких книжек я не знаю..
Oleg
Тем не менее ИТ совсем не умерло
Oleg
И развивается
Sergey
Sergey
лучше с каждой итерацией но всеравно по кругу
Oleg
Только стейт в одной и той же точке каждый раз разный
Oleg
Есть ещё принцип допусков
Sergey
Oleg
в смысле?
Ну в том что круг может он и круг, но в одной и той же точке круга, при повторном проходе, всё по разному
andrei
Ярослав
Слушай, ну иди уже пили на жквери, кто тебе мешает-то? Хоть на двоичном коде пили, чесслово. Лишь бы тебе было удобно. Надоело твои стенания по этому поводу читать. не нравятся современные тренды? Никто не заставляет тебя их придерживаться
Ярослав
На каком стеке работать - личное дело каждого. Если задача для бизнеса решена - бизнесу глубоко по барабану на чём написан твой код.
Sergey
> не нравятся современные тренды?
Sergey
очень показательная фраза
Ярослав
А разработчики на этот стек всегда найдутся.
Oleg
"Я оптимизировал этот код в 120 раз!" - "Хорошо, молодец, а теперь помоги мне настроить электронную почту"
Sergey
Sergey
каким образом knockout является заменой jquery?
Oleg
Вообще бутстрап с джейквери для прототипов очень ок.
Sergey
ну мол это то же самое что "react замена jquery"
Ярослав
Ок. Хорошо. Я считаю, что если есть возможность использовать встроенные в язык возможности вместо того, чтобы использовать стороннюю либу - то лучше выбрать первый вариант. Но всё это чистая вкусовщина.
Sergey
jquery - библиотека для работы с DOM. Если у тебя есть UI библиотека, устраняющая необходимость работы с DOM - то значит тебе не нужен jquery и это логично
Sergey
но это не значит что "jquery не нужен, в любой непонятной ситуации юзай реакт"
Sergey
или что-либо другое "трендовое"
Ярослав
Всё так
Sergey
с другой стороны, если тебе надо всего-лишь... ну не знаю... какие-то базовые вещи - сейчас острой необходимости в jquery нет
Ярослав
Просто не нужно пользовать инструмент на 3%
Oleg
ExtJS наше всё #4
Sergey
главное что бы работа с DOM каким быто нибыло образом была изолирована от всего остального
Ярослав
Oleg
😄
Sergey
Sergey
хотя если бы "дерево модулей" jquery можно было ушатать
Oleg
Популярные технологии выживают после окончания хайпа только потому что они заняли свою нишу
Oleg
Судя по тому что джейквери ещё жив - ниша у него очень хороша
Sergey
к слову - а jquery еще нельзя три шэйкингом заминифаить так что бы осталось только то что юзается?
Sergey
или это невозможно с учетом плагинов и архитектуры?
Sergey
p.s. давно не юзал jquery
Sergey
а если это невозможно - может есть что-то аналогичное?
Oleg
Куча клонов
Oleg
Которые не очень выживают
Sergey
ну а если я только под хром пишу?)
Oleg
Джейквери просто такого размера, который нужен